Record Class FieldForExitSlot
- Record Components:
- target- the target address-contextreg pair of the branch exiting via this slot
- All Implemented Interfaces:
- FieldReq,- InstanceFieldReq
JitCompiledPassage.ExitSlot.
 
 
 One of these is allocated per JitPassage.ExtBranch.to(). At run time, the first time a branch is
 encountered from this passage to the given target, the slot calls
 getEntry(target) and keeps the reference. Each
 subsequent encounter uses the kept reference. This reference is what gets returned by
 JitCompiledPassage.run(int), so now the thread already has in hand the next
 JitCompiledPassage.EntryPoint to execute.
- 
Constructor SummaryConstructorsConstructorDescriptionFieldForExitSlot(JitPassage.AddrCtx target) Creates an instance of aFieldForExitSlotrecord class.
- 
Method SummaryModifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.voidgenerateInitCode(JitCodeGenerator gen, org.objectweb.asm.ClassVisitor cv, org.objectweb.asm.MethodVisitor iv) Emit the field declaration and its initialization bytecodevoidgenerateLoadCode(JitCodeGenerator gen, org.objectweb.asm.MethodVisitor rv) Emit code to load the field onto the JVM stackfinal inthashCode()Returns a hash code value for this object.name()Derive a suitable name for the fieldtarget()Returns the value of thetargetrecord component.final StringtoString()Returns a string representation of this record class.
- 
Constructor Details- 
FieldForExitSlotCreates an instance of aFieldForExitSlotrecord class.- Parameters:
- target- the value for the- targetrecord component
 
 
- 
- 
Method Details- 
nameDescription copied from interface:FieldReqDerive a suitable name for the field
- 
generateInitCodepublic void generateInitCode(JitCodeGenerator gen, org.objectweb.asm.ClassVisitor cv, org.objectweb.asm.MethodVisitor iv) Emit the field declaration and its initialization bytecodeThe declaration is emitted into the class definition, and the initialization code is emitted into the class constructor. Consider the target (ram:00401234,ctx=80000000). The declaration is equivalent to:private final JitCompiledPassage.ExitSlotexit_401234_80000000;And the initialization is equivalent to: exit_401234_80000000 = createExitSlot(0x401234, CTX_80000000);Note that this method will ensure the CTX_...field is allocated and loads its value as needed.- Specified by:
- generateInitCodein interface- InstanceFieldReq
- Parameters:
- gen- the code generator
- cv- the visitor for the class definition
- iv- the visitor for the class constructor
 
- 
generateLoadCodeDescription copied from interface:FieldReqEmit code to load the field onto the JVM stack- Specified by:
- generateLoadCodein interface- FieldReq
- Parameters:
- gen- the code generator
- rv- the visitor often for the- runmethod, but could be the static initializer or constructor
 
- 
toStringReturns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
- 
hashCodepublic final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
- 
equalsIndicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object).
- 
targetReturns the value of thetargetrecord component.- Returns:
- the value of the targetrecord component
 
 
-