stackframeinfo by subtracting 1 from the return address.
This fixes stacktraces when exceptions are thrown out of
the compiler.
* tests/regression/extest.2output: Changed line numbers to
the values same the RI returns, which are correct upon inspection
of the Java code.
Christian Thalinger
Christian Ullrich
- $Id: jit.c 5814 2006-10-20 14:53:27Z twisti $
+ $Id: jit.c 5817 2006-10-22 00:38:21Z edwin $
*/
u1 *pa;
ptrint *p;
- /* create the stackframeinfo (XPC is equal to RA) */
+ /* create the stackframeinfo (subtract 1 from RA as it points to the */
+ /* instruction after the call) */
- stacktrace_create_extern_stackframeinfo(&sfi, NULL, sp, ra, ra);
+ stacktrace_create_extern_stackframeinfo(&sfi, NULL, sp, ra, ra-1);
/* actually compile the method */
---------- native stub exceptions ---------------
NullPointerException in <clinit>: OK
java.lang.ExceptionInInitializerError
- at extest.main(extest.java:324)
+ at extest.main(extest.java:323)
Caused by: java.lang.NullPointerException
at extest_clinit.<clinit>(extest_clinit.java:4)
- at extest.main(extest.java:324)
+ at extest.main(extest.java:323)
UnsatisfiedLinkError: OK
java.lang.UnsatisfiedLinkError: nsub