RFR(M): 8202713: Create a MacroAssembler::access_load/store_at wrapper for S390 and PPC
Doerr, Martin
martin.doerr at sap.com
Wed May 16 12:30:22 UTC 2018
Hi Götz,
> barrierSetAssembler_ppc.cpp
>
> The name of the label is_null is misleading. It sounds
> as the name of a boolean variable. Maybe "L_handle_null"?
> And please use explicit compare for pointers: if (is_null == NULL) {
>
Done.
> Shouldn't there be an assertion that no other decorators
> are set than those handled here? Like all the memory ordering
> ones?
>
Done.
> macroAssembler_ppc.hpp:
>
> This header uses DecoratorSet thus should #include accessDecorators.hpp
>
Done.
> access_load/store_at()
> This is a misleading name for this function. I would think this
> should go to nativeInst_ppc.cpp :) Why would you access a store??
> But this needs to be changed on all platforms. So not
> scope of this review.
> The function is not really needed. Make it private, or inline
> it into load/store_heap_oop.
>
Made private.
> load_heap_oop_not_null:
> Please remove this on ppc, too. It's the only platform
> that still uses this function. There are only 6 uses.
> Please also remove the dead definitions of it on aarch64 and x86,
> as well as the comment in s390.ad mentioning it. (not sure about
> aarch64 as you can't easily test this).
>
Changed PPC64 and s390 code to use the full featured version only. Removed old functions.
I think it would be kind of unfair to change x86/aarch64 in this change because x86 folks will probably not read this review.
> Please extend the comment above load_heap_oop. It gained
> new functionality, and after removing the _not_null functions
> along with their documentation the current comment is pointless.
> Mention what the label is good for. Rename the label as above.
>
Done.
> macroAssembler_ppc.inline.hpp
>
> Please rename the boolean variable as_raw to without_gc_barrier.
> Actually, the DecoratorSet name AS_RAW is misleading, there is still
> encode/decode etc. But this is not in the scope of this change.
>
Not done because I'd like to keep PPC64 and s390 implementation consistent to the other platforms. A cleanup change for all platforms could be done in a separate change without s390 or PPC in its title.
> stubGenerator_ppc.cpp
> Remove comment // Load the oop. Makes the line too long, and
> not too much information gained :)
>
Done.
New webrev:
http://cr.openjdk.java.net/~mdoerr/8202713_ppc64_s390_masm_access/webrev.01/
Best regards,
Martin
More information about the hotspot-runtime-dev
mailing list