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

Roman Kennke rkennke at redhat.com
Tue May 15 13:40:56 UTC 2018


Am 15.05.2018 um 15:07 schrieb Andrew Haley:
> 
>> 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
> 


It just mirrors what is done in x86 and elsewhere. :-)

Roman



More information about the hotspot-dev mailing list