Package ghidra.pcode.emu.jit.gen.access
Interface AccessGen<JT extends JitType>
- Type Parameters:
JT- the JIT type of the operand
- All Known Subinterfaces:
ExportsLegAccessGen,MpAccessGen,SimpleAccessGen<T,JT>
- All Known Implementing Classes:
DoubleAccessGen,FloatAccessGen,IntAccessGen,LongAccessGen,MpIntAccessGen
public interface AccessGen<JT extends JitType>
-
Method Summary
Static MethodsModifier and TypeMethodDescriptionstatic <THIS extends JitCompiledPassage,N extends Emitter.Next>
Emitter<Emitter.Ent<N, Types.TInt>> genReadToBool(Emitter<N> em, Local<Types.TRef<THIS>> localThis, JitCodeGenerator<THIS> gen, Varnode vn) Emit bytecode to read the given varnode onto the stack as a p-code bool (JVM int)Lookup the generator for accessing variables for the given type and byte orderstatic MpIntAccessGenLookup the generator for accessing variables of multi-precision integer type and the given byte orderstatic <T extends Types.BPrim<?>,JT extends JitType.SimpleJitType<T, JT>>
SimpleAccessGen<T, JT> lookupSimple(Endian endian, JT type) Lookup the generator for accessing variables of simple types and the given byte order
-
Method Details
-
lookup
Lookup the generator for accessing variables for the given type and byte order- Parameters:
endian- the byte ordertype- the p-code type of the variable- Returns:
- the access generator
-
lookupSimple
static <T extends Types.BPrim<?>,JT extends JitType.SimpleJitType<T, SimpleAccessGen<T,JT>> JT> lookupSimple(Endian endian, JT type) Lookup the generator for accessing variables of simple types and the given byte order- Type Parameters:
T- the JVM type of the variableJT- the p-code type of the variable- Parameters:
endian- the byte ordertype- the p-code type of the variable- Returns:
- the access generator
-
lookupMp
Lookup the generator for accessing variables of multi-precision integer type and the given byte order- Parameters:
endian- the byte order- Returns:
- the access generator
-
genReadToBool
static <THIS extends JitCompiledPassage,N extends Emitter.Next> Emitter<Emitter.Ent<N,Types.TInt>> genReadToBool(Emitter<N> em, Local<Types.TRef<THIS>> localThis, JitCodeGenerator<THIS> gen, Varnode vn) Emit bytecode to read the given varnode onto the stack as a p-code bool (JVM int)- Type Parameters:
THIS- the type of the generated passageN- the incoming stack- Parameters:
em- the emitter typed with the incoming stacklocalThis- a handle to the local holding thethisreferencegen- the code generatorvn- the varnode- Returns:
- the emitter typed with the resulting stack, i.e., having pushed the value
-