Index: vm/include/open/types.h =================================================================== --- vm/include/open/types.h (revision 496236) +++ vm/include/open/types.h (working copy) @@ -211,9 +211,9 @@ /** * Fields of these types are not directly accessible from the core VM. + * typedef struct ManagedObject Java_java_lang_Class; + * typedef ManagedObject Java_java_lang_System; */ - typedef struct ManagedObject Java_java_lang_Class; -typedef ManagedObject Java_java_lang_System; typedef struct ManagedObject Java_java_lang_Throwable; typedef struct ManagedObject Java_java_lang_Thread; typedef struct ManagedObject Java_java_io_FileInputStream; @@ -225,7 +225,7 @@ * to an array in the managed heap, so handling must be careful to account * for the possiblity of a moving GC. */ - typedef void *Vector_Handle; +typedef void *Vector_Handle; typedef void *Managed_Object_Handle; Index: vm/include/open/vm.h =================================================================== --- vm/include/open/vm.h (revision 496236) +++ vm/include/open/vm.h (working copy) @@ -36,9 +36,9 @@ #endif /** - * This structure is meant to be opaque. External modules should not. + * This structure is meant to be opaque. External modules should not + * attempt to directly access any of its fields. */ - attempt to directly access any of its fields. typedef struct ChaClassIterator { Class_Handle _root_class; Class_Handle _current; @@ -47,9 +47,9 @@ /** - * This structure is meant to be opaque. External modules should not. + * This structure is meant to be opaque. External modules should not + * attempt to directly access any of its fields. */ - attempt to directly access any of its fields. typedef struct ChaMethodIterator { Method_Handle _method; Method_Handle _current; Index: vm/include/jit_runtime_support.h =================================================================== --- vm/include/jit_runtime_support.h (revision 496236) +++ vm/include/jit_runtime_support.h (working copy) @@ -116,7 +116,6 @@ VM_RT_THROW_SET_STACK_TRACE=210, - /** * @param Object reference. * @@ -503,16 +502,16 @@ VM_RT_LSHL=910, VM_RT_LSHR=911, VM_RT_LUSHR=912, - * Arguments: - * (new version) - * - Long value to be shifted - * - Int value with count - * (old version) - * - (edx:eax) A long value to be shifted - * - (ecx) Count - * Return value: (edx:eax) - * - The shifted value - * + /** + * @param The parameters are the following: + * (new version) + * arg\ Long value to be shifted + * arg\ Int value with count + * (old version) + * arg\ (edx:eax) A long value to be shifted + * arg\ (ecx) Count + * @return (edx:eax) The shifted value + */ VM_RT_LMUL=920, Index: vm/include/interpreter_exports.h =================================================================== --- vm/include/interpreter_exports.h (revision 496236) +++ vm/include/interpreter_exports.h (working copy) @@ -20,6 +20,38 @@ #include "open/types.h" #include "jvmti.h" + +typedef struct FrameHandle FrameHandle; + +typedef struct { + bool (*interpreter_st_get_frame) (unsigned target_depth, struct StackTraceFrame* stf); + void (*interpreter_st_get_trace) (class VM_thread *thread, unsigned* res_depth, struct StackTraceFrame** stfs); + void (*interpreter_enumerate_thread) (class VM_thread *thread); + + FrameHandle* (*interpreter_get_last_frame) (class VM_thread *thread); + FrameHandle* (*interpreter_get_prev_frame) (FrameHandle* frame); + // 'end' is not inclusive + bool (*is_frame_in_native_frame) (struct FrameHandle* frame, void* begin, void* end); + + void (*interpreter_ti_enumerate_thread) (jvmtiEnv*, class VM_thread *thread); + +#ifdef _IPF_ + uint64* (*interpreter_get_stacked_register_address) (uint64* bsp, unsigned reg); +#endif + + jvmtiError (*interpreter_ti_getFrameLocation) ( jvmtiEnv*, class VM_thread*, + int, struct _jmethodID * *, int64 *); + jvmtiError (*interpreter_ti_getLocal32) ( jvmtiEnv*, class VM_thread*, int, int, int *); + jvmtiError (*interpreter_ti_getLocal64) ( jvmtiEnv*, class VM_thread*, int, int, int64 *); + jvmtiError (*interpreter_ti_getObject) ( jvmtiEnv*, class VM_thread*, int, int, struct _jobject * *); + jvmtiError (*interpreter_ti_getStackTrace) (jvmtiEnv*, class VM_thread*, int, int, jvmtiFrameInfo*, int *); + jvmtiError (*interpreter_ti_get_frame_count) ( jvmtiEnv*, class VM_thread*, int *); + jvmtiError (*interpreter_ti_setLocal32) ( jvmtiEnv*, class VM_thread*, int, int, int); + jvmtiError (*interpreter_ti_setLocal64) ( jvmtiEnv*, class VM_thread*, int, int, int64); + jvmtiError (*interpreter_ti_setObject) ( jvmtiEnv*, class VM_thread*, int, int, struct _jobject *); + unsigned int (*interpreter_st_get_interrupted_method_native_bit) (class VM_thread *); + + // Open interfaces part begins /** @@ -36,7 +68,7 @@ * Set breakpoint in place identified by method and location. * No more then one breakpoint will be set at any specific place. Handling * for multiple jvmti environments is done by jvmti framework. - * + * * @return Bytecode has been replaced by instrumentation. */ jbyte (*interpreter_ti_set_breakpoint)(jmethodID method, jlocation location); @@ -50,7 +82,7 @@ /** * Set callback to notify JVMTI about frame pop event. - * + * * @return JVMTI_ERROR_NONE - successfully added notification
* JVMTI_ERROR_OPAQUE_FRAME - frame is native
* JVMTI_ERROR_NO_MORE_FRAMES - depth too large
@@ -67,38 +99,6 @@ VMEXPORT Interpreter *interpreter_table(); -typedef struct FrameHandle FrameHandle; - -typedef struct { - bool (*interpreter_st_get_frame) (unsigned target_depth, struct StackTraceFrame* stf); - void (*interpreter_st_get_trace) (class VM_thread *thread, unsigned* res_depth, struct StackTraceFrame** stfs); - void (*interpreter_enumerate_thread) (class VM_thread *thread); - - FrameHandle* (*interpreter_get_last_frame) (class VM_thread *thread); - FrameHandle* (*interpreter_get_prev_frame) (FrameHandle* frame); - // 'end' is not inclusive - bool (*is_frame_in_native_frame) (struct FrameHandle* frame, void* begin, void* end); - - void (*interpreter_ti_enumerate_thread) (jvmtiEnv*, class VM_thread *thread); - -#ifdef _IPF_ - uint64* (*interpreter_get_stacked_register_address) (uint64* bsp, unsigned reg); -#endif - - jvmtiError (*interpreter_ti_getFrameLocation) ( jvmtiEnv*, class VM_thread*, - int, struct _jmethodID * *, int64 *); - jvmtiError (*interpreter_ti_getLocal32) ( jvmtiEnv*, class VM_thread*, int, int, int *); - jvmtiError (*interpreter_ti_getLocal64) ( jvmtiEnv*, class VM_thread*, int, int, int64 *); - jvmtiError (*interpreter_ti_getObject) ( jvmtiEnv*, class VM_thread*, int, int, struct _jobject * *); - jvmtiError (*interpreter_ti_getStackTrace) (jvmtiEnv*, class VM_thread*, int, int, jvmtiFrameInfo*, int *); - jvmtiError (*interpreter_ti_get_frame_count) ( jvmtiEnv*, class VM_thread*, int *); - jvmtiError (*interpreter_ti_setLocal32) ( jvmtiEnv*, class VM_thread*, int, int, int); - jvmtiError (*interpreter_ti_setLocal64) ( jvmtiEnv*, class VM_thread*, int, int, int64); - jvmtiError (*interpreter_ti_setObject) ( jvmtiEnv*, class VM_thread*, int, int, struct _jobject *); - unsigned int (*interpreter_st_get_interrupted_method_native_bit) (class VM_thread *); - - - #ifdef BUILDING_VM extern Interpreter interpreter; extern bool interpreter_enabled(); Index: vm/vmcore/include/jit_runtime_support_common.h =================================================================== --- vm/vmcore/include/jit_runtime_support_common.h (revision 496236) +++ vm/vmcore/include/jit_runtime_support_common.h (working copy) @@ -56,7 +56,7 @@ * Creates a LIL code stub for checkcast or instance of * can be used by both IA32 and IPF code */ - LilCodeStub *gen_lil_typecheck_stub(bool is_checkcast). +LilCodeStub *gen_lil_typecheck_stub(bool is_checkcast); /** * Creates a SPECIALIZED LIL code stub for checkcast or instance of