RFR: 8216557 Aarch64: Add support for Concurrent Class Unloading

Andrew Haley aph at redhat.com
Mon Apr 20 17:22:12 UTC 2020

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.

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

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.

Andrew Haley  (he/him)
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 zgc-dev mailing list