General execution support
[Runtime support]


Detailed Description

Note:
Most of 'rt_' functions here (except of rt_check_method) expect that the method passed as argument was indeed compiled by the Jitrino.JET.

If this condition is not met, behaviour is unpredictable.


Functions

bool Jitrino::Jet.rt_check_method (JIT_Handle jit, Method_Handle method)
 Checks whether a given method was compiled by the Jitrino.JET.
void Jitrino::Jet.rt_unwind (JIT_Handle jit, Method_Handle method, JitFrameContext *context)
 'Unwinds' stack for a given method.
void Jitrino::Jet.rt_enum (JIT_Handle jit, Method_Handle method, GC_Enumeration_Handle henum, JitFrameContext *context)
 Enumerates root set for a given method.
void Jitrino::Jet.rt_fix_handler_context (JIT_Handle jit, Method_Handle method, JitFrameContext *context)
 'Fixes' a catch handler context to prepare for the control to be transferred to the handler.
Boolean Jitrino::Jet.rt_is_soe_area (JIT_Handle jit, Method_Handle method, const JitFrameContext *context)
 Returns 'TRUE' if EIP referenced by context points to SOE checking area of the method.
void * Jitrino::Jet.rt_get_address_of_this (JIT_Handle jit, Method_Handle method, const JitFrameContext *context)
 Returns address of 'this' argument for the given method.
void Jitrino::Jet.rt_native2bc (JIT_Handle jit, Method_Handle method, const void *ip, unsigned short *pbc_pc)
 Finds PC for a given IP.
void Jitrino::Jet.rt_bc2native (JIT_Handle jit, Method_Handle method, unsigned short bc_pc, void **pip)
 Finds IP for a given PC.


Function Documentation

bool Jitrino.Jet.rt_check_method ( JIT_Handle  jit,
Method_Handle  method 
)

Checks whether a given method was compiled by the Jitrino.JET.

Parameters:
jit - JIT handle
method - a handle of a method to be checked
Returns:
true - if the method was compiled by Jitrino.JET, false otherwise.

void Jitrino.Jet.rt_unwind ( JIT_Handle  jit,
Method_Handle  method,
JitFrameContext *  context 
)

'Unwinds' stack for a given method.

Speaking loosely, the 'unwinding' means 'to perform a return' from the given method. The rt_unwind function updates JitFrameContext:

Parameters:
jit - JIT handle
method - method handle
context - a pointer to the context to be updated

void Jitrino.Jet.rt_enum ( JIT_Handle  jit,
Method_Handle  method,
GC_Enumeration_Handle  henum,
JitFrameContext *  context 
)

Enumerates root set for a given method.

Root set enumeration procedure lists all the objects currently in use by the given method.

Parameters:
jit - JIT handle
method - method handle
henum - garbage collector's enumeration handle
context - a pointer to context to be updated

void Jitrino.Jet.rt_fix_handler_context ( JIT_Handle  jit,
Method_Handle  method,
JitFrameContext *  context 
)

'Fixes' a catch handler context to prepare for the control to be transferred to the handler.

'fix handler context' for a given IP means to correct stack pointer, so a control can be transferred from the IP to appropriate handler in the same method.

Parameters:
jit - JIT handle
method - method handle
context - a pointer to context to be updated

Boolean Jitrino.Jet.rt_is_soe_area ( JIT_Handle  jit,
Method_Handle  method,
const JitFrameContext *  context 
)

Returns 'TRUE' if EIP referenced by context points to SOE checking area of the method.

void* Jitrino.Jet.rt_get_address_of_this ( JIT_Handle  jit,
Method_Handle  method,
const JitFrameContext *  context 
)

Returns address of 'this' argument for the given method.

Returns an address where the 'this' pointer is stored. This is normally used by VM for unwinding from the synchronized instance method, so VM can correctly perform MONITOREXIT * on the instance.

Parameters:
jit - JIT handle
method - method handle
context - pointer to context
Returns:
address of where 'this' is stored.

void Jitrino.Jet.rt_native2bc ( JIT_Handle  jit,
Method_Handle  method,
const void *  ip,
unsigned short *  pbc_pc 
)

Finds PC for a given IP.

The function finds Java byte code's program counter (PC) for a given address of a native instruction (IP).

Note:
If the given IP does not belong to the method, the behavior is not specified.
Parameters:
jit - JIT handle
method - method handle
ip - address of native instruction to find PC for
pbc_pc - where to store the found PC

void Jitrino.Jet.rt_bc2native ( JIT_Handle  jit,
Method_Handle  method,
unsigned short  bc_pc,
void **  pip 
)

Finds IP for a given PC.

The function finds and returns address of the first native instruction (IP) for a given Java byte code's program counter (PC).

Parameters:
jit - JIT handle
method - method handle
bc_pc - byte code program counter
pip - to store the found IP


Genereated on Tue Mar 11 19:25:39 2008 by Doxygen.

(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.