--- a/hotspot/src/share/vm/opto/parse1.cpp Wed Oct 16 10:52:41 2013 +0200
+++ b/hotspot/src/share/vm/opto/parse1.cpp Tue Nov 05 17:38:04 2013 -0800
@@ -381,8 +381,8 @@
//------------------------------Parse------------------------------------------
// Main parser constructor.
-Parse::Parse(JVMState* caller, ciMethod* parse_method, float expected_uses)
- : _exits(caller)
+Parse::Parse(JVMState* caller, ciMethod* parse_method, float expected_uses, Parse* parent)
+ : _exits(caller), _parent(parent)
{
// Init some variables
_caller = caller;
@@ -1102,6 +1102,10 @@
_synch_lock = shared_lock(lock_obj);
}
+ // Feed profiling data for parameters to the type system so it can
+ // propagate it as speculative types
+ record_profiled_parameters_for_speculation();
+
if (depth() == 1) {
increment_and_test_invocation_counter(Tier2CompileThreshold);
}