8008243: Zero: implement fast-bytecodes [Was: Re: [RFC] Fast-bytecodes for Zero]

Christian Thalinger christian.thalinger at oracle.com
Thu Feb 14 10:51:02 PST 2013


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