|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.baseline.ia32.Barriers
class Barriers
Class called from baseline compiler to generate architecture specific write barriers for garbage collectors. For baseline compiled methods, the write barrier calls methods of WriteBarrier.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.jikesrvm.ia32.RegisterConstants |
---|
RegisterConstants.FloatingPointMachineRegister, RegisterConstants.FPR, RegisterConstants.GPR, RegisterConstants.MachineRegister, RegisterConstants.MM, RegisterConstants.XMM |
Field Summary |
---|
Fields inherited from interface org.jikesrvm.ia32.BaselineConstants |
---|
BRIDGE_FRAME_EXTRA_SIZE, EBP_SAVE_OFFSET, EBX_SAVE_OFFSET, EDI_SAVE_OFFSET, FPU_SAVE_OFFSET, LG_WORDSIZE, S0, S1, SAVED_GPRS, SAVED_GPRS_FOR_SAVE_LS_REGISTERS, SP, STACKFRAME_FIRST_PARAMETER_OFFSET, STACKFRAME_REG_SAVE_OFFSET, T0, T0_int, T0_SAVE_OFFSET, T1, T1_int, T1_SAVE_OFFSET, TR, WORDSIZE, XMM_SAVE_OFFSET |
Fields inherited from interface org.jikesrvm.Constants |
---|
NOT_REACHED, REFLECTION_FPRS_BITS, REFLECTION_FPRS_MASK, REFLECTION_GPRS_BITS, REFLECTION_GPRS_MASK |
Fields inherited from interface org.jikesrvm.objectmodel.ThinLockConstants |
---|
TL_DEDICATED_U16_OFFSET, TL_DEDICATED_U16_SHIFT, TL_LOCK_COUNT_MASK, TL_LOCK_COUNT_SHIFT, TL_LOCK_COUNT_UNIT, TL_LOCK_ID_MASK, TL_LOCK_ID_SHIFT, TL_NUM_BITS_RC, TL_NUM_BITS_STAT, TL_NUM_BITS_TID, TL_STAT_BIASABLE, TL_STAT_FAT, TL_STAT_MASK, TL_STAT_SHIFT, TL_STAT_THIN, TL_THREAD_ID_MASK, TL_THREAD_ID_SHIFT, TL_UNLOCK_MASK |
Fields inherited from interface org.jikesrvm.objectmodel.TIBLayoutConstants |
---|
IMT_METHOD_SLOTS, NEEDS_DYNAMIC_LINK, TIB_ARRAY_ELEMENT_TIB_INDEX, TIB_DOES_IMPLEMENT_INDEX, TIB_FIRST_SPECIALIZED_METHOD_INDEX, TIB_FIRST_VIRTUAL_METHOD_INDEX, TIB_INTERFACE_DISPATCH_TABLE_INDEX, TIB_SUPERCLASS_IDS_INDEX, TIB_TYPE_INDEX |
Fields inherited from interface org.jikesrvm.HeapLayoutConstants |
---|
BAD_MAP_COMPRESSION, BOOT_IMAGE_CODE_END, BOOT_IMAGE_CODE_SIZE, BOOT_IMAGE_CODE_START, BOOT_IMAGE_DATA_END, BOOT_IMAGE_DATA_SIZE, BOOT_IMAGE_DATA_START, BOOT_IMAGE_END, BOOT_IMAGE_RMAP_END, BOOT_IMAGE_RMAP_START, MAX_BOOT_IMAGE_RMAP_SIZE, MAXIMUM_MAPPABLE |
Fields inherited from interface org.jikesrvm.ia32.ArchConstants |
---|
SSE2_BASE, SSE2_FULL |
Fields inherited from interface org.jikesrvm.ia32.RegisterConstants |
---|
ALL_FPRS, ALL_GPRS, EAX, EBP, EBX, ECX, EDI, EDX, ESI, ESP, FP0, FP1, FP2, FP3, FP4, FP5, FP6, FP7, INSTRUCTION_WIDTH, LG_INSTRUCTION_WIDTH, MM0, MM1, MM10, MM11, MM12, MM13, MM14, MM15, MM2, MM3, MM4, MM5, MM6, MM7, MM8, MM9, NATIVE_NONVOLATILE_FPRS, NATIVE_NONVOLATILE_GPRS, NATIVE_PARAMETER_FPRS, NATIVE_PARAMETER_GPRS, NATIVE_VOLATILE_FPRS, NATIVE_VOLATILE_GPRS, NONVOLATILE_FPRS, NONVOLATILE_GPRS, NUM_FPRS, NUM_GPRS, NUM_NONVOLATILE_FPRS, NUM_NONVOLATILE_GPRS, NUM_PARAMETER_FPRS, NUM_PARAMETER_GPRS, NUM_RETURN_FPRS, NUM_RETURN_GPRS, NUM_VOLATILE_FPRS, NUM_VOLATILE_GPRS, PARAMETER_FPRS, PARAMETER_GPRS, R0, R1, R10, R11, R12, R13, R14, R15, R2, R3, R4, R5, R6, R7, R8, R9, RETURN_FPRS, RETURN_GPRS, STACK_POINTER, THREAD_REGISTER, VOLATILE_FPRS, VOLATILE_GPRS, XMM0, XMM1, XMM10, XMM11, XMM12, XMM13, XMM14, XMM15, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7, XMM8, XMM9 |
Fields inherited from interface org.jikesrvm.ia32.TrapConstants |
---|
RVM_TRAP_BASE |
Constructor Summary | |
---|---|
Barriers()
|
Method Summary | |
---|---|
private static void |
arayStoreBarrierHelper(ArchitectureSpecific.Assembler asm,
BaselineCompilerImpl compiler,
NormalMethod barrier)
Helper function for primitive array stores |
(package private) static void |
compileArrayLoadBarrier(ArchitectureSpecific.Assembler asm,
boolean pushResult)
|
(package private) static void |
compileArrayStoreBarrier(ArchitectureSpecific.Assembler asm)
Generate code to perform an array store barrier. |
(package private) static void |
compileArrayStoreBarrierByte(ArchitectureSpecific.Assembler asm,
BaselineCompilerImpl compiler)
Generate code to perform a bastore barrier. |
(package private) static void |
compileArrayStoreBarrierChar(ArchitectureSpecific.Assembler asm,
BaselineCompilerImpl compiler)
Generate code to perform a castore barrier. |
(package private) static void |
compileArrayStoreBarrierDouble(ArchitectureSpecific.Assembler asm,
BaselineCompilerImpl compiler)
Generate code to perform a dastore barrier. |
(package private) static void |
compileArrayStoreBarrierFloat(ArchitectureSpecific.Assembler asm,
BaselineCompilerImpl compiler)
Generate code to perform a fastore barrier. |
(package private) static void |
compileArrayStoreBarrierInt(ArchitectureSpecific.Assembler asm,
BaselineCompilerImpl compiler)
Generate code to perform a iastore barrier. |
(package private) static void |
compileArrayStoreBarrierLong(ArchitectureSpecific.Assembler asm,
BaselineCompilerImpl compiler)
Generate code to perform a lastore barrier. |
(package private) static void |
compileArrayStoreBarrierShort(ArchitectureSpecific.Assembler asm,
BaselineCompilerImpl compiler)
Generate code to perform a sastore barrier. |
(package private) static void |
compileGetfieldBarrier(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR reg,
int locationMetadata)
|
(package private) static void |
compileGetfieldBarrierImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata)
|
(package private) static void |
compileGetstaticBarrier(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR reg,
int locationMetadata)
|
(package private) static void |
compileGetstaticBarrierImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata)
|
(package private) static void |
compileModifyCheck(ArchitectureSpecific.Assembler asm,
int offset)
|
(package private) static void |
compilePutfieldBarrier(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata)
Generate code to perform a putfield barrier. |
(package private) static void |
compilePutfieldBarrierAddress(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a unboxed Address field. |
(package private) static void |
compilePutfieldBarrierAddressImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a unboxed Address field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierBoolean(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a boolean field. |
(package private) static void |
compilePutfieldBarrierBooleanImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a boolean field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierByte(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a byte field. |
(package private) static void |
compilePutfieldBarrierByteImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a byte field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierChar(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a char field. |
(package private) static void |
compilePutfieldBarrierCharImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a char field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierDouble(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a double field. |
(package private) static void |
compilePutfieldBarrierDoubleImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a double field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierExtent(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a unboxed Extent field. |
(package private) static void |
compilePutfieldBarrierExtentImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a unboxed Extent field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierFloat(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a float field. |
(package private) static void |
compilePutfieldBarrierFloatImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a float field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata)
Generate code to perform a putfield barrier when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierInt(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a int field. |
(package private) static void |
compilePutfieldBarrierIntImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a int field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierLong(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a long field. |
(package private) static void |
compilePutfieldBarrierLongImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a long field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierOffset(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a unboxed Offset field. |
(package private) static void |
compilePutfieldBarrierOffsetImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a unboxed Offset field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierShort(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a short field. |
(package private) static void |
compilePutfieldBarrierShortImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a short field when the field is at a known offset. |
(package private) static void |
compilePutfieldBarrierWord(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR offset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a unboxed Word field. |
(package private) static void |
compilePutfieldBarrierWordImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata,
BaselineCompilerImpl compiler)
Generate code to perform a putfield barrier for a unboxed Word field when the field is at a known offset. |
(package private) static void |
compilePutstaticBarrier(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR reg,
int locationMetadata)
|
(package private) static void |
compilePutstaticBarrierImm(ArchitectureSpecific.Assembler asm,
Offset fieldOffset,
int locationMetadata)
|
private static void |
genNullCheck(ArchitectureSpecific.Assembler asm,
RegisterConstants.GPR objRefReg)
Generate an implicit null check by loading the TIB of the given object. |
private static void |
putfieldStoreBarrierHelper(ArchitectureSpecific.Assembler asm,
BaselineCompilerImpl compiler,
Offset fieldOffset,
int locationMetadata,
NormalMethod barrier)
Private helper method for primitive putfields |
private static void |
putfieldStoreBarrierHelper(ArchitectureSpecific.Assembler asm,
BaselineCompilerImpl compiler,
RegisterConstants.GPR offset,
int locationMetadata,
NormalMethod barrier)
Private helper method for primitive putfields |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
Barriers()
Method Detail |
---|
static void compileArrayStoreBarrier(ArchitectureSpecific.Assembler asm)
asm
- the assembler to generate the code inprivate static void arayStoreBarrierHelper(ArchitectureSpecific.Assembler asm, BaselineCompilerImpl compiler, NormalMethod barrier)
asm
- the assembler to generate the code incompiler
- the compiler instance to ensure correct parameter passingbarrier
- the designated barrierstatic void compileArrayStoreBarrierByte(ArchitectureSpecific.Assembler asm, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code incompiler
- the compiler instance to ensure correct parameter passingstatic void compileArrayStoreBarrierChar(ArchitectureSpecific.Assembler asm, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code incompiler
- the compiler instance to ensure correct parameter passingstatic void compileArrayStoreBarrierDouble(ArchitectureSpecific.Assembler asm, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code incompiler
- the compiler instance to ensure correct parameter passingstatic void compileArrayStoreBarrierFloat(ArchitectureSpecific.Assembler asm, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code incompiler
- the compiler instance to ensure correct parameter passingstatic void compileArrayStoreBarrierInt(ArchitectureSpecific.Assembler asm, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code incompiler
- the compiler instance to ensure correct parameter passingstatic void compileArrayStoreBarrierLong(ArchitectureSpecific.Assembler asm, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code incompiler
- the compiler instance to ensure correct parameter passingstatic void compileArrayStoreBarrierShort(ArchitectureSpecific.Assembler asm, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code incompiler
- the compiler instance to ensure correct parameter passingstatic void compilePutfieldBarrier(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationprivate static void putfieldStoreBarrierHelper(ArchitectureSpecific.Assembler asm, BaselineCompilerImpl compiler, RegisterConstants.GPR offset, int locationMetadata, NormalMethod barrier)
asm
- the assembler to generate the code incompiler
- the compiler instance to ensure correct parameter passingoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationbarrier
- the barrier method to callprivate static void putfieldStoreBarrierHelper(ArchitectureSpecific.Assembler asm, BaselineCompilerImpl compiler, Offset fieldOffset, int locationMetadata, NormalMethod barrier)
asm
- the assembler to generate the code incompiler
- the compiler instance to ensure correct parameter passingfieldOffset
- offset of the fieldlocationMetadata
- meta-data about the locationbarrier
- the barrier method to callstatic void compilePutfieldBarrierBoolean(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierBooleanImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierByte(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierByteImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierChar(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierCharImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierDouble(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierDoubleImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierFloat(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierFloatImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierInt(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierIntImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierLong(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierLongImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierShort(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierShortImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierWord(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierWordImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierAddress(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierAddressImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierExtent(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierExtentImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierOffset(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR offset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code inoffset
- the register holding the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutfieldBarrierOffsetImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata, BaselineCompilerImpl compiler)
asm
- the assembler to generate the code infieldOffset
- the offset of the fieldlocationMetadata
- meta-data about the locationstatic void compilePutstaticBarrier(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR reg, int locationMetadata)
static void compilePutstaticBarrierImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata)
static void compileArrayLoadBarrier(ArchitectureSpecific.Assembler asm, boolean pushResult)
static void compileGetfieldBarrier(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR reg, int locationMetadata)
static void compileGetfieldBarrierImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata)
static void compileGetstaticBarrier(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR reg, int locationMetadata)
static void compileGetstaticBarrierImm(ArchitectureSpecific.Assembler asm, Offset fieldOffset, int locationMetadata)
static void compileModifyCheck(ArchitectureSpecific.Assembler asm, int offset)
private static void genNullCheck(ArchitectureSpecific.Assembler asm, RegisterConstants.GPR objRefReg)
asm
- the assembler to generate intoobjRefReg
- the register containing the reference
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |