[Sablevm-developer] cached stackTraceElement's
Brought to you by:
egagnon
From: Chris P. <chr...@ma...> - 2004-03-31 02:09:33
|
Hi, Is it safe to write NULL to 'frame->stack_trace_element' anywhere outside of Java_java_lang_Throwable_nativeGetStackTraceList()? If not, why do we need to keep these (apart from efficiency)? If so, is it furthermore safe to write arbitrary values to 'frame->stack_trace_element' anywhere outside of [...]nativeGetStackTraceList()? Thanks, Chris P.S. It is a bit of a long story. Quickly: if a parent speculative thread throws an exception, but the exception is caught and handled by the parent without touching the frame that the child was forked in, we don't need to kill the child. However, there may be pointers to cached stackTraceElement's on the stack in the parent as a result of calling Throwable.getStackTrace(), and this invalidates the speculation that the stack after return from a method call is identical to the stack before return from a method call. |