You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2007/03/23 07:01:32 UTC

[jira] Assigned: (HARMONY-3470) [drlvm][jit][opt] 64-bit to 32-bit value conversion though stack when storeing compressed reference

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

Alexey Varlamov reassigned HARMONY-3470:
----------------------------------------

    Assignee: Alexey Varlamov

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