|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjoeq.Allocator.CodeAllocator.x86CodeBuffer
joeq.Allocator.RuntimeCodeAllocator.Runtimex86CodeBuffer
public class RuntimeCodeAllocator.Runtimex86CodeBuffer
| Method Summary | |
|---|---|
void |
add1(byte i)
Adds one byte to the end of this code buffer. |
void |
add2_endian(int i)
Adds two bytes (little-endian) to the end of this code buffer. |
void |
add2(int i)
Adds two bytes (big-endian) to the end of this code buffer. |
void |
add3(int i)
Adds three bytes (big-endian) to the end of this code buffer. |
void |
add4_endian(int i)
Adds four bytes (little-endian) to the end of this code buffer. |
jq_CompiledCode |
allocateCodeBlock(jq_Method m,
jq_TryCatch[] ex,
jq_BytecodeMap bcm,
ExceptionDeliverer exd,
int stackframesize,
List code_relocs,
List data_relocs)
Uses the code in this buffer, along with the arguments, to create a jq_CompiledCode object. |
void |
checkSize(int size)
|
byte |
get1(int k)
Gets the byte at the given offset in this code buffer. |
int |
get4_endian(int k)
Gets the (little-endian) 4 bytes at the given offset in this code buffer. |
CodeAddress |
getCurrent()
|
CodeAddress |
getCurrentAddress()
Returns the current address in this code buffer. |
int |
getCurrentOffset()
Returns the current offset in this code buffer. |
CodeAddress |
getEnd()
|
CodeAddress |
getEntry()
|
CodeAddress |
getStart()
|
CodeAddress |
getStartAddress()
Returns the current address in this code buffer. |
void |
put1(int k,
byte instr)
Sets the byte at the given offset to the given value. |
void |
put4_endian(int k,
int instr)
Sets the 4 bytes at the given offset to the given (little-endian) value. |
void |
setEntrypoint()
Sets the current address as the entrypoint to this code buffer. |
void |
skip(int nbytes)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public int getCurrentOffset()
CodeAllocator.x86CodeBuffer
getCurrentOffset in class CodeAllocator.x86CodeBufferpublic CodeAddress getStartAddress()
CodeAllocator.x86CodeBuffer
getStartAddress in class CodeAllocator.x86CodeBufferpublic CodeAddress getCurrentAddress()
CodeAllocator.x86CodeBuffer
getCurrentAddress in class CodeAllocator.x86CodeBufferpublic CodeAddress getStart()
public CodeAddress getCurrent()
public CodeAddress getEntry()
public CodeAddress getEnd()
public void setEntrypoint()
CodeAllocator.x86CodeBuffer
setEntrypoint in class CodeAllocator.x86CodeBufferpublic void checkSize(int size)
public void add1(byte i)
CodeAllocator.x86CodeBuffer
add1 in class CodeAllocator.x86CodeBufferi - the byte to addpublic void add2_endian(int i)
CodeAllocator.x86CodeBuffer
add2_endian in class CodeAllocator.x86CodeBufferi - the little-endian value to addpublic void add2(int i)
CodeAllocator.x86CodeBuffer
add2 in class CodeAllocator.x86CodeBufferi - the big-endian value to addpublic void add3(int i)
CodeAllocator.x86CodeBuffer
add3 in class CodeAllocator.x86CodeBufferi - the big-endian value to addpublic void add4_endian(int i)
CodeAllocator.x86CodeBuffer
add4_endian in class CodeAllocator.x86CodeBufferi - the little-endian value to addpublic byte get1(int k)
CodeAllocator.x86CodeBuffer
get1 in class CodeAllocator.x86CodeBufferk - offset of byte to return
public int get4_endian(int k)
CodeAllocator.x86CodeBuffer
get4_endian in class CodeAllocator.x86CodeBufferk - offset of little-endian 4 bytes to return
public void put1(int k,
byte instr)
CodeAllocator.x86CodeBuffer
put1 in class CodeAllocator.x86CodeBufferk - offset of byte to setinstr - value to set it to
public void put4_endian(int k,
int instr)
CodeAllocator.x86CodeBuffer
put4_endian in class CodeAllocator.x86CodeBufferk - offset of 4 bytes to setinstr - little-endian value to set it topublic void skip(int nbytes)
skip in class CodeAllocator.x86CodeBuffer
public jq_CompiledCode allocateCodeBlock(jq_Method m,
jq_TryCatch[] ex,
jq_BytecodeMap bcm,
ExceptionDeliverer exd,
int stackframesize,
List code_relocs,
List data_relocs)
CodeAllocator.x86CodeBuffer
allocateCodeBlock in class CodeAllocator.x86CodeBufferm - Java method of this code block, or null if noneex - exception handler table, or null if nonebcm - bytecode map, or null if noneexd - exception deliverer to use for this code, or null if nonestackframesize - size of stack frame in bytescode_relocs - list of code relocations for this code buffer, or
null if nonedata_relocs - list of data relocations for this code buffer, or
null if none
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||