libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libunwind] Success!


From: David Mosberger
Subject: Re: [libunwind] Success!
Date: Fri, 12 Dec 2003 10:18:06 -0800

Hi Johan,

>>>>> On Fri, 12 Dec 2003 14:28:42 +0100, Johan Walles <address@hidden> said:

  Johan> I have been able to create the following stack trace:
  Johan> 0: RNI_jrockit_vm_NativeFluff_printInt+80
  Johan> 1: jrockit/vm/NativeFluff.printInt(I)V+e0
  Johan> 2: PrintInt.main([Ljava/lang/String;)V+20
  Johan> 3: jrockit/vm/RNI.rniCallMethod2java()V+3c0
  Johan> 4: callC2Java+14f0
  Johan> 5: call_java+390
  Johan> 6: jniCallStaticVoidMethodV+c0
  Johan> 7: jniCallStaticVoidMethod+d0
  Johan> 8: main+2150
  Johan> 9: __libc_start_main+230
  Johan> 10: _start+80

  Johan> Frame 0 is a native C function called from Java.
  Johan> Frame 1 is the Java method stub.
  Johan> Frame 2 is the main method of my Java class.
  Johan> Frames 3-7 are JRockit's invocation of my main() method
  Johan> Frame 8 is JRockit's main() function.
  Johan> Frames 9-10 are libc's / Linux' invocation of JRockit's main() function

  Johan> Frames 1-3 are dynamically generated.

  Johan> I still have lots of cleaning up to do, but so far I haven't
  Johan> had any libunwind related problems.

  Johan> Woho!

Excellent!  Congrats to reaching this milestone!

Out of curiosity: are you planning to register a personality routine
for (some of) the JIT-generated frames?  I'm not sure it would be
needed, but I guess it might be needed if, say, a C++ function called
from Java were to raise an exception that needs to be caught in Java.
In theory, everything needed from the dynamic unwind API should be in
place, but in practice, it hasn't been tested so far, hence my
asking... ;-)

        --david


reply via email to

[Prev in Thread] Current Thread [Next in Thread]