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-runtime-dev
mailing list