harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maksim Ananjev (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-5464) [drlvm] vm helper improvement for better performance
Date Thu, 07 Feb 2008 09:07:08 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-5464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12566508#action_12566508
] 

Maksim Ananjev commented on HARMONY-5464:
-----------------------------------------

Pavel, thanks for your attention.

1. There is no difference in terms of Java specification and no difference in trems of user
code semantics. But there is an important difference from the point of view of the implementation.
Imagine the code that invokes virtual method inside the loop. We can improve performance by
hoisting loading of vtable outside the loop. It's profitable if the loop is executed more
than once. However if "load interface vtable" instruction throws NPE this transformation becomes
invalid. Today we have the difference in behavior of inlined and non-inlined versions of this
helper. Non-inlined version returns null address, but inlines versions throw NPE. This patch
unifies the behavior.

2. Null address is guaranteed to be invalid 

> [drlvm] vm helper improvement for better performance
> ----------------------------------------------------
>
>                 Key: HARMONY-5464
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5464
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: Hope it works everywhere
>            Reporter: Maksim Ananjev
>            Assignee: Alexey Varlamov
>            Priority: Minor
>         Attachments: HARMONY_5464.patch
>
>
> The issue deals with "load interface vtable support".  Returning zero address and not
generating NPE if the object is null is safe in terms of preserving program semantics(the
exception will be generatedon the first method invocation) and allows profitable code transformations
such as hoisting vm helper outside the loop body. This is our current convention which touches
all variants of this helper. If it changes, all variants must be fixed
> The patch also includes osr_path enabling because it depends on this feature.

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


Mime
View raw message