Request for review (L): 7087838: JSR 292: add throttling logic for optimistic call site optimizations

John Rose john.r.rose at oracle.com
Fri Sep 16 11:39:58 PDT 2011


Good work; reviewed!

This assert in dependencies is puzzling to read, since it depends on an undocumented invariant:
  assert(target == changes->method_handle(), "must be");

I suggest adding an assert on Compile_lock (like many of the other methods of that kind), or at least a comment to the effect that the CS is stable under the Compile_lock.

Note:  We may eventually have scaling problems if there are lots of CS's bound into code, *and* lots of new CS's being created.  This may require marking a CS with a bit which guarantees (under Compile_lock) there are no dependencies on that particular CS, so that the code cache does not need to be searched when a new CS is reconfigured.  This is not an immediate problem, because CallSite.<init> does not use the native method; it just initializes the field.

-- John

On Sep 16, 2011, at 5:02 AM, Christian Thalinger wrote:

> [This change will be pushed after 7087357.  So ignore the code removal in src/share/vm/classfile/javaClasses.cpp.]
> 
> http://cr.openjdk.java.net/~twisti/7087838/
> 
> 7087838: JSR 292: add throttling logic for optimistic call site optimizations
> Reviewed-by:



More information about the hotspot-compiler-dev mailing list