--- a/hotspot/src/share/vm/oops/methodData.cpp Tue Jan 20 09:45:11 2015 +0100
+++ b/hotspot/src/share/vm/oops/methodData.cpp Wed Jan 21 10:51:35 2015 +0100
@@ -31,6 +31,7 @@
#include "memory/heapInspection.hpp"
#include "oops/methodData.hpp"
#include "prims/jvmtiRedefineClasses.hpp"
+#include "runtime/arguments.hpp"
#include "runtime/compilationPolicy.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/handles.inline.hpp"
@@ -1131,6 +1132,13 @@
_backedge_counter.init();
_invocation_counter_start = 0;
_backedge_counter_start = 0;
+
+ // Set per-method invoke- and backedge mask.
+ double scale = 1.0;
+ CompilerOracle::has_option_value(_method, "CompileThresholdScaling", scale);
+ _invoke_mask = right_n_bits(Arguments::scaled_freq_log(Tier0InvokeNotifyFreqLog, scale)) << InvocationCounter::count_shift;
+ _backedge_mask = right_n_bits(Arguments::scaled_freq_log(Tier0BackedgeNotifyFreqLog, scale)) << InvocationCounter::count_shift;
+
_tenure_traps = 0;
_num_loops = 0;
_num_blocks = 0;