RFR: 8216557 Aarch64: Add support for Concurrent Class Unloading
Stuart Monteith
stuart.monteith at arm.com
Mon Apr 20 19:35:19 UTC 2020
On 20/04/2020 18:22, Andrew Haley wrote:
> On 4/20/20 3:19 PM, Stuart Monteith wrote:
>> If anyone has bandwidth, would the be able to review this patch? It
>> addresses Andrew, Per and Erik's comments:
>> http://cr.openjdk.java.net/~smonteith/8216557/webrev.1/
>
> It looks right. For clarity I wonder if perhaps we should have a method
> bool BarrierSet::use_nmethod_barriers() or somesuch. It would be much
> easier to read.
>
That would be good. How about I apply that as a separate patch, as it
would necessarily be cross-platform.
> In future we should perhaps not inline the guard value, and move the
> infrequently-executed code out of line.
>
> Then this:
>
> 0x0000ffffa97fff14: ldr w8, 0x0000ffffa97fff3c
> 0x0000ffffa97fff18: dmb ishld
> 0x0000ffffa97fff1c: ldr w9, [x28, #36]
> 0x0000ffffa97fff20: cmp w8, w9
> 0x0000ffffa97fff24: b.eq 0x0000ffffa97fff40 // b.none
> ;; 0xFFFFA9118B00
> 0x0000ffffa97fff28: mov x8, #0x8b00 // #35584
> 0x0000ffffa97fff2c: movk x8, #0xa911, lsl #16
> 0x0000ffffa97fff30: movk x8, #0xffff, lsl #32
> 0x0000ffffa97fff34: blr x8
> 0x0000ffffa97fff38: b 0x0000ffffa97fff40
> 0x0000ffffa97fff3c
>
> would turn into this:
>
> : ldr w8, 0x0000ffffa97fff3c
> : dmb ishld
> : ldr w9, [x28, #36]
> : cmp w8, w9
> : b.ne 0x0000ffffa97fff40 // b.none
>
> but we don't have to do that right now. OK.
>
That would be ideal - a CodeStub to handle the slow path would then take
the responsibility for recording the relative location of the guard
value - currently that happens to be fixed.
I think I'd prefer to do that as a separate patch while I work out the
details.
Thanks for the review,
Stuart
More information about the zgc-dev
mailing list