JVMTI stack tracing patch breaks C++ ABI

Keith Seitz keiths@redhat.com
Wed Sep 19 21:08:00 GMT 2007


Hi,
Mark discovered today that the following JDWP patch:
2007年01月29日 Kyle Galloway <kgallowa@redhat.com>
 * include/java-interp.h: Added _Jv_Frame class and its two
 subclasses _Jv_InterpFrame and _Jv_NativeFrame. Also moved
 _Jv_FrameType from java-stack.h.
 * include/java-stack.h: Removed _Jv_FrameType.
--> * java/lang/Thread.java: Added frame member to hold new
 composite frame stack.
 * java/lang/Thread.h: Regenerated.
 * java/lang/Thread.class: Rebuilt.
 * jni.cc (_Jv_JNIMethod::call): Push a frame onto the stack when
 calling a JNI method.
 * jvmti.cc (_Jv_JVMTI_GetStackTrace): New Method.
 (_Jv_JVMTI_GetFrameCount): New method.
 * stacktrace.cc (UnwindTraceFn): Modified to use new _Jv_Frame
 classes.
 * testsuite/libjava.jvmti/interp/getstacktrace.jar: New test.
 * testsuite/libjava.jvmti/interp/natgetstacktrace.cc: New test.
 * testsuite/libjava.jvmti/interp/getstacktrace.h: New test.
 * testsuite/libjava.jvmti/interp/getstacktrace.jar: New test.
 * testsuite/libjava.jvmti/interp/getstacktrace.out: Output file
 for test.
breaks the C++ ABI by adding a new field to Thread.java. So I presume 
this should be fixed?
Does adding something to struct natThread to do this sound like a 
reasonable plan? Or we could simply hold around a hashtable which maps 
java.lang.Thread to their corresponding frame pointers.
Keith


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /