RFR: JDK-8202714: Create a MacroAssembler::access_load/store_at wrapper for AArch64

Andrew Haley aph at redhat.com
Tue May 15 13:07:18 UTC 2018


> On 14 May 2018 at 13:02, Roman Kennke <rkennke at redhat.com> wrote:
>> This reshuffles AArch64 code around BarrierSetAssembler calls follow the
>> equivalent code in x86:
>>
>> http://cr.openjdk.java.net/~rkennke/JDK-8202714/webrev.00/
>>
>> No regressions in hotspot/tier1
>>
>> Can I please get a review?

Looks OK.  This use of an explict base class override in MacroAssembler
is rather nasty:

3990 void MacroAssembler::access_store_at(BasicType type, DecoratorSet decorators,
3991                                      Address dst, Register src,
3992                                      Register tmp1, Register thread_tmp) {
3993   BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
3994   bool as_raw = (decorators & AS_RAW) != 0;
3995   if (as_raw) {
3996     bs->BarrierSetAssembler::store_at(this, decorators, type, dst, src, tmp1, thread_tmp);
3997   } else {
3998     bs->store_at(this, decorators, type, dst, src, tmp1, thread_tmp);
3999   }
4000 }
4001

-- 
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671


More information about the hotspot-dev mailing list