RFR: JDK-8222537: Avoid fetching _klass twice in TypeArrayOop::size()

Roman Kennke rkennke at redhat.com
Tue Apr 16 20:45:42 UTC 2019


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.

Bug:
https://bugs.openjdk.java.net/browse/JDK-8222537
Webrev:
http://cr.openjdk.java.net/~rkennke/JDK-8222537/webrev.00/
Testing:
hotspot_gc_shenandoah with and without the prototype, hotspot/tier1

Can I please get reviews?

Thanks,
Roman



More information about the hotspot-gc-dev mailing list