You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Dmitry Pronichkin (JIRA)" <ji...@apache.org> on 2007/10/24 14:33:50 UTC

[jira] Created: (HARMONY-5014) [drlvm][jit][opt] "instanceof" breaks scalar replecement in the new HashMap implementation

[drlvm][jit][opt] "instanceof" breaks scalar replecement in the new HashMap implementation
------------------------------------------------------------------------------------------

                 Key: HARMONY-5014
                 URL: https://issues.apache.org/jira/browse/HARMONY-5014
             Project: Harmony
          Issue Type: Improvement
          Components: DRLVM
            Reporter: Dmitry Pronichkin


The new HashMap implementation made by Tim Ellison came into collision with the following problem: scalar replacement for HashMap.get(Integer.valueOf(..)) is not working. The reason is that the Integer object is not scalarized because of "instanceof" instruction. But escape analysis knows the real type of the key and it can evaluate "instanceof" making possible for the key to be scalarized.

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


[jira] Commented: (HARMONY-5014) [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation

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

Aleksey Shipilev commented on HARMONY-5014:
-------------------------------------------

Judging on compile-time logs, this patch fixes the problem.

> [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation
> ------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-5014
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5014
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Dmitry Pronichkin
>         Attachments: H5014.patch
>
>
> The new HashMap implementation made by Tim Ellison came into collision with the following problem: scalar replacement for HashMap.get(Integer.valueOf(..)) is not working. The reason is that the Integer object is not scalarized because of "instanceof" instruction. But escape analysis knows the real type of the key and it can evaluate "instanceof" making possible for the key to be scalarized.

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


[jira] Assigned: (HARMONY-5014) [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation

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

Alexey Varlamov reassigned HARMONY-5014:
----------------------------------------

    Assignee: Alexey Varlamov

> [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation
> ------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-5014
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5014
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Dmitry Pronichkin
>            Assignee: Alexey Varlamov
>         Attachments: H5014.patch
>
>
> The new HashMap implementation made by Tim Ellison came into collision with the following problem: scalar replacement for HashMap.get(Integer.valueOf(..)) is not working. The reason is that the Integer object is not scalarized because of "instanceof" instruction. But escape analysis knows the real type of the key and it can evaluate "instanceof" making possible for the key to be scalarized.

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


[jira] Closed: (HARMONY-5014) [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation

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

Alexey Varlamov closed HARMONY-5014.
------------------------------------

    Resolution: Fixed

Applied at revision: 598985.

> [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation
> ------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-5014
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5014
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Dmitry Pronichkin
>            Assignee: Alexey Varlamov
>         Attachments: H5014.patch
>
>
> The new HashMap implementation made by Tim Ellison came into collision with the following problem: scalar replacement for HashMap.get(Integer.valueOf(..)) is not working. The reason is that the Integer object is not scalarized because of "instanceof" instruction. But escape analysis knows the real type of the key and it can evaluate "instanceof" making possible for the key to be scalarized.

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


[jira] Updated: (HARMONY-5014) [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation

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

Pavel Ozhdikhin updated HARMONY-5014:
-------------------------------------

    Attachment: H5014.patch

The hvn pass added before escape propagates type info and removes redundant object checks which prevented these object to be scalarized.

> [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation
> ------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-5014
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5014
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Dmitry Pronichkin
>         Attachments: H5014.patch
>
>
> The new HashMap implementation made by Tim Ellison came into collision with the following problem: scalar replacement for HashMap.get(Integer.valueOf(..)) is not working. The reason is that the Integer object is not scalarized because of "instanceof" instruction. But escape analysis knows the real type of the key and it can evaluate "instanceof" making possible for the key to be scalarized.

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


[jira] Updated: (HARMONY-5014) [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation

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

Dmitry Pronichkin updated HARMONY-5014:
---------------------------------------

    Summary: [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation  (was: [drlvm][jit][opt] "instanceof" breaks scalar replecement in the new HashMap implementation)

> [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation
> ------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-5014
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5014
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Dmitry Pronichkin
>
> The new HashMap implementation made by Tim Ellison came into collision with the following problem: scalar replacement for HashMap.get(Integer.valueOf(..)) is not working. The reason is that the Integer object is not scalarized because of "instanceof" instruction. But escape analysis knows the real type of the key and it can evaluate "instanceof" making possible for the key to be scalarized.

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


[jira] Commented: (HARMONY-5014) [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation

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

Aleksey Shipilev commented on HARMONY-5014:
-------------------------------------------

Thanks, Alexey. Patch was applied OK.

> [drlvm][jit][opt] "instanceof" breaks scalar replacement in the new HashMap implementation
> ------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-5014
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5014
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Dmitry Pronichkin
>            Assignee: Alexey Varlamov
>         Attachments: H5014.patch
>
>
> The new HashMap implementation made by Tim Ellison came into collision with the following problem: scalar replacement for HashMap.get(Integer.valueOf(..)) is not working. The reason is that the Integer object is not scalarized because of "instanceof" instruction. But escape analysis knows the real type of the key and it can evaluate "instanceof" making possible for the key to be scalarized.

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


[jira] Commented: (HARMONY-5014) [drlvm][jit][opt] "instanceof" breaks scalar replecement in the new HashMap implementation

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

Dmitry Pronichkin commented on HARMONY-5014:
--------------------------------------------

The mentioned hashmap patch was discussed in dev list: http://www.mail-archive.com/dev@harmony.apache.org/msg09709.html

> [drlvm][jit][opt] "instanceof" breaks scalar replecement in the new HashMap implementation
> ------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-5014
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5014
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>            Reporter: Dmitry Pronichkin
>
> The new HashMap implementation made by Tim Ellison came into collision with the following problem: scalar replacement for HashMap.get(Integer.valueOf(..)) is not working. The reason is that the Integer object is not scalarized because of "instanceof" instruction. But escape analysis knows the real type of the key and it can evaluate "instanceof" making possible for the key to be scalarized.

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