# HG changeset patch # User Christian Haeubl # Date 1370870230 -7200 # Node ID b2aea23ee2b109bb2c7953981dc15ee03b152629 # Parent e2ffbaa682b84d2eba5ceafa6374317931fc3ca5 Only avoid graph caching when the graph was built without profiling information. diff -r e2ffbaa682b8 -r b2aea23ee2b1 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java Mon Jun 10 12:22:42 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java Mon Jun 10 15:17:10 2013 +0200 @@ -384,8 +384,6 @@ public int typeProfileWidth; public int methodProfileWidth; - public int interpreterProfilingThreshold; - public long inlineCacheMissStub; public long handleDeoptStub; public long uncommonTrapStub; diff -r e2ffbaa682b8 -r b2aea23ee2b1 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotProfilingInfo.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotProfilingInfo.java Mon Jun 10 12:22:42 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotProfilingInfo.java Mon Jun 10 15:17:10 2013 +0200 @@ -163,7 +163,7 @@ @Override public boolean isMature() { - return method.invocationCount() >= graalRuntime().getConfig().interpreterProfilingThreshold + GraalOptions.MatureProfilingInformationThreshold.getValue(); + return true; } @Override diff -r e2ffbaa682b8 -r b2aea23ee2b1 graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Mon Jun 10 12:22:42 2013 +0200 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Mon Jun 10 15:17:10 2013 +0200 @@ -86,8 +86,6 @@ // profiling information @Option(help = "") public static final OptionValue DeoptsToDisableOptimisticOptimization = new OptionValue<>(40); - @Option(help = "") - public static final OptionValue MatureProfilingInformationThreshold = new OptionValue<>(100); // comilation queue @Option(help = "") diff -r e2ffbaa682b8 -r b2aea23ee2b1 src/share/vm/graal/graalCompilerToVM.cpp --- a/src/share/vm/graal/graalCompilerToVM.cpp Mon Jun 10 12:22:42 2013 +0200 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Mon Jun 10 15:17:10 2013 +0200 @@ -738,8 +738,6 @@ set_int("typeProfileWidth", TypeProfileWidth); set_int("methodProfileWidth", MethodProfileWidth); - set_int("interpreterProfilingThreshold", InvocationCounter::get_ProfileLimit()); - set_int("tlabAlignmentReserve", (int32_t)ThreadLocalAllocBuffer::alignment_reserve()); set_long("tlabIntArrayMarkWord", (intptr_t)markOopDesc::prototype()->copy_set_hash(0x2)); set_long("heapTopAddress", (jlong)(address) Universe::heap()->top_addr()); diff -r e2ffbaa682b8 -r b2aea23ee2b1 src/share/vm/interpreter/invocationCounter.hpp --- a/src/share/vm/interpreter/invocationCounter.hpp Mon Jun 10 12:22:42 2013 +0200 +++ b/src/share/vm/interpreter/invocationCounter.hpp Mon Jun 10 15:17:10 2013 +0200 @@ -95,9 +95,9 @@ Action action() const { return _action[state()]; } int count() const { return _counter >> number_of_noncount_bits; } - static int get_InvocationLimit() { return InterpreterInvocationLimit >> number_of_noncount_bits; } - static int get_BackwardBranchLimit() { return InterpreterBackwardBranchLimit >> number_of_noncount_bits; } - static int get_ProfileLimit() { return InterpreterProfileLimit >> number_of_noncount_bits; } + int get_InvocationLimit() const { return InterpreterInvocationLimit >> number_of_noncount_bits; } + int get_BackwardBranchLimit() const { return InterpreterBackwardBranchLimit >> number_of_noncount_bits; } + int get_ProfileLimit() const { return InterpreterProfileLimit >> number_of_noncount_bits; } // Test counter using scaled limits like the asm interpreter would do rather than doing // the shifts to normalize the counter.