diff src/share/vm/graal/graalCompilerToVM.cpp @ 5618:60ca7d300b8f

reverted to using fast_new_instance_init_check_id stub to use fast TLAB refilling
author Doug Simon <doug.simon@oracle.com>
date Fri, 15 Jun 2012 13:16:43 +0200
parents e79b593e0632
children 7d25723b7699
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompilerToVM.cpp	Fri Jun 15 12:05:13 2012 +0200
+++ b/src/share/vm/graal/graalCompilerToVM.cpp	Fri Jun 15 13:16:43 2012 +0200
@@ -816,10 +816,15 @@
   set_int(env, config, "bciProfileWidth", BciProfileWidth);
   set_int(env, config, "typeProfileWidth", TypeProfileWidth);
 
+  // We use the fast path stub so that we get TLAB refills whenever possible instead of
+  // unconditionally allocating directly from the heap (which the slow path does).
+  // The stub must also do initialization when the compiled check fails.
+  Runtime1::StubID newInstanceStub = Runtime1::fast_new_instance_init_check_id;
+
   set_long(env, config, "debugStub", VmIds::addStub((address)warning));
   set_long(env, config, "instanceofStub", VmIds::addStub(Runtime1::entry_for(Runtime1::slow_subtype_check_id)));
   set_long(env, config, "verifyPointerStub", VmIds::addStub(Runtime1::entry_for(Runtime1::graal_verify_pointer_id)));
-  set_long(env, config, "newInstanceStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_instance_id)));
+  set_long(env, config, "newInstanceStub", VmIds::addStub(Runtime1::entry_for(newInstanceStub)));
   set_long(env, config, "newTypeArrayStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_type_array_id)));
   set_long(env, config, "newObjectArrayStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_object_array_id)));
   set_long(env, config, "newMultiArrayStub", VmIds::addStub(Runtime1::entry_for(Runtime1::new_multi_array_id)));