You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Mikhail Fursov (JIRA)" <ji...@apache.org> on 2007/04/28 09:56:15 UTC

[jira] Created: (HARMONY-3784) [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler

[drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler
--------------------------------------------------------------------------------------

                 Key: HARMONY-3784
                 URL: https://issues.apache.org/jira/browse/HARMONY-3784
             Project: Harmony
          Issue Type: Bug
          Components: DRLVM
            Reporter: Mikhail Fursov


VMMagic implementation in JET compiler was initially prototyped but was never actually used/tested except several particular places in class initializers (DRLVM server mode uses JET compiler for <clinits>)

JET has several problems with magic implementation today:
1) Magic types are reported to GC. So if GC happend during class initialization DRLVM will fail
2) Magic types are incorrectly stored to fields on EM64T platform with compressed references mode enabled.

The only scenario affected today is GCv5 server mode support for EM64T platform where field of Address type is used.


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


[jira] Updated: (HARMONY-3784) [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov updated HARMONY-3784:
------------------------------------

    Attachment: mfields.diff

> [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler
> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3784
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3784
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: jet.magics, mfields.diff
>
>
> VMMagic implementation in JET compiler was initially prototyped but was never actually used/tested except several particular places in class initializers (DRLVM server mode uses JET compiler for <clinits>)
> JET has several problems with magic implementation today:
> 1) Magic types are reported to GC. So if GC happend during class initialization DRLVM will fail
> 2) Magic types are incorrectly stored to fields on EM64T platform with compressed references mode enabled.
> The only scenario affected today is GCv5 server mode support for EM64T platform where field of Address type is used.

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


[jira] Updated: (HARMONY-3784) [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov updated HARMONY-3784:
------------------------------------

    Attachment:     (was: mfields.diff)

> [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler
> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3784
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3784
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: jet.magics, mfields.diff
>
>
> VMMagic implementation in JET compiler was initially prototyped but was never actually used/tested except several particular places in class initializers (DRLVM server mode uses JET compiler for <clinits>)
> JET has several problems with magic implementation today:
> 1) Magic types are reported to GC. So if GC happend during class initialization DRLVM will fail
> 2) Magic types are incorrectly stored to fields on EM64T platform with compressed references mode enabled.
> The only scenario affected today is GCv5 server mode support for EM64T platform where field of Address type is used.

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


[jira] Updated: (HARMONY-3784) [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov updated HARMONY-3784:
------------------------------------

    Attachment: mfields.diff

mfields.diff: fixes issues in JET and OPT compilers and adds Address type static final fields inlining to OPT.

> [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler
> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3784
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3784
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: jet.magics, mfields.diff
>
>
> VMMagic implementation in JET compiler was initially prototyped but was never actually used/tested except several particular places in class initializers (DRLVM server mode uses JET compiler for <clinits>)
> JET has several problems with magic implementation today:
> 1) Magic types are reported to GC. So if GC happend during class initialization DRLVM will fail
> 2) Magic types are incorrectly stored to fields on EM64T platform with compressed references mode enabled.
> The only scenario affected today is GCv5 server mode support for EM64T platform where field of Address type is used.

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


[jira] Updated: (HARMONY-3784) [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov updated HARMONY-3784:
------------------------------------

    Patch Info: [Patch Available]

> [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler
> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3784
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3784
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Attachments: jet.magics
>
>
> VMMagic implementation in JET compiler was initially prototyped but was never actually used/tested except several particular places in class initializers (DRLVM server mode uses JET compiler for <clinits>)
> JET has several problems with magic implementation today:
> 1) Magic types are reported to GC. So if GC happend during class initialization DRLVM will fail
> 2) Magic types are incorrectly stored to fields on EM64T platform with compressed references mode enabled.
> The only scenario affected today is GCv5 server mode support for EM64T platform where field of Address type is used.

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


[jira] Updated: (HARMONY-3784) [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov updated HARMONY-3784:
------------------------------------

    Attachment: jet.magics

The fix:
1) JET converts all vmmagic types to int_ptr  and never report it to GC
2) JET  writes magic fields on EM64T platform as int_ptrs



> [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler
> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3784
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3784
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Attachments: jet.magics
>
>
> VMMagic implementation in JET compiler was initially prototyped but was never actually used/tested except several particular places in class initializers (DRLVM server mode uses JET compiler for <clinits>)
> JET has several problems with magic implementation today:
> 1) Magic types are reported to GC. So if GC happend during class initialization DRLVM will fail
> 2) Magic types are incorrectly stored to fields on EM64T platform with compressed references mode enabled.
> The only scenario affected today is GCv5 server mode support for EM64T platform where field of Address type is used.

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


[jira] Assigned: (HARMONY-3784) [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov reassigned HARMONY-3784:
----------------------------------------

    Assignee: Alexey Varlamov

> [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler
> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3784
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3784
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: jet.magics
>
>
> VMMagic implementation in JET compiler was initially prototyped but was never actually used/tested except several particular places in class initializers (DRLVM server mode uses JET compiler for <clinits>)
> JET has several problems with magic implementation today:
> 1) Magic types are reported to GC. So if GC happend during class initialization DRLVM will fail
> 2) Magic types are incorrectly stored to fields on EM64T platform with compressed references mode enabled.
> The only scenario affected today is GCv5 server mode support for EM64T platform where field of Address type is used.

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


[jira] Reopened: (HARMONY-3784) [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler

Posted by "Mikhail Fursov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Fursov reopened HARMONY-3784:
-------------------------------------


Reopening the issue. After lazy resolution impl (HARMONY-3874) magics support was refactored and we have regression in this test

> [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler
> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3784
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3784
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: jet.magics, mfields.diff
>
>
> VMMagic implementation in JET compiler was initially prototyped but was never actually used/tested except several particular places in class initializers (DRLVM server mode uses JET compiler for <clinits>)
> JET has several problems with magic implementation today:
> 1) Magic types are reported to GC. So if GC happend during class initialization DRLVM will fail
> 2) Magic types are incorrectly stored to fields on EM64T platform with compressed references mode enabled.
> The only scenario affected today is GCv5 server mode support for EM64T platform where field of Address type is used.

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


[jira] Resolved: (HARMONY-3784) [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov resolved HARMONY-3784.
--------------------------------------

    Resolution: Fixed

Applied at r536179, thanks!
Did a minor fix in cg_fld_arr.cpp:
-    if (!get && compilation_params.exe_notify_field_modification && fieldIsMagic)  {
+   if (!get && compilation_params.exe_notify_field_modification && !fieldIsMagic)  {

Probably we need to discuss on dev-list whether we need to notify about accesses to magic fields or not...

> [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler
> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3784
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3784
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: jet.magics
>
>
> VMMagic implementation in JET compiler was initially prototyped but was never actually used/tested except several particular places in class initializers (DRLVM server mode uses JET compiler for <clinits>)
> JET has several problems with magic implementation today:
> 1) Magic types are reported to GC. So if GC happend during class initialization DRLVM will fail
> 2) Magic types are incorrectly stored to fields on EM64T platform with compressed references mode enabled.
> The only scenario affected today is GCv5 server mode support for EM64T platform where field of Address type is used.

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


[jira] Closed: (HARMONY-3784) [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler

Posted by "Alexey Varlamov (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-3784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Varlamov closed HARMONY-3784.
------------------------------------

    Resolution: Fixed

Applied fix at r541293, thanks!

> [drlvm][jit][jet] Incorrect support of vmmagic types and object fields in JET compiler
> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3784
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3784
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Mikhail Fursov
>         Assigned To: Alexey Varlamov
>         Attachments: jet.magics, mfields.diff
>
>
> VMMagic implementation in JET compiler was initially prototyped but was never actually used/tested except several particular places in class initializers (DRLVM server mode uses JET compiler for <clinits>)
> JET has several problems with magic implementation today:
> 1) Magic types are reported to GC. So if GC happend during class initialization DRLVM will fail
> 2) Magic types are incorrectly stored to fields on EM64T platform with compressed references mode enabled.
> The only scenario affected today is GCv5 server mode support for EM64T platform where field of Address type is used.

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