Skip to content

Commit

Permalink
Introduce readObject
Browse files Browse the repository at this point in the history
  • Loading branch information
EgorBo committed Apr 21, 2023
1 parent d40f326 commit 160fedd
Show file tree
Hide file tree
Showing 20 changed files with 461 additions and 161 deletions.
7 changes: 7 additions & 0 deletions src/coreclr/inc/corinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -3244,6 +3244,13 @@ class ICorDynamicInfo : public ICorStaticInfo
bool ignoreMovableObjects = true
) = 0;

virtual bool readObject(
CORINFO_OBJECT_HANDLE obj,
uint8_t* buffer,
int bufferSize,
int valueOffset
) = 0;

// If pIsSpeculative is NULL, return the class handle for the value of ref-class typed
// static readonly fields, if there is a unique location for the static and the class
// is already initialized.
Expand Down
6 changes: 6 additions & 0 deletions src/coreclr/inc/icorjitinfoimpl_generated.h
Original file line number Diff line number Diff line change
Expand Up @@ -643,6 +643,12 @@ bool getReadonlyStaticFieldValue(
int valueOffset,
bool ignoreMovableObjects) override;

bool readObject(
CORINFO_OBJECT_HANDLE obj,
uint8_t* buffer,
int bufferSize,
int valueOffset) override;

CORINFO_CLASS_HANDLE getStaticFieldCurrentClass(
CORINFO_FIELD_HANDLE field,
bool* pIsSpeculative) override;
Expand Down
10 changes: 5 additions & 5 deletions src/coreclr/inc/jiteeversionguid.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ typedef const GUID *LPCGUID;
#define GUID_DEFINED
#endif // !GUID_DEFINED

constexpr GUID JITEEVersionIdentifier = { /* 236d7997-3d71-45f9-b7d7-5241ad89a56f */
0x236d7997,
0x3d71,
0x45f9,
{ 0xb7, 0xd7, 0x52, 0x41, 0xad, 0x89, 0xa5, 0x6f }
constexpr GUID JITEEVersionIdentifier = { /* 7658c1e7-a363-4ccf-a1a4-1486bac7b5c8 */
0x7658c1e7,
0xa363,
0x4ccf,
{ 0xa1, 0xa4, 0x14, 0x86, 0xba, 0xc7, 0xb5, 0xc8 }
};

//////////////////////////////////////////////////////////////////////////////////////////////////////////
Expand Down
1 change: 1 addition & 0 deletions src/coreclr/jit/ICorJitInfo_names_generated.h
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ DEF_CLR_API(canAccessFamily)
DEF_CLR_API(isRIDClassDomainID)
DEF_CLR_API(getClassDomainID)
DEF_CLR_API(getReadonlyStaticFieldValue)
DEF_CLR_API(readObject)
DEF_CLR_API(getStaticFieldCurrentClass)
DEF_CLR_API(getVarArgsHandle)
DEF_CLR_API(canGetVarArgsHandle)
Expand Down
12 changes: 12 additions & 0 deletions src/coreclr/jit/ICorJitInfo_wrapper_generated.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1535,6 +1535,18 @@ bool WrapICorJitInfo::getReadonlyStaticFieldValue(
return temp;
}

bool WrapICorJitInfo::readObject(
CORINFO_OBJECT_HANDLE obj,
uint8_t* buffer,
int bufferSize,
int valueOffset)
{
API_ENTER(readObject);
bool temp = wrapHnd->readObject(obj, buffer, bufferSize, valueOffset);
API_LEAVE(readObject);
return temp;
}

CORINFO_CLASS_HANDLE WrapICorJitInfo::getStaticFieldCurrentClass(
CORINFO_FIELD_HANDLE field,
bool* pIsSpeculative)
Expand Down
Loading

0 comments on commit 160fedd

Please sign in to comment.