You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Pavel Ozhdikhin (JIRA)" <ji...@apache.org> on 2007/09/06 12:12:32 UTC

[jira] Updated: (HARMONY-4751) [drlvm][jit][opt] branch translator may incorrectly remove branches depending on local vars

     [ https://issues.apache.org/jira/browse/HARMONY-4751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Ozhdikhin updated HARMONY-4751:
-------------------------------------

    Attachment: btr.patch

The fix. Passed 'build test' and 'build reg.test' on Win32.
Also includes a minor update to the Jitrino project file.


> [drlvm][jit][opt] branch translator may incorrectly remove branches depending on local vars
> -------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4751
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4751
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: IA32/EM64T platforms
>            Reporter: Pavel Ozhdikhin
>         Attachments: btr.patch
>
>
> Branch translator may incorrectly remove branches depending on local vars. If a temporary operand in a branch condition originated from a local var and this local var is re-assigned before the branch condition but after creation of the temporary operand, than the new value of the var will be propagated to the branch condition. Thus the branch may be eliminated basing on a wrong value. Example:
> t2 = v1
> v1 = n
> CMP t2, 0
> JZ ...
> In the example above value n may be used to eliminate the branch in the branch translator instead of the original v1 value.

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