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 hotspot-gc-dev mailing list