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

Christian Thalinger christian.thalinger at oracle.com
Fri Sep 16 05:02:43 PDT 2011


[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:

The optimistic optimization for MutableCallSite and VolatileCallSite
invalidate compiled methods on every setTarget.  This possibly results
in a recompile.  For ever-changing call sites this is a performance
hit.

The fix is to add some throttling logic that prevents the optimistic
optimization after a specified amount of invalidations per CallSite
object.

This change also moves the flush_dependents_on methods from Universe
to CodeCache.

src/share/vm/c1/c1_GraphBuilder.cpp
src/share/vm/ci/ciCallSite.cpp
src/share/vm/ci/ciCallSite.hpp
src/share/vm/classfile/javaClasses.cpp
src/share/vm/classfile/javaClasses.hpp
src/share/vm/classfile/systemDictionary.cpp
src/share/vm/classfile/vmSymbols.hpp
src/share/vm/code/codeCache.cpp
src/share/vm/code/codeCache.hpp
src/share/vm/code/dependencies.cpp
src/share/vm/code/dependencies.hpp
src/share/vm/memory/universe.cpp
src/share/vm/memory/universe.hpp
src/share/vm/oops/methodOop.cpp
src/share/vm/opto/callGenerator.cpp
src/share/vm/opto/memnode.cpp
src/share/vm/prims/jvmtiRedefineClasses.cpp
src/share/vm/prims/methodHandles.cpp
src/share/vm/runtime/globals.hpp



More information about the hotspot-compiler-dev mailing list