Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions src/coreclr/vm/amd64/cgencpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@ EXTERN_C void FastCallFinalizeWorker(Object *obj, PCODE funcPtr);
// Also in CorCompile.h, FnTableAccess.h
#define USE_INDIRECT_CODEHEADER // use CodeHeader, RealCodeHeader construct

#define HAS_NDIRECT_IMPORT_PRECODE 1
#define HAS_FIXUP_PRECODE 1
#define HAS_NDIRECT_IMPORT_PRECODE
#define HAS_FIXUP_PRECODE

// ThisPtrRetBufPrecode one is necessary for closed delegates over static methods with return buffer
#define HAS_THISPTR_RETBUF_PRECODE 1
#define HAS_THISPTR_RETBUF_PRECODE

#define CODE_SIZE_ALIGN 16 // must alloc code blocks on 8-byte boundaries; for perf reasons we use 16 byte boundaries
#define CACHE_LINE_SIZE 64 // Current AMD64 processors have 64-byte cache lines as per AMD64 optimization manual
Expand All @@ -66,8 +66,8 @@ EXTERN_C void FastCallFinalizeWorker(Object *obj, PCODE funcPtr);
#define ENREGISTERED_RETURNTYPE_INTEGER_MAXSIZE 16 // bytes
#define ENREGISTERED_PARAMTYPE_MAXSIZE 16 // bytes
#define ENREGISTERED_RETURNTYPE_MAXSIZE 16 // bytes
#define CALLDESCR_ARGREGS 1 // CallDescrWorker has ArgumentRegister parameter
#define CALLDESCR_FPARGREGS 1 // CallDescrWorker has FloatArgumentRegisters parameter
#define CALLDESCR_ARGREGS // CallDescrWorker has ArgumentRegister parameter
#define CALLDESCR_FPARGREGS // CallDescrWorker has FloatArgumentRegisters parameter
#else
#define ENREGISTERED_RETURNTYPE_INTEGER_MAXSIZE 8 // bytes
#define ENREGISTERED_PARAMTYPE_MAXSIZE 8 // bytes
Expand Down
12 changes: 6 additions & 6 deletions src/coreclr/vm/arm/cgencpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,20 +58,20 @@ EXTERN_C void checkStack(void);
#define JUMP_ALLOCATE_SIZE 8 // # bytes to allocate for a jump instruction
#define BACK_TO_BACK_JUMP_ALLOCATE_SIZE 8 // # bytes to allocate for a back to back jump instruction

#define HAS_COMPACT_ENTRYPOINTS 1
#define HAS_COMPACT_ENTRYPOINTS

#define HAS_NDIRECT_IMPORT_PRECODE 1
#define HAS_NDIRECT_IMPORT_PRECODE

#define USE_INDIRECT_CODEHEADER


EXTERN_C void getFPReturn(int fpSize, INT64 *pRetVal);
EXTERN_C void setFPReturn(int fpSize, INT64 retVal);

#define HAS_FIXUP_PRECODE 1
#define HAS_FIXUP_PRECODE

// ThisPtrRetBufPrecode one is necessary for closed delegates over static methods with return buffer
#define HAS_THISPTR_RETBUF_PRECODE 1
#define HAS_THISPTR_RETBUF_PRECODE

#define CODE_SIZE_ALIGN 4
#define CACHE_LINE_SIZE 32 // As per Intel Optimization Manual the cache line size is 32 bytes
Expand All @@ -80,8 +80,8 @@ EXTERN_C void setFPReturn(int fpSize, INT64 retVal);
#define ENREGISTERED_RETURNTYPE_MAXSIZE 32 // bytes (maximum HFA size is 4 doubles)
#define ENREGISTERED_RETURNTYPE_INTEGER_MAXSIZE 4 // bytes

#define CALLDESCR_ARGREGS 1 // CallDescrWorker has ArgumentRegister parameter
#define CALLDESCR_FPARGREGS 1 // CallDescrWorker has FloatArgumentRegisters parameter
#define CALLDESCR_ARGREGS // CallDescrWorker has ArgumentRegister parameter
#define CALLDESCR_FPARGREGS // CallDescrWorker has FloatArgumentRegisters parameter

// Given a return address retrieved during stackwalk,
// this is the offset by which it should be decremented to arrive at the callsite.
Expand Down
12 changes: 6 additions & 6 deletions src/coreclr/vm/arm64/cgencpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ extern PCODE GetPreStubEntryPoint();
#define JUMP_ALLOCATE_SIZE 16 // # bytes to allocate for a jump instruction
#define BACK_TO_BACK_JUMP_ALLOCATE_SIZE 16 // # bytes to allocate for a back to back jump instruction

#define HAS_NDIRECT_IMPORT_PRECODE 1
#define HAS_NDIRECT_IMPORT_PRECODE

#define USE_INDIRECT_CODEHEADER

#define HAS_FIXUP_PRECODE 1
#define HAS_FIXUP_PRECODE

// ThisPtrRetBufPrecode one is necessary for closed delegates over static methods with return buffer
#define HAS_THISPTR_RETBUF_PRECODE 1
#define HAS_THISPTR_RETBUF_PRECODE

#define CODE_SIZE_ALIGN 8
#define CACHE_LINE_SIZE 64
Expand All @@ -53,9 +53,9 @@ extern PCODE GetPreStubEntryPoint();
#define ENREGISTERED_RETURNTYPE_INTEGER_MAXSIZE 16 // bytes (two int registers: x0 and x1)
#define ENREGISTERED_PARAMTYPE_MAXSIZE 16 // bytes (max value type size that can be passed by value)

#define CALLDESCR_ARGREGS 1 // CallDescrWorker has ArgumentRegister parameter
#define CALLDESCR_FPARGREGS 1 // CallDescrWorker has FloatArgumentRegisters parameter
#define CALLDESCR_RETBUFFARGREG 1 // CallDescrWorker has RetBuffArg parameter that's separate from arg regs
#define CALLDESCR_ARGREGS // CallDescrWorker has ArgumentRegister parameter
#define CALLDESCR_FPARGREGS // CallDescrWorker has FloatArgumentRegisters parameter
#define CALLDESCR_RETBUFFARGREG // CallDescrWorker has RetBuffArg parameter that's separate from arg regs

#define FLOAT_REGISTER_SIZE 16 // each register in FloatArgumentRegisters is 16 bytes.

Expand Down
8 changes: 4 additions & 4 deletions src/coreclr/vm/i386/cgencpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,15 @@ EXTERN_C void SinglecastDelegateInvokeStub();
#define USE_INDIRECT_CODEHEADER
#endif // FEATURE_EH_FUNCLETS

#define HAS_COMPACT_ENTRYPOINTS 1
#define HAS_COMPACT_ENTRYPOINTS

// Needed for PInvoke inlining in ngened images
#define HAS_NDIRECT_IMPORT_PRECODE 1
#define HAS_NDIRECT_IMPORT_PRECODE

#define HAS_FIXUP_PRECODE 1
#define HAS_FIXUP_PRECODE

// ThisPtrRetBufPrecode one is necessary for closed delegates over static methods with return buffer
#define HAS_THISPTR_RETBUF_PRECODE 1
#define HAS_THISPTR_RETBUF_PRECODE

#define CODE_SIZE_ALIGN 4
#define CACHE_LINE_SIZE 32 // As per Intel Optimization Manual the cache line size is 32 bytes
Expand Down
12 changes: 6 additions & 6 deletions src/coreclr/vm/loongarch64/cgencpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,15 @@ extern PCODE GetPreStubEntryPoint();
#define JUMP_ALLOCATE_SIZE 40 // # bytes to allocate for a jump instruction
#define BACK_TO_BACK_JUMP_ALLOCATE_SIZE 40 // # bytes to allocate for a back to back jump instruction

#define HAS_NDIRECT_IMPORT_PRECODE 1
#define HAS_NDIRECT_IMPORT_PRECODE

#define USE_INDIRECT_CODEHEADER

#define HAS_FIXUP_PRECODE 1
#define HAS_FIXUP_PRECODE_CHUNKS 1
#define HAS_FIXUP_PRECODE
#define HAS_FIXUP_PRECODE_CHUNKS

// ThisPtrRetBufPrecode one is necessary for closed delegates over static methods with return buffer
#define HAS_THISPTR_RETBUF_PRECODE 1
#define HAS_THISPTR_RETBUF_PRECODE

#define CODE_SIZE_ALIGN 8
#define CACHE_LINE_SIZE 64
Expand All @@ -52,8 +52,8 @@ extern PCODE GetPreStubEntryPoint();
#define ENREGISTERED_RETURNTYPE_INTEGER_MAXSIZE 16 // bytes (two int registers: v0 and v1)
#define ENREGISTERED_PARAMTYPE_MAXSIZE 16 // bytes (max value type size that can be passed by value)

#define CALLDESCR_ARGREGS 1 // CallDescrWorker has ArgumentRegister parameter
#define CALLDESCR_FPARGREGS 1 // CallDescrWorker has FloatArgumentRegisters parameter
#define CALLDESCR_ARGREGS // CallDescrWorker has ArgumentRegister parameter
#define CALLDESCR_FPARGREGS // CallDescrWorker has FloatArgumentRegisters parameter

#define FLOAT_REGISTER_SIZE 16 // each register in FloatArgumentRegisters is 16 bytes. Loongarch size is ??

Expand Down