diff options
author | Jan Kotas <jkotas@microsoft.com> | 2019-01-20 08:16:44 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-20 08:16:44 -0800 |
commit | 170854b92017d709bc82d7631c6cb33dd7443078 (patch) | |
tree | e4d216f1b1be6d9207644e160f86af8846c02577 /src/classlibnative | |
parent | 614966d1e179c32ce85df2791102847128390ca6 (diff) | |
download | coreclr-170854b92017d709bc82d7631c6cb33dd7443078.tar.gz coreclr-170854b92017d709bc82d7631c6cb33dd7443078.tar.bz2 coreclr-170854b92017d709bc82d7631c6cb33dd7443078.zip |
Cleanup array related FCalls (#22097)
* Cleanup Array FCalls
* Disable outdated CoreFX tests
https://github.com/dotnet/corefx/pull/34700
Diffstat (limited to 'src/classlibnative')
-rw-r--r-- | src/classlibnative/bcltype/arraynative.cpp | 16 | ||||
-rw-r--r-- | src/classlibnative/bcltype/arraynative.h | 3 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/classlibnative/bcltype/arraynative.cpp b/src/classlibnative/bcltype/arraynative.cpp index a40aed5619..eb5cfd9340 100644 --- a/src/classlibnative/bcltype/arraynative.cpp +++ b/src/classlibnative/bcltype/arraynative.cpp @@ -133,21 +133,29 @@ FCIMPL1(INT64, ArrayNative::GetLongLengthNoRank, ArrayBase* array) FCIMPLEND -FCIMPL1(INT32, ArrayNative::GetDataPtrOffsetInternal, ArrayBase* array) +FCIMPL1(void*, ArrayNative::GetRawArrayData, ArrayBase* array) { FCALL_CONTRACT; VALIDATEOBJECT(array); - if (array == NULL) - FCThrow(kNullReferenceException); + _ASSERTE(array != NULL); - return ArrayBase::GetDataPtrOffset(array->GetMethodTable()); + return array->GetDataPtr(); } FCIMPLEND +FCIMPL1(INT32, ArrayNative::GetElementSize, ArrayBase* array) +{ + FCALL_CONTRACT; + + VALIDATEOBJECT(array); + _ASSERTE(array != NULL); + return (INT32)array->GetComponentSize(); +} +FCIMPLEND diff --git a/src/classlibnative/bcltype/arraynative.h b/src/classlibnative/bcltype/arraynative.h index 3b6d5495f3..8161deca83 100644 --- a/src/classlibnative/bcltype/arraynative.h +++ b/src/classlibnative/bcltype/arraynative.h @@ -26,7 +26,8 @@ class ArrayNative { public: static FCDECL1(INT32, GetRank, ArrayBase* pArray); - static FCDECL1(INT32, GetDataPtrOffsetInternal, ArrayBase* array); + static FCDECL1(void*, GetRawArrayData, ArrayBase* array); + static FCDECL1(INT32, GetElementSize, ArrayBase* array); static FCDECL2(INT32, GetLowerBound, ArrayBase* pArray, unsigned int dimension); static FCDECL2(INT32, GetUpperBound, ArrayBase* pArray, unsigned int dimension); static FCDECL1(INT32, GetLengthNoRank, ArrayBase* pArray); |