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