diff src/cpu/x86/vm/sharedRuntime_x86_64.cpp @ 4673:8021e46f4a99

another fix for resolving the issue with biased monitor and deoptimization
author Christian Haeubl <christian.haeubl@oracle.com>
date Wed, 22 Feb 2012 16:53:23 -0800
parents 9ae5048b9153
children 74c0b866fe8d
line wrap: on
line diff
--- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Wed Feb 22 17:27:11 2012 +0100
+++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Wed Feb 22 16:53:23 2012 -0800
@@ -2703,17 +2703,12 @@
   }
 #endif // ASSERT
   
-  __ movl(c_rarg1, (int32_t)(Deoptimization::make_trap_request(Deoptimization::Reason_unreached, Deoptimization::Action_none)));
   __ mov(c_rarg0, r15_thread);
-  __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::uncommon_trap)));
-  oop_maps->add_gc_map( __ pc()-start, map->deep_copy());
-
-  //__ reset_last_Java_frame(false, false);
-  //__ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::fetch_unroll_info)));
+  __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::fetch_unroll_info)));
 
   // Need to have an oopmap that tells fetch_unroll_info where to
   // find any register it might need.
-//  oop_maps->add_gc_map(__ pc() - start, map);
+  oop_maps->add_gc_map(__ pc() - start, map);
 
   __ reset_last_Java_frame(false, false);