You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Evgueni Brevnov (JIRA)" <ji...@apache.org> on 2007/12/03 15:13:43 UTC

[jira] Created: (HARMONY-5241) [drlvm][jit][opt] Emitter provokes java objects creation

[drlvm][jit][opt] Emitter provokes java objects creation
--------------------------------------------------------

                 Key: HARMONY-5241
                 URL: https://issues.apache.org/jira/browse/HARMONY-5241
             Project: Harmony
          Issue Type: Improvement
          Components: DRLVM
         Environment: x86, x86_64
            Reporter: Evgueni Brevnov


While running stress.org.apache.harmony.test.stress.gc.frag.Fragmentation test I noted that emitter pass finishes with OutOfMemory excpetion raised (which was not handled in any way :-(). Investigation showed the reason is creation of j.l.String objects during runtime info resolution. I believe that proper solution should eliminate string objects creation at all. If it is not possible then we should properly handle OutOfMemory.

Thanks
Evgueni.

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


[jira] Updated: (HARMONY-5241) [drlvm][jit][opt] Emitter provokes java objects creation

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

Evgueni Brevnov updated HARMONY-5241:
-------------------------------------

    Attachment: ld_ref2.patch

ld_ref2.patch - turned performance.

> [drlvm][jit][opt] Emitter provokes java objects creation
> --------------------------------------------------------
>
>                 Key: HARMONY-5241
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5241
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: x86, x86_64
>            Reporter: Evgueni Brevnov
>         Attachments: ld_ref.patch, ld_ref2.patch
>
>
> While running stress.org.apache.harmony.test.stress.gc.frag.Fragmentation test I noted that emitter pass finishes with OutOfMemory excpetion raised (which was not handled in any way :-(). Investigation showed the reason is creation of j.l.String objects during runtime info resolution. I believe that proper solution should eliminate string objects creation at all. If it is not possible then we should properly handle OutOfMemory.
> Thanks
> Evgueni.

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


[jira] Commented: (HARMONY-5241) [drlvm][jit][opt] Emitter provokes java objects creation

Posted by "Evgueni Brevnov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12566031#action_12566031 ] 

Evgueni Brevnov commented on HARMONY-5241:
------------------------------------------

Alexey,

Thanks for taking care about this issue.

Evgueni

> [drlvm][jit][opt] Emitter provokes java objects creation
> --------------------------------------------------------
>
>                 Key: HARMONY-5241
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5241
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: x86, x86_64
>            Reporter: Evgueni Brevnov
>            Assignee: Alexey Varlamov
>         Attachments: ld_ref.patch, ld_ref2.patch
>
>
> While running stress.org.apache.harmony.test.stress.gc.frag.Fragmentation test I noted that emitter pass finishes with OutOfMemory excpetion raised (which was not handled in any way :-(). Investigation showed the reason is creation of j.l.String objects during runtime info resolution. I believe that proper solution should eliminate string objects creation at all. If it is not possible then we should properly handle OutOfMemory.
> Thanks
> Evgueni.

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


[jira] Updated: (HARMONY-5241) [drlvm][jit][opt] Emitter provokes java objects creation

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

Evgueni Brevnov updated HARMONY-5241:
-------------------------------------

    Attachment: ld_ref.patch

> [drlvm][jit][opt] Emitter provokes java objects creation
> --------------------------------------------------------
>
>                 Key: HARMONY-5241
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5241
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: x86, x86_64
>            Reporter: Evgueni Brevnov
>         Attachments: ld_ref.patch
>
>
> While running stress.org.apache.harmony.test.stress.gc.frag.Fragmentation test I noted that emitter pass finishes with OutOfMemory excpetion raised (which was not handled in any way :-(). Investigation showed the reason is creation of j.l.String objects during runtime info resolution. I believe that proper solution should eliminate string objects creation at all. If it is not possible then we should properly handle OutOfMemory.
> Thanks
> Evgueni.

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


[jira] Resolved: (HARMONY-5241) [drlvm][jit][opt] Emitter provokes java objects creation

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

Alexey Varlamov resolved HARMONY-5241.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.0M5

Applied the second patch  at revision: 619840

> [drlvm][jit][opt] Emitter provokes java objects creation
> --------------------------------------------------------
>
>                 Key: HARMONY-5241
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5241
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: x86, x86_64
>            Reporter: Evgueni Brevnov
>            Assignee: Alexey Varlamov
>             Fix For: 5.0M5
>
>         Attachments: ld_ref.patch, ld_ref2.patch
>
>
> While running stress.org.apache.harmony.test.stress.gc.frag.Fragmentation test I noted that emitter pass finishes with OutOfMemory excpetion raised (which was not handled in any way :-(). Investigation showed the reason is creation of j.l.String objects during runtime info resolution. I believe that proper solution should eliminate string objects creation at all. If it is not possible then we should properly handle OutOfMemory.
> Thanks
> Evgueni.

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


[jira] Commented: (HARMONY-5241) [drlvm][jit][opt] Emitter provokes java objects creation

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12547859 ] 

Pavel Pervov commented on HARMONY-5241:
---------------------------------------

"Emitter" I'd better say...

> [drlvm][jit][opt] Emitter provokes java objects creation
> --------------------------------------------------------
>
>                 Key: HARMONY-5241
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5241
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: x86, x86_64
>            Reporter: Evgueni Brevnov
>
> While running stress.org.apache.harmony.test.stress.gc.frag.Fragmentation test I noted that emitter pass finishes with OutOfMemory excpetion raised (which was not handled in any way :-(). Investigation showed the reason is creation of j.l.String objects during runtime info resolution. I believe that proper solution should eliminate string objects creation at all. If it is not possible then we should properly handle OutOfMemory.
> Thanks
> Evgueni.

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


[jira] Commented: (HARMONY-5241) [drlvm][jit][opt] Emitter provokes java objects creation

Posted by "Pavel Pervov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12547856 ] 

Pavel Pervov commented on HARMONY-5241:
---------------------------------------

The source is outside of encoder. There are many places in Jitrino, where object allocation happens during compilation.

The source is in IRManager::resolveRuntimeInfo.

Call chain is as follows:

IRManager::resolveRuntimeInfo (case Opnd::RuntimeInfo::Kind_StringAddress)
->CompilationInterface::loadStringObject
->class_get_const_string_intern_addr
->vm_instantiate_cp_string_resolved
->Global_Env::string_pool::intern
->string_create_from_utf8 & org/apache/harmony/kernel/vm/VM.intern

So, not only java/lang/String is created, but it is also added into WeakHashMap.

> [drlvm][jit][opt] Emitter provokes java objects creation
> --------------------------------------------------------
>
>                 Key: HARMONY-5241
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5241
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: x86, x86_64
>            Reporter: Evgueni Brevnov
>
> While running stress.org.apache.harmony.test.stress.gc.frag.Fragmentation test I noted that emitter pass finishes with OutOfMemory excpetion raised (which was not handled in any way :-(). Investigation showed the reason is creation of j.l.String objects during runtime info resolution. I believe that proper solution should eliminate string objects creation at all. If it is not possible then we should properly handle OutOfMemory.
> Thanks
> Evgueni.

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


[jira] Commented: (HARMONY-5241) [drlvm][jit][opt] Emitter provokes java objects creation

Posted by "Evgueni Brevnov (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12562406#action_12562406 ] 

Evgueni Brevnov commented on HARMONY-5241:
------------------------------------------

Attached patch was tested on Win32, Lin32, Lin64.

Thanks
Evgueni

> [drlvm][jit][opt] Emitter provokes java objects creation
> --------------------------------------------------------
>
>                 Key: HARMONY-5241
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5241
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: x86, x86_64
>            Reporter: Evgueni Brevnov
>         Attachments: ld_ref.patch
>
>
> While running stress.org.apache.harmony.test.stress.gc.frag.Fragmentation test I noted that emitter pass finishes with OutOfMemory excpetion raised (which was not handled in any way :-(). Investigation showed the reason is creation of j.l.String objects during runtime info resolution. I believe that proper solution should eliminate string objects creation at all. If it is not possible then we should properly handle OutOfMemory.
> Thanks
> Evgueni.

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


[jira] Assigned: (HARMONY-5241) [drlvm][jit][opt] Emitter provokes java objects creation

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

Alexey Varlamov reassigned HARMONY-5241:
----------------------------------------

    Assignee: Alexey Varlamov

> [drlvm][jit][opt] Emitter provokes java objects creation
> --------------------------------------------------------
>
>                 Key: HARMONY-5241
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5241
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: x86, x86_64
>            Reporter: Evgueni Brevnov
>            Assignee: Alexey Varlamov
>         Attachments: ld_ref.patch, ld_ref2.patch
>
>
> While running stress.org.apache.harmony.test.stress.gc.frag.Fragmentation test I noted that emitter pass finishes with OutOfMemory excpetion raised (which was not handled in any way :-(). Investigation showed the reason is creation of j.l.String objects during runtime info resolution. I believe that proper solution should eliminate string objects creation at all. If it is not possible then we should properly handle OutOfMemory.
> Thanks
> Evgueni.

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