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

[jira] Created: (HARMONY-3630) [drlvm][jit] profile-based devirtualization of abstract and virtual calls

[drlvm][jit] profile-based devirtualization of abstract and virtual calls
-------------------------------------------------------------------------

                 Key: HARMONY-3630
                 URL: https://issues.apache.org/jira/browse/HARMONY-3630
             Project: Harmony
          Issue Type: Improvement
         Environment: rhel4, core2, gcc 4.1.0
            Reporter: Naveen Neelakantam
         Attachments: devirt.emconf, profiled_devirt.patch

The attached patch adds profile-based devirtualization of abstract and virtual calls.

The file devirt.emconf enables both (and is based on server.emconf).

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


[jira] Resolved: (HARMONY-3630) [drlvm][jit] profile-based devirtualization of abstract and virtual calls

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

Alexey Varlamov resolved HARMONY-3630.
--------------------------------------

    Resolution: Fixed

Applied at r542423. 
Resolved conflicts with Lazy resolution patch + fixed several warnings.
Please verify the patch is applied correctly.

Also, as new parameters were added to ValueProfiler and devirtulizer, I suggest you provide help message for the parameters (actually would be nice to document all parameters there).

Sad news is that Harmony is still significantly slower on abstract calls than JRockit 1.5 (on the provided microbenchmark), despite the compilation takes several times longer...

> [drlvm][jit] profile-based devirtualization of abstract and virtual calls
> -------------------------------------------------------------------------
>
>                 Key: HARMONY-3630
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3630
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: rhel4, core2, gcc 4.1.0
>            Reporter: Naveen Neelakantam
>            Assignee: Alexey Varlamov
>         Attachments: abstract_devirt_20070523.patch, devirt.emconf, devirt_benchmarks.diff, profiled_devirt.patch
>
>
> The attached patch adds profile-based devirtualization of abstract and virtual calls.
> The file devirt.emconf enables both (and is based on server.emconf).

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


[jira] Assigned: (HARMONY-3630) [drlvm][jit] profile-based devirtualization of abstract and virtual calls

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

Alexey Varlamov reassigned HARMONY-3630:
----------------------------------------

    Assignee: Alexey Varlamov

> [drlvm][jit] profile-based devirtualization of abstract and virtual calls
> -------------------------------------------------------------------------
>
>                 Key: HARMONY-3630
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3630
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: rhel4, core2, gcc 4.1.0
>            Reporter: Naveen Neelakantam
>         Assigned To: Alexey Varlamov
>         Attachments: abstract_devirt_20070523.patch, devirt.emconf, devirt_benchmarks.diff, profiled_devirt.patch
>
>
> The attached patch adds profile-based devirtualization of abstract and virtual calls.
> The file devirt.emconf enables both (and is based on server.emconf).

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


[jira] Updated: (HARMONY-3630) [drlvm][jit] profile-based devirtualization of abstract and virtual calls

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

Naveen Neelakantam updated HARMONY-3630:
----------------------------------------

    Attachment: devirt.emconf
                profiled_devirt.patch

> [drlvm][jit] profile-based devirtualization of abstract and virtual calls
> -------------------------------------------------------------------------
>
>                 Key: HARMONY-3630
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3630
>             Project: Harmony
>          Issue Type: Improvement
>         Environment: rhel4, core2, gcc 4.1.0
>            Reporter: Naveen Neelakantam
>         Attachments: devirt.emconf, profiled_devirt.patch
>
>
> The attached patch adds profile-based devirtualization of abstract and virtual calls.
> The file devirt.emconf enables both (and is based on server.emconf).

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


[jira] Updated: (HARMONY-3630) [drlvm][jit] profile-based devirtualization of abstract and virtual calls

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

Pavel Ozhdikhin updated HARMONY-3630:
-------------------------------------

    Attachment: abstract_devirt_20070523.patch

The updated patch based on the original patch from Naveen is attached. Value profile based devirtualization is used for interface and abstract calls, virtual calls still work with unguard - otherwise the value profiling overhead significantly affects startup time. We can enable full profile-guided devirt when we have a faster recompilation scheme using JET in server mode.

The patch is passed tests on Windows and Linux IA32:
1. build test
2. buid -Dtest.mode="srv" smoke.test

> [drlvm][jit] profile-based devirtualization of abstract and virtual calls
> -------------------------------------------------------------------------
>
>                 Key: HARMONY-3630
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3630
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: rhel4, core2, gcc 4.1.0
>            Reporter: Naveen Neelakantam
>         Attachments: abstract_devirt_20070523.patch, devirt.emconf, profiled_devirt.patch
>
>
> The attached patch adds profile-based devirtualization of abstract and virtual calls.
> The file devirt.emconf enables both (and is based on server.emconf).

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


[jira] Updated: (HARMONY-3630) [drlvm][jit] profile-based devirtualization of abstract and virtual calls

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

Pavel Ozhdikhin updated HARMONY-3630:
-------------------------------------

    Attachment: devirt_benchmarks.diff

Micro-benchmarks to measure the performance for various types of calls.
abstractCall should benefit from the patch, directCall, interfaceCall and virtualCall must not degrade.


> [drlvm][jit] profile-based devirtualization of abstract and virtual calls
> -------------------------------------------------------------------------
>
>                 Key: HARMONY-3630
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3630
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: rhel4, core2, gcc 4.1.0
>            Reporter: Naveen Neelakantam
>         Attachments: abstract_devirt_20070523.patch, devirt.emconf, devirt_benchmarks.diff, profiled_devirt.patch
>
>
> The attached patch adds profile-based devirtualization of abstract and virtual calls.
> The file devirt.emconf enables both (and is based on server.emconf).

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


[jira] Updated: (HARMONY-3630) [drlvm][jit] profile-based devirtualization of abstract and virtual calls

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

Alexey Varlamov updated HARMONY-3630:
-------------------------------------

    Component/s: DRLVM

> [drlvm][jit] profile-based devirtualization of abstract and virtual calls
> -------------------------------------------------------------------------
>
>                 Key: HARMONY-3630
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3630
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: rhel4, core2, gcc 4.1.0
>            Reporter: Naveen Neelakantam
>         Attachments: devirt.emconf, profiled_devirt.patch
>
>
> The attached patch adds profile-based devirtualization of abstract and virtual calls.
> The file devirt.emconf enables both (and is based on server.emconf).

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