RFR: Little interpreter optimization in monitorenter/exit

Roman Kennke rkennke at redhat.com
Fri Oct 28 19:30:01 UTC 2016


In monitorenter/exit there are two little loops that search for
existing monitors for a given oop. We used to do read-barriers there to
ensure we don't get false negatives.

However, there's an invariant that we maintain: in BasicObjectLock, we
only ever store to-space oops, and across GC pauses, we ensure those
oops remain to-space.

I took out the read-barrier and added store-checks to verify the
invariant.

http://cr.openjdk.java.net/~rkennke/interpr-monitors/webrev.01/

Ok?

Roman



More information about the shenandoah-dev mailing list