[aarch64-port-dev ] RFR: Critical Shenandoah patch for interpreter

Andrew Hughes gnu.andrew at redhat.com
Thu Jul 21 22:05:25 UTC 2016



----- Original Message -----
> 
> 
> > My concern with this is the changes in the shared code. Are
> > they only applicable when Shenandoah is in use? Or should they
> > be considered upstream as more general fixes?
> > 
> > For example, the addition of:
> > 
> > +    oopDesc::bs()->interpreter_write_barrier(_masm, obj);
> > 
> > to src/cpu/x86/vm/templateTable_x86_64.cpp. Is this a no-op
> > if Shenandoah is not active?
> 
> Yes, that is a no-op for all GCs except Shenandoah.
> 
> > With
> > -            (quicksuperk->class_loader()  == class_loader()))) {
> > +          (oopDesc::equals(quicksuperk->class_loader(),
> > class_loader())))) {
> > 
> > in src/share/vm/classfile/systemDictionary.cpp. Is this not
> > a sensible cleanup that should go upstream?
> 
> Similar here: for all GCs other than Shenandoah, oopDesc::equals(a, b)
> expands to a==b, for Shenandoah we need to do a little bit of special
> handling to avoid false negatives in case a==b but we're getting two
> different copies of the same object.
> 

Ok, thanks for clarifying. Sounds like these could potentially be a
first round of upstream changes, building the way for Shenandoah.

Can we push these changes ASAP? Then I can add the security update on
top and we can get it out to end-users.

> Roman
> 
> 

-- 
Andrew :)

Senior Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: ed25519/35964222 (hkp://keys.gnupg.net)
Fingerprint = 5132 579D D154 0ED2 3E04  C5A0 CFDA 0F9B 3596 4222




More information about the aarch64-port-dev mailing list