Please review: 

Bug: https://bugs.openjdk.java.net/browse/JDK-8069338
Webrev: http://cr.openjdk.java.net/~hannesw/8069338/webrev.00/

This implements shared scope calls for optimistic vars/calls. I followed 
Attila’s blueprint in the bug description to the last detail - thanks for 
figuring it all out.

Some adjustments and cleanups I did along the way:

 - Originally shared scope calls were designed to support slow scope vars 
(with/eval). However, that feature was disabled later on. I refactored the code 
to make it clear that we only do shared scope calls for fast scope operations.
 - I unified the threshold for all shared scope operations to 5. I don’t think 
there is a reason for different thresholds for different operations. I did some 
testing, using 5 as threshold appeared to be a sensible value.

Running all of the  octane benchmark I see a decrease in created callsites (200 
000 to 178 000) and a slight decrease in callsite invalidations.

Hannes

Reply via email to