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 Afremov (JIRA)" <ji...@apache.org> on 2007/10/21 13:28:50 UTC

[jira] Updated: (HARMONY-4982) [drlvm][gc_gen][jit][opt] Fix (improve) compressed references to support heaps up to 4Gb

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

Pavel Afremov updated HARMONY-4982:
-----------------------------------

    Attachment: HeapTest.java

To reproduce the bug in jited code your can run attached test with large heap:
...jdk\jre\bin\java -Xem:opt -Xmx3950m  HeapTest


> [drlvm][gc_gen][jit][opt] Fix (improve) compressed references to support heaps up to 4Gb
> ----------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4982
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4982
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: Linux x86-64 & Window x86-64
>            Reporter: Pavel Afremov
>            Priority: Critical
>         Attachments: HeapTest.java
>
>
> I tried to run DRL VM with heap size 3950 M bytes.
> 1.
> I changed line in GC_Gen to fix limitation which avoid usage of large heap. You can find changes in attached patch.
> After that DRL VM in JET mode works with large heap succesfully on both Linux x86-64 and Windows x86-64.
> 2.
> I tried to run DRL VM in OPT mode. The result is sigsegv in jited code.
> at java.lang.AbstractStringBuilder.append0() 
>     (Ln 168,  ...\classlib\modules\luni\src\main\java\java\lang\AbstractStringBuilder.java "    if (newSize > value.length) {")
> at HeapTest.func() 
>     (Ln 15, .\HeapTest.java "    System.out.println("iteration " + i);")
> at HeapTest.main() 
>     (Ln 6, .\HeapTest.java "    test.func();")
> The source of it is incorrect signed extension of 32 bit value to 64 bit register (marked by red in attached assembly code).
> 0000000005967D47  mov         eax,dword ptr [rbx+8] 
> 0000000005967D4A  movsxd      rax,eax 
> 0000000005967D4D  mov         rsi,7FFF0000h 
> 0000000005967D57  mov         r12,rax 
> 0000000005967D5A  add         r12,rsi 
> 0000000005967D5D  mov         qword ptr [rsp],r12 
> 0000000005967D61  mov         rax,7FFF0000h 
> 0000000005967D6B  cmp         r12,rax 
> 0000000005967D6E  je          0000000005967E05 

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