jit_export_jpda.h File Reference


Enumerations

enum  OpenExeJpdaError {
  EXE_ERROR_NONE, EXE_ERROR_INVALID_METHODID, EXE_ERROR_INVALID_LOCATION, EXE_ERROR_TYPE_MISMATCH,
  EXE_ERROR_INVALID_SLOT, EXE_ERROR_UNSUPPORTED
}
 Elements of this enum denote various error conditions which can arise when working with the OpenExeJPDA interface. More...

Functions

JITEXPORT OpenExeJpdaError get_native_location_for_bc (JIT_Handle jit, Method_Handle method, uint16 bc_pc, NativeCodePtr *native_pc)
 Gets corresponding native code location for given bytecode location.
JITEXPORT OpenExeJpdaError get_bc_location_for_native (JIT_Handle jit, Method_Handle method, NativeCodePtr native_pc, uint16 *bc_pc)
 Gets corresponding bytecode location for given native location (absolute code address).
JITEXPORT OpenExeJpdaError get_local_var (JIT_Handle jit, Method_Handle method, const JitFrameContext *context, uint16 var_num, VM_Data_Type var_type, void *value_ptr)
 Gets the value of the bytecode local variable in given method stack frame.
JITEXPORT OpenExeJpdaError set_local_var (JIT_Handle jit, Method_Handle method, const JitFrameContext *context, uint16 var_num, VM_Data_Type var_type, void *value_ptr)
 Sets the value of the bytecode local variable in given method stack frame.


Enumeration Type Documentation

enum OpenExeJpdaError

Elements of this enum denote various error conditions which can arise when working with the OpenExeJPDA interface.

Enumerator:
EXE_ERROR_NONE 
EXE_ERROR_INVALID_METHODID 
EXE_ERROR_INVALID_LOCATION 
EXE_ERROR_TYPE_MISMATCH 
EXE_ERROR_INVALID_SLOT 
EXE_ERROR_UNSUPPORTED 


Function Documentation

JITEXPORT OpenExeJpdaError get_native_location_for_bc ( JIT_Handle  jit,
Method_Handle  method,
uint16  bc_pc,
NativeCodePtr *  native_pc 
)

Gets corresponding native code location for given bytecode location.

Parameters:
method method whose bytecode contains the location
bc_pc location within the bytecode
native_pc (out) upon successfull return points to corresponding native code location
Returns:
EXE_ERROR_NONE on success EXE_ERROR_INVALID_METHODID if the given method handle is invalid EXE_ERROR_INVALID_LOCATION if either the execution engine is unable to map the bytecode location or if the location is invalid (does not correspond to a valid offset of a bytecode instruction) EXE_ERROR_UNSUPPORTED if the execution engine does not support this functionality

JITEXPORT OpenExeJpdaError get_bc_location_for_native ( JIT_Handle  jit,
Method_Handle  method,
NativeCodePtr  native_pc,
uint16 *  bc_pc 
)

Gets corresponding bytecode location for given native location (absolute code address).

Parameters:
method method whose (compiled native) code contains the location
native_pc location within the native code
bc_pc (out) upon successfull return points to corresponding bytecode location
Returns:
EXE_ERROR_NONE on success EXE_ERROR_INVALID_METHODID if the given method handle is invalid EXE_ERROR_INVALID_LOCATION if either the execution engine is unable to map the native location or if the location is invalid (does not correspond to a valid offset of a processor instruction within the compiled code) EXE_ERROR_UNSUPPORTED if the execution engine does not support this functionality

JITEXPORT OpenExeJpdaError get_local_var ( JIT_Handle  jit,
Method_Handle  method,
const JitFrameContext *  context,
uint16  var_num,
VM_Data_Type  var_type,
void *  value_ptr 
)

Gets the value of the bytecode local variable in given method stack frame.

Parameters:
method method in whose frame the variable is to be read
context stack frame of the method describing its current execution state (at the point of thread suspension)
var_num the variable's slot number
var_type the variable's type
value_ptr address of the buffer to write variable value into. Caller is responsible for providing enough (OPEN_VM.get_vm_type_size(var_type) bytes) memory in the buffer.
Returns:
EXE_ERROR_NONE on success EXE_ERROR_INVALID_METHODID if the given method handle is invalid EXE_ERROR_INVALID_LOCATION if the execution engine does not support local variable access at current execution point in the method, specified by the context EXE_ERROR_TYPE_MISMATCH if the variable with given slot is of different type, EXE_ERROR_INVALID_SLOT if the stack frame does not have variable with given slot number, EXE_ERROR_UNSUPPORTED if the execution engine does not support this functionality

JITEXPORT OpenExeJpdaError set_local_var ( JIT_Handle  jit,
Method_Handle  method,
const JitFrameContext *  context,
uint16  var_num,
VM_Data_Type  var_type,
void *  value_ptr 
)

Sets the value of the bytecode local variable in given method stack frame.

Parameters:
method method in whose frame the variable is to be changed
context stack frame of the method describing its current execution state (at the point of thread suspension)
var_num the variable's slot number
var_type the variable's type
value_ptr address of the new value for the variable
Returns:
EXE_ERROR_NONE on success EXE_ERROR_INVALID_METHODID if the given method handle is invalid EXE_ERROR_INVALID_LOCATION if the execution engine does not support local variable access at current execution point in the method, specified by the context EXE_ERROR_TYPE_MISMATCH if the variable with given slot is of different type, EXE_ERROR_INVALID_SLOT if the stack frame does not have variable with given slot number, EXE_ERROR_UNSUPPORTED if the execution engine does not support this functionality


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

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