RFR(s): 8187547: PPC64: icache invalidation is incorrect in some places
Anton Kozlov
akozlov at azul.com
Thu Sep 14 13:05:31 UTC 2017
Hi, All!
Icache invalidation range calculation in NativeMovConstReg::set_data_plain and NativeMovConstReg::set_narrow_oop is incorrect and could cause VM crash:
https://bugs.openjdk.java.net/browse/JDK-8187547
I suppose the root is in mismatch of supposed and actual return values of MacroAssembler::patch_set_narrow_oop and MacroAssembler::patch_calculate_address_from_global_toc_at.
These functions takes address of the middle of sequence and expected to return first instruction offset (negative by current implementation). Instead of this, they return `-offset == abs(offset)` and offset to `data` respectively.
Supposed fix: http://cr.openjdk.java.net/~akozlov/8187547/webrev.01/
Thanks,
Anton
More information about the ppc-aix-port-dev
mailing list