Avoid fetching _klass twice in TypeArrayOop::size()

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Not an Issue
    • Priority: P4
    • tbd
    • Affects Version/s: 8-shenandoah, 11-shenandoah, 12, 13
    • Component/s: hotspot
    • gc
    • generic
    • generic

      Currently, when calling TypeArrayOop::size(), we end up calling klass() twice: once before calling into size_given_klass() and then again before calling TypeArrayOop::object_size().

      This is currently only a minor performance nuisance.

      With upcoming Shenandoah's elimination of forwarding pointer, loading klass like this is not safe anymore, and therefore we only call size_given_klass(), and must avoid calling naked klass() altogether.

            Assignee:
            Roman Kennke
            Reporter:
            Roman Kennke
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: