harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Varlamov (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HARMONY-3470) [drlvm][jit][opt] 64-bit to 32-bit value conversion though stack when storeing compressed reference
Date Tue, 03 Apr 2007 11:47:32 GMT

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

Alexey Varlamov resolved HARMONY-3470.
--------------------------------------

    Resolution: Fixed

Applied at r525141, thanks!

> [drlvm][jit][opt] 64-bit to 32-bit value conversion though stack when storeing compressed
reference
> ---------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3470
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3470
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: EM64T
>            Reporter: George Timoshenko
>         Assigned To: Alexey Varlamov
>            Priority: Minor
>         Attachments: HARMONY-3470_1.patch, HARMONY-3470_2.patch, HARMONY-3470_2_v2.patch
>
>
> Before storeing a reference it is being compressed.
> After compression the reference fits into 32 bits.
> But due to some collision Jitrino before storeing the reference performs a conversion:
> store the reference onto the stack as a 64-bit reference and then load it as a 32-bit
value.
> This code appeares after spillgen pass of codegenerator
> Asm code example:
> mov         r12,rcx                
> mov         rcx,2AAAAD800000h      
> sub         r12,rcx                
> mov         qword ptr [rsp+8],r12  
> mov         eax,dword ptr [rsp+8]  
> mov         dword ptr [rdi+1Ch],eax
> 3 latest movs should be replaced into the single command:
> mov         r12,rcx                
> mov         rcx,2AAAAD800000h      
> sub         r12,rcx                
> mov         dword ptr [rdi+1Ch],r12d
> There are two issues actually:
> - 64->32 conversion for compressed references
> - general conversion
> the first one can be solved in codeSelector
> the second one should be fixed in spillgen

-- 
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