Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8008243

Zero: Implement fast bytecodes

    XMLWordPrintable

Details

    • b24
    • generic
    • generic

    Backports

      Description

        http://mail.openjdk.java.net/pipermail/hotspot-dev/2013-February/008449.html

        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

        Attachments

          Issue Links

            Activity

              People

                shade Aleksey Shipilev
                twisti Christian Thalinger
                Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: