harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "weldon washburn (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-1423) [DRLVM] Fix bug: missed exception from compilation stage.
Date Fri, 15 Sep 2006 19:25:23 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-1423?page=comments#action_12435089 ] 
weldon washburn commented on HARMONY-1423:

>From reading the code, I think ASSERT_RAISE_AREA confirms that the stack is not in a state
that will allow the JITs/interpreters to unwind the Java Frames.  The concept is that to throw
an exception, an exception object needs to be created and attached to the thread-local storage.
 At a later point in execution the thread will ultimately return to java callee code.  And
at the return to Java callee, the state of the stack is "java unwindable" and if a java exception
object is pending, it is finally thrown.

Is the above correct?
I did a grep of ASSERT_RAISE_AREA and did not find any comments.  Perhaps I am looking in
the wrong places.  In any case it would be good to have a few lines of comments on ASSERT_RAISE_AREA.
 Actually now that I think about it.  There should be comments for all ASSERT... AND BEGIN/END...
macros in exceptions.h

The comments says that ASSERT_RAISE_AREA was moved from MonitorEnter() to MonitorExit(). 
Since it is simply an assert(), why not put it in both places?  Is it a performance problem?

On another topic, I noticed in compile_em64t.cpp the following lines:

-    const int STUB_SIZE = 350;
+    const int STUB_SIZE = 357;

I assume that adding the call to exn_rethrow_if_pending() made the emitted image seven bytes
bigger than 350.  Why not make it a nice number like 512 instead of 357?  Will this cause
memory leak/bloat problems?

> [DRLVM] Fix bug: missed exception from compilation stage.
> ---------------------------------------------------------
>                 Key: HARMONY-1423
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1423
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Pavel Afremov
>         Attachments: Fix-bug-missed-exception-from-compilation-stage.patch
> When native code throwing exception during compilation (example, VerifyError), VM missing
catch handler in java frame.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message