Merge
This commit is contained in:
commit
eb9735b7b8
@ -25,7 +25,7 @@ ifeq ($(INCLUDE_JVMTI), false)
|
||||
CXXFLAGS += -DINCLUDE_JVMTI=0
|
||||
CFLAGS += -DINCLUDE_JVMTI=0
|
||||
|
||||
Src_Files_EXCLUDE += jvmtiGetLoadedClasses.cpp forte.cpp jvmtiThreadState.cpp jvmtiExtensions.cpp \
|
||||
Src_Files_EXCLUDE += jvmtiGetLoadedClasses.cpp jvmtiThreadState.cpp jvmtiExtensions.cpp \
|
||||
jvmtiImpl.cpp jvmtiManageCapabilities.cpp jvmtiRawMonitor.cpp jvmtiUtil.cpp jvmtiTrace.cpp \
|
||||
jvmtiCodeBlobEvents.cpp jvmtiEnv.cpp jvmtiRedefineClasses.cpp jvmtiEnvBase.cpp jvmtiEnvThreadState.cpp \
|
||||
jvmtiTagMap.cpp jvmtiEventController.cpp evmCompat.cpp jvmtiEnter.xsl jvmtiExport.cpp \
|
||||
|
@ -35,6 +35,19 @@
|
||||
#include "runtime/vframe.hpp"
|
||||
#include "runtime/vframeArray.hpp"
|
||||
|
||||
// call frame copied from old .h file and renamed
|
||||
typedef struct {
|
||||
jint lineno; // line number in the source file
|
||||
jmethodID method_id; // method executed in this frame
|
||||
} ASGCT_CallFrame;
|
||||
|
||||
// call trace copied from old .h file and renamed
|
||||
typedef struct {
|
||||
JNIEnv *env_id; // Env where trace was recorded
|
||||
jint num_frames; // number of frames in this trace
|
||||
ASGCT_CallFrame *frames; // frames
|
||||
} ASGCT_CallTrace;
|
||||
|
||||
// These name match the names reported by the forte quality kit
|
||||
enum {
|
||||
ticks_no_Java_frame = 0,
|
||||
@ -50,6 +63,8 @@ enum {
|
||||
ticks_safepoint = -10
|
||||
};
|
||||
|
||||
#if INCLUDE_JVMTI
|
||||
|
||||
//-------------------------------------------------------
|
||||
|
||||
// Native interfaces for use by Forte tools.
|
||||
@ -360,20 +375,6 @@ static bool find_initial_Java_frame(JavaThread* thread,
|
||||
|
||||
}
|
||||
|
||||
|
||||
// call frame copied from old .h file and renamed
|
||||
typedef struct {
|
||||
jint lineno; // line number in the source file
|
||||
jmethodID method_id; // method executed in this frame
|
||||
} ASGCT_CallFrame;
|
||||
|
||||
// call trace copied from old .h file and renamed
|
||||
typedef struct {
|
||||
JNIEnv *env_id; // Env where trace was recorded
|
||||
jint num_frames; // number of frames in this trace
|
||||
ASGCT_CallFrame *frames; // frames
|
||||
} ASGCT_CallTrace;
|
||||
|
||||
static void forte_fill_call_trace_given_top(JavaThread* thd,
|
||||
ASGCT_CallTrace* trace,
|
||||
int depth,
|
||||
@ -634,3 +635,12 @@ void Forte::register_stub(const char* name, address start, address end) {
|
||||
pointer_delta(end, start, sizeof(jbyte)), 0, NULL);
|
||||
#endif // !_WINDOWS && !IA64
|
||||
}
|
||||
|
||||
#else // INCLUDE_JVMTI
|
||||
extern "C" {
|
||||
JNIEXPORT
|
||||
void AsyncGetCallTrace(ASGCT_CallTrace *trace, jint depth, void* ucontext) {
|
||||
trace->num_frames = ticks_no_class_load; // -1
|
||||
}
|
||||
}
|
||||
#endif // INCLUDE_JVMTI
|
||||
|
Loading…
x
Reference in New Issue
Block a user