summaryrefslogtreecommitdiff
path: root/src/vm/amd64/cgencpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/amd64/cgencpu.h')
-rw-r--r--src/vm/amd64/cgencpu.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vm/amd64/cgencpu.h b/src/vm/amd64/cgencpu.h
index 769f4029ee..2d4dce0e6e 100644
--- a/src/vm/amd64/cgencpu.h
+++ b/src/vm/amd64/cgencpu.h
@@ -57,6 +57,7 @@ EXTERN_C void FastCallFinalizeWorker(Object *obj, PCODE funcPtr);
//#define HAS_REMOTING_PRECODE 1 // TODO: Implement
#define HAS_FIXUP_PRECODE 1
#define HAS_FIXUP_PRECODE_CHUNKS 1
+#define FIXUP_PRECODE_PREALLOCATE_DYNAMIC_METHOD_JUMP_STUBS 1
// ThisPtrRetBufPrecode one is necessary for closed delegates over static methods with return buffer
#define HAS_THISPTR_RETBUF_PRECODE 1
@@ -381,6 +382,9 @@ void EncodeLoadAndJumpThunk (LPBYTE pBuffer, LPVOID pv, LPVOID pTarget);
// Get Rel32 destination, emit jumpStub if necessary
INT32 rel32UsingJumpStub(INT32 UNALIGNED * pRel32, PCODE target, MethodDesc *pMethod, LoaderAllocator *pLoaderAllocator = NULL);
+// Get Rel32 destination, emit jumpStub if necessary into a preallocated location
+INT32 rel32UsingPreallocatedJumpStub(INT32 UNALIGNED * pRel32, PCODE target, PCODE jumpStubAddr);
+
void emitCOMStubCall (ComCallMethodDesc *pCOMMethod, PCODE target);
void emitJump(LPBYTE pBuffer, LPVOID target);