harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "George Timoshenko (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-3189) [drlvm][jit][opt] code patching works incorrectly on EM64T
Date Wed, 14 Mar 2007 08:01:35 GMT

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

George Timoshenko updated HARMONY-3189:
---------------------------------------

    Attachment: HARMONY-3189-version-3-SP1.patch

this patch fixes issue 1:
- returning target address type into Int32 to cheat constraint resolver. 

with this patch:

1) at compiletime OPT generates immediate calls when offset fits 32 bits at compile time
2) at compiletime OPT generates register calls when abs(offset) is greater than 0x7FFFFFFF
3) at code patching OPT _does_not_ patch direct calls in register form (it is issue 2)
4) at code patching OPT patches immediate calls if new offset also fits into 32 bits
5) OPT _does_not_ patch immediate calls if new offset does not fit into 32 bits (it is issue
2)

Running SPECjbb2005 with 1700m heap I do not get situations like 2) and 5) at all ( so there
are no calls from 3) ).
But I see them when I set heap greater than 2G.



> [drlvm][jit][opt] code patching works incorrectly on EM64T
> ----------------------------------------------------------
>
>                 Key: HARMONY-3189
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3189
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: EM64T
>            Reporter: George Timoshenko
>         Assigned To: Alexey Varlamov
>         Attachments: HARMONY-3189-version-3-SP1.patch, HARMONY-3189-version-3.patch,
HARMONY-3189.patch
>
>
> fixing HARMONY-2881  triggered a serious problem:
> code patching mecanizm can not work when the target addres of call instruction is 64
bit long. (such addresses appeares after fixing 2881)
> there is no CALL inst with 64-bit immediate operand on EM64T.
> So all direct calls are turned into:
> MOV a reg, immediate target addr;
> CALL the reg;
> this issue devoted to fixing code patching mecanizm on EM64T

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


Mime
View raw message