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

        

Mime
View raw message