|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object joeq.Allocator.CodeAllocator.x86CodeBuffer joeq.Bootstrap.BootstrapCodeAllocator.Bootstrapx86CodeBuffer
public class BootstrapCodeAllocator.Bootstrapx86CodeBuffer
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()
|
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 |
getCurrentAddress()
Returns the current address in this code buffer. |
int |
getCurrentOffset()
Returns the current offset in this code buffer. |
int |
getEntryIndex()
|
CodeAddress |
getStartAddress()
Returns the current address in this code buffer. |
int |
getStartIndex()
|
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 getStartIndex()
public int getEntryIndex()
public int getCurrentOffset()
CodeAllocator.x86CodeBuffer
getCurrentOffset
in class CodeAllocator.x86CodeBuffer
public CodeAddress getStartAddress()
CodeAllocator.x86CodeBuffer
getStartAddress
in class CodeAllocator.x86CodeBuffer
public CodeAddress getCurrentAddress()
CodeAllocator.x86CodeBuffer
getCurrentAddress
in class CodeAllocator.x86CodeBuffer
public void setEntrypoint()
CodeAllocator.x86CodeBuffer
setEntrypoint
in class CodeAllocator.x86CodeBuffer
public void checkSize()
public void add1(byte i)
CodeAllocator.x86CodeBuffer
add1
in class CodeAllocator.x86CodeBuffer
i
- the byte to addpublic void add2_endian(int i)
CodeAllocator.x86CodeBuffer
add2_endian
in class CodeAllocator.x86CodeBuffer
i
- the little-endian value to addpublic void add2(int i)
CodeAllocator.x86CodeBuffer
add2
in class CodeAllocator.x86CodeBuffer
i
- the big-endian value to addpublic void add3(int i)
CodeAllocator.x86CodeBuffer
add3
in class CodeAllocator.x86CodeBuffer
i
- the big-endian value to addpublic void add4_endian(int i)
CodeAllocator.x86CodeBuffer
add4_endian
in class CodeAllocator.x86CodeBuffer
i
- the little-endian value to addpublic byte get1(int k)
CodeAllocator.x86CodeBuffer
get1
in class CodeAllocator.x86CodeBuffer
k
- offset of byte to return
public int get4_endian(int k)
CodeAllocator.x86CodeBuffer
get4_endian
in class CodeAllocator.x86CodeBuffer
k
- offset of little-endian 4 bytes to return
public void put1(int k, byte instr)
CodeAllocator.x86CodeBuffer
put1
in class CodeAllocator.x86CodeBuffer
k
- offset of byte to setinstr
- value to set it topublic void put4_endian(int k, int instr)
CodeAllocator.x86CodeBuffer
put4_endian
in class CodeAllocator.x86CodeBuffer
k
- 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.x86CodeBuffer
m
- 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 |