You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Gregory Shimansky (JIRA)" <ji...@apache.org> on 2007/04/24 17:58:15 UTC

[jira] Commented: (HARMONY-2081) [drlvm][interpreter] Synthetic test with monexit without monenter before passed on RI but failed on DRLVM

    [ https://issues.apache.org/jira/browse/HARMONY-2081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12491342 ] 

Gregory Shimansky commented on HARMONY-2081:
--------------------------------------------

In fact there are 2 different but related bugs in interpreter.

1. Monitor exit bytecode doesn't check which monitor it removes from the frame.locked_monitors list. It always removes the last added, so it makes it look like a stack. But this is not correct because bytecode may enter and exit monitors in different order.

2. When exiting from a synchronized method interpreter doesn't do monitorexit when there are no locked monitors left.

> [drlvm][interpreter] Synthetic test with monexit without monenter before passed on RI but failed on DRLVM
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-2081
>                 URL: https://issues.apache.org/jira/browse/HARMONY-2081
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Gregory Shimansky
>            Priority: Minor
>         Attachments: interpreter-2081.diff, monexit.zip, TestME.zip
>
>
> Here is synthetic test in jasmin to demonstrate the problem: we do not handle the situation when monexit is called without monenter.
> The test passes on RI (BEA/SUN) and failed with -Xem:jet, -Xem:opt, -Xem:interpreter

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.