Interpreter Struct Reference

#include <interpreter_exports.h>

List of all members.


Detailed Description

Interpreter table.


Public Attributes

bool(* interpreter_st_get_frame )(unsigned target_depth, struct StackTraceFrame *stf)
 Fills the stack trace frame at the given depth for the current thread.
void(* interpreter_st_get_trace )(struct VM_thread *thread, unsigned *res_depth, struct StackTraceFrame **stfs)
 Fills the stack trace frames for the specified number of frames of the specified thread.
void(* interpreter_enumerate_thread )(struct VM_thread *thread)
 Enumerates references associated with the thread.
FrameHandle *(* interpreter_get_last_frame )(struct VM_thread *thread)
 Returns the last frame.
FrameHandle *(* interpreter_get_prev_frame )(FrameHandle *frame)
 Returns the previous frame.
Method_Handle(* interpreter_get_frame_method )(FrameHandle *frame)
 Returns the frame method.
uint8 *(* interpreter_get_frame_bytecode_ptr )(FrameHandle *frame)
 Returns the pointer to the bytecode.
bool(* is_frame_in_native_frame )(struct FrameHandle *frame, void *begin, void *end)
 Returns TRUE if the frame is native.
void(* interpreter_ti_enumerate_thread )(jvmtiEnv *, struct VM_thread *thread)
 Enumerates references associated with the thread.
jvmtiError(* interpreter_ti_getFrameLocation )(jvmtiEnv *, struct VM_thread *, int, struct _jmethodID **, int64 *)
 Returns the frame location.
jvmtiError(* interpreter_ti_getLocal32 )(jvmtiEnv *, struct VM_thread *, int, int, int *)
 Returns the value of the 32 bit local variable.
jvmtiError(* interpreter_ti_getLocal64 )(jvmtiEnv *, struct VM_thread *, int, int, int64 *)
 Returns the value of 64 bit local variable.
jvmtiError(* interpreter_ti_getObject )(jvmtiEnv *, struct VM_thread *, int, int, struct _jobject **)
 Returns the value of the Object type local variable.
jvmtiError(* interpreter_ti_getStackTrace )(jvmtiEnv *, struct VM_thread *, int, int, jvmtiFrameInfo *, int *)
 Returns stack trace data.
jvmtiError(* interpreter_ti_get_frame_count )(jvmtiEnv *, struct VM_thread *, int *)
 Returns frame count.
jvmtiError(* interpreter_ti_setLocal32 )(jvmtiEnv *, struct VM_thread *, int, int, int)
 Sets the value of 32 bit local variable.
jvmtiError(* interpreter_ti_setLocal64 )(jvmtiEnv *, struct VM_thread *, int, int, int64)
 Sets the value of 64 bit local variable.
jvmtiError(* interpreter_ti_setObject )(jvmtiEnv *, struct VM_thread *, int, int, struct _jobject *)
 Sets the value of the Object type local variable.
unsigned int(* interpreter_st_get_interrupted_method_native_bit )(struct VM_thread *)
 Returns the interrupted method native bit.
void(* interpreter_ti_set_notification_mode )(jvmtiEvent event_type, bool enable)
 The function is called when the global TI event state is changed.
jbyte(* interpreter_ti_set_breakpoint )(jmethodID method, jlocation location)
 Sets the breakpoint in the place identified by the method and location.
void(* interpreter_ti_clear_breakpoint )(jmethodID method, jlocation location, jbyte saved)
 Clears the breakpoint in the place identified by the method and location.
jvmtiError(* interpreter_ti_notify_frame_pop )(jvmtiEnv *, VM_thread *thread, int depth)
 Sets a callback to notify JVMTI about the frame-pop event.
jvmtiError(* interpreter_ti_pop_frame )(jvmtiEnv *, VM_thread *thread)
 Pops the frame.
void(* stack_dump )(int, VM_thread *)
 Dumps the stack.


Member Data Documentation

bool(* Interpreter.interpreter_st_get_frame)(unsigned target_depth, struct StackTraceFrame *stf)

Fills the stack trace frame at the given depth for the current thread.

Parameters:
[in] target_depth - the zero-based depth of the frame or inlined method, information about which will be stored at the given stack trace frame, stf
[out] stf - the pointer to the StackTraceFrame structure that needs to be filled with the data on the frame or inlined method corresponding to the given depth
Returns:
TRUE on success, FALSE if the depth is greater than or equal to the current thread stack trace length.

void(* Interpreter.interpreter_st_get_trace)(struct VM_thread *thread, unsigned *res_depth, struct StackTraceFrame **stfs)

Fills the stack trace frames for the specified number of frames of the specified thread.

Parameters:
[in] thread - the pointer to the thread
[in] res_depth - the number of frames including inlined methods, information about which should be stored
[out] stfs - the pointer to the array of stack trace frames created by this function and returned via this pointer
Note:
The caller is responsible for freeing the memory.

void(* Interpreter.interpreter_enumerate_thread)(struct VM_thread *thread)

Enumerates references associated with the thread.

Parameters:
thread - the pointer to the thread

FrameHandle*(* Interpreter.interpreter_get_last_frame)(struct VM_thread *thread)

Returns the last frame.

Parameters:
thread - the pointer to the thread
Returns:
The pointer to the last frame.

FrameHandle*(* Interpreter.interpreter_get_prev_frame)(FrameHandle *frame)

Returns the previous frame.

Parameters:
frame - the pointer to the frame
Returns:
The pointer to the previous frame.

Method_Handle(* Interpreter.interpreter_get_frame_method)(FrameHandle *frame)

Returns the frame method.

Parameters:
frame - the pointer to the frame
Returns:
The pointer to the method.

uint8*(* Interpreter.interpreter_get_frame_bytecode_ptr)(FrameHandle *frame)

Returns the pointer to the bytecode.

Parameters:
frame - the pointer to the frame
Returns:
The pointer to the bytecode.

bool(* Interpreter.is_frame_in_native_frame)(struct FrameHandle *frame, void *begin, void *end)

Returns TRUE if the frame is native.

Parameters:
frame - the pointer to the frame
begin - the pointer to the register
end - the pointer to the register
Returns:
TRUE on success.

void(* Interpreter.interpreter_ti_enumerate_thread)(jvmtiEnv *, struct VM_thread *thread)

Enumerates references associated with the thread.

Parameters:
thread - the pointer to the thread
jvmtiEnv - the pointer to the jvmti environment

jvmtiError(* Interpreter.interpreter_ti_getFrameLocation)(jvmtiEnv *, struct VM_thread *, int, struct _jmethodID **, int64 *)

Returns the frame location.

Parameters:
jvmtiEnv - the pointer to the jvmti environment
thread - the pointer to the thread
depth - the pointer to the depth
_jmethodID - the pointer to the method
jlocation - the pointer to the location
Returns:
JVMTI_ERROR_NONE - a successfully added notification
JVMTI_ERROR_NO_MORE_FRAMES - depth is too large

jvmtiError(* Interpreter.interpreter_ti_getLocal32)(jvmtiEnv *, struct VM_thread *, int, int, int *)

Returns the value of the 32 bit local variable.

Parameters:
jvmtiEnv - the pointer to the jvmti environment
thread - the pointer to the thread
depth - the pointer to the depth
slot - the pointer to the slot
value_ptr - the pointer to the value
Returns:
JVMTI_ERROR_NONE - a successfully added notification
JVMTI_ERROR_NO_MORE_FRAMES - depth is too large
JVMTI_ERROR_OPAQUE_FRAME - no frame
JVMTI_ERROR_INVALID_SLOT - a bad slot
JVMTI_ERROR_TYPE_MISMATCH - an invalid variable type

jvmtiError(* Interpreter.interpreter_ti_getLocal64)(jvmtiEnv *, struct VM_thread *, int, int, int64 *)

Returns the value of 64 bit local variable.

Parameters:
jvmtiEnv - the pointer to the jvmti environment
thread - the pointer to the thread
depth - the pointer to the depth
slot - the pointer to the slot
value_ptr - the pointer to the value
Returns:
JVMTI_ERROR_NONE - a successfully added notification
JVMTI_ERROR_NO_MORE_FRAMES - depth is too large
JVMTI_ERROR_OPAQUE_FRAME - no frame
JVMTI_ERROR_INVALID_SLOT - a bad slot
JVMTI_ERROR_TYPE_MISMATCH - an invalid variable type

jvmtiError(* Interpreter.interpreter_ti_getObject)(jvmtiEnv *, struct VM_thread *, int, int, struct _jobject **)

Returns the value of the Object type local variable.

Parameters:
jvmtiEnv - the pointer to the jvmti environment
thread - the pointer to the thread
depth - the pointer to the depth
slot - the pointer to the slot
value_ptr - the pointer to the value
Returns:
JVMTI_ERROR_NONE - a successfully added notification
JVMTI_ERROR_NO_MORE_FRAMES - depth is too large
JVMTI_ERROR_OPAQUE_FRAME - no frame
JVMTI_ERROR_INVALID_SLOT - a bad slot
JVMTI_ERROR_TYPE_MISMATCH - an invalid variable type

jvmtiError(* Interpreter.interpreter_ti_getStackTrace)(jvmtiEnv *, struct VM_thread *, int, int, jvmtiFrameInfo *, int *)

Returns stack trace data.

Parameters:
jvmtiEnv - the pointer to the jvmti environment
thread - the pointer to the thread
start_depth - the pointer to the depth
max_frame_count - the pointer to max_frame_count
frame_buffer - the pointer to frame_buffer
count_ptr - the pointer to the count
Returns:
JVMTI_ERROR_NONE - a successfully added notification
JVMTI_ERROR_ILLEGAL_ARGUMENT - bad arguments

jvmtiError(* Interpreter.interpreter_ti_get_frame_count)(jvmtiEnv *, struct VM_thread *, int *)

Returns frame count.

Parameters:
jvmtiEnv - the pointer to the jvmti environment
thread - the pointer to the thread
count_ptr[out] - the pointer to the count
Returns:
JVMTI_ERROR_NONE - a successfully added notification

jvmtiError(* Interpreter.interpreter_ti_setLocal32)(jvmtiEnv *, struct VM_thread *, int, int, int)

Sets the value of 32 bit local variable.

Parameters:
jvmtiEnv - the pointer to the jvmti environment
thread - the pointer to the thread
depth - the pointer to the depth
slot - the pointer to the slot
value_ptr - the pointer to the value
Returns:
JVMTI_ERROR_NONE - a successfully added notification
JVMTI_ERROR_NO_MORE_FRAMES - depth is too large
JVMTI_ERROR_OPAQUE_FRAME - no frame
JVMTI_ERROR_INVALID_SLOT - a bad slot
JVMTI_ERROR_TYPE_MISMATCH - an invalid variable type

jvmtiError(* Interpreter.interpreter_ti_setLocal64)(jvmtiEnv *, struct VM_thread *, int, int, int64)

Sets the value of 64 bit local variable.

Parameters:
jvmtiEnv - the pointer to the jvmti environment
thread - the pointer to the thread
depth - the pointer to the depth
slot - the pointer to the slot
value_ptr - the pointer to the value
Returns:
JVMTI_ERROR_NONE - a successfully added notification
JVMTI_ERROR_NO_MORE_FRAMES - depth is too large
JVMTI_ERROR_OPAQUE_FRAME - no frame
JVMTI_ERROR_INVALID_SLOT - a bad slot
JVMTI_ERROR_TYPE_MISMATCH - an invalid variable type

jvmtiError(* Interpreter.interpreter_ti_setObject)(jvmtiEnv *, struct VM_thread *, int, int, struct _jobject *)

Sets the value of the Object type local variable.

Parameters:
jvmtiEnv - the pointer to the jvmti environment
thread - the pointer to the thread
depth - the pointer to the depth
slot - the pointer to the slot
value_ptr - the pointer to the value
Returns:
JVMTI_ERROR_NONE - a successfully added notification
JVMTI_ERROR_NO_MORE_FRAMES - depth is too large
JVMTI_ERROR_OPAQUE_FRAME - no frame
JVMTI_ERROR_INVALID_SLOT - a bad slot
JVMTI_ERROR_TYPE_MISMATCH - an invalid variable type

unsigned int(* Interpreter.interpreter_st_get_interrupted_method_native_bit)(struct VM_thread *)

Returns the interrupted method native bit.

Parameters:
thread - the pointer to the thread
Returns:
The interrupted method native bit.


The documentation for this struct was generated from the following file:

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

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