8008243: Zero: implement fast-bytecodes [Was: Re: [RFC] Fast-bytecodes for Zero]
David Holmes
david.holmes at oracle.com
Fri Feb 15 02:48:26 PST 2013
On 15/02/2013 8:22 PM, Roman Kennke wrote:
> Hi David,
>
> Am Freitag, den 15.02.2013, 17:25 +1000 schrieb David Holmes:
>> There's a lot of changes to shared code here - what is the impact on
>> non-zero platforms?
>
> The changes to shared code are in bytecodeInterpreter.cpp, which is, to
> my knowledge, only used by Zero. *If* there are other interpreters that
> use it (maybe in closed trees?) they would most likely just pick up and
> benefit from the improvements. But of course, I cannot tell...
Ah okay - I didn't realise that. I'll leave it to Christian and other
compiler knowledgeable folks then.
Thanks,
David
> Regards,
> Roman
>
>> Thanks,
>> David
>>
>> On 15/02/2013 4:51 AM, Christian Thalinger wrote:
>>> I've filed:
>>>
>>> 8008243: Zero: implement fast-bytecodes
>>>
>>> -- Chris
>>>
>>> On Feb 13, 2013, at 11:40 AM, Roman Kennke <rkennke at redhat.com> wrote:
>>>
>>>> The following change implements support for the following fast-bytecodes
>>>> in the Zero interpreter:
>>>>
>>>> fast_agetfield
>>>> fast_bgetfield
>>>> fast_cgetfield
>>>> fast_dgetfield
>>>> fast_fgetfield
>>>> fast_igetfield
>>>> fast_lgetfield
>>>> fast_sgetfield
>>>> fast_aputfield
>>>> fast_bputfield
>>>> fast_cputfield
>>>> fast_dputfield
>>>> fast_fputfield
>>>> fast_iputfield
>>>> fast_lputfield
>>>> fast_sputfield
>>>> fast_aload_0
>>>> fast_iaccess_0
>>>> fast_aaccess_0
>>>> fast_faccess_0
>>>> fast_iload
>>>> fast_iload2
>>>> fast_icaload
>>>> fast_invokevfinal
>>>>
>>>> All together this leads to a speedup of the interpreter of about 25%.
>>>>
>>>> Some notes:
>>>> - I extracted the JVMTI related blocks into a macro to avoid repetition.
>>>> - The field get/put opcodes are only rewritten for non-volatile
>>>> non-static field access, this makes the fast one really fast (no
>>>> additional branches needed), and static/volatile field accesses seem
>>>> rare enough anyway.
>>>>
>>>> http://cr.openjdk.java.net/~rkennke/zero-fast-opcodes/webrev.00/
>>>>
>>>>
>>>> Opinions? Can this be included in hotspot? And Can I have a bug-ID?
>>>>
>>>> Best regards,
>>>> Roman
>>>>
>>>>
>>>
>
>
More information about the hotspot-dev
mailing list