summaryrefslogtreecommitdiff
path: root/src/classlibnative
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2019-01-20 08:16:44 -0800
committerGitHub <noreply@github.com>2019-01-20 08:16:44 -0800
commit170854b92017d709bc82d7631c6cb33dd7443078 (patch)
treee4d216f1b1be6d9207644e160f86af8846c02577 /src/classlibnative
parent614966d1e179c32ce85df2791102847128390ca6 (diff)
downloadcoreclr-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.cpp16
-rw-r--r--src/classlibnative/bcltype/arraynative.h3
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);