Review request for JDK-8035712

Marcus Lagergren marcus.lagergren at oracle.com
Fri Mar 6 07:49:01 UTC 2015


+1

> On 05 Mar 2015, at 11:56, Attila Szegedi <attila.szegedi at oracle.com> wrote:
> 
> Thanks folks. In the meantime (as part of inspecting that regression that Benjamin Winterberg pointed out)I realized that there often seems to be a significant performance difference between loading an operand as Object and converting to double, and loading it as double (when we're allowed to reorder converts and loads). That is, an "i < size" (where size is in scope and i is double) can be emitted as:
> 
>  dload 5 // i
>  aload 2 // scope
>  invokedynamic dyn:getProp|getElem|getMethod:size(Object;)D // size
>  dcmpg
> 
> instead of 
> 
>  dload 5
>  aload 2
>  invokedynamic dyn:getProp|getElem|getMethod:size(Object;)Object
>  invokestatic JSType.toNumber(Object)
>  dcmpg
> 
> The first one is actually faster, especially when size is already a number due to dual fields (it was just unprovable statically). For this, I uploaded a small differential patch between what you already reviewed and the new modification. Please review this as well <http://cr.openjdk.java.net/~attila/8035712/webrev.01/>
> 
> Thanks,
>  Attila.
> 
> On Mar 4, 2015, at 5:17 PM, Marcus Lagergren <marcus.lagergren at oracle.com> wrote:
> 
>> +1 if you have done the octane regression analysis.
>> 
>>> On 04 Mar 2015, at 11:34, Attila Szegedi <attila.szegedi at oracle.com> wrote:
>>> 
>>> Please review JDK-8035712 at <http://cr.openjdk.java.net/~attila/8035712/webrev.00> for <https://bugs.openjdk.java.net/browse/JDK-8035712>
>>> 
>>> The JIRA issue has notes on the implementation: <https://bugs.openjdk.java.net/browse/JDK-8035712?focusedCommentId=13615184&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13615184>
>>> 
>>> Thanks,
>>> Attila.
>> 
> 



More information about the nashorn-dev mailing list