--- a/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp Tue May 13 11:25:17 2014 +0200
+++ b/hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp Tue May 13 11:32:10 2014 -0700
@@ -1468,9 +1468,10 @@
case deoptimize_id:
{
StubFrame f(sasm, "deoptimize", dont_gc_arguments);
- const int num_rt_args = 1; // thread
+ const int num_rt_args = 2; // thread, trap_request
OopMap* oop_map = save_live_registers(sasm, num_rt_args);
- int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, deoptimize));
+ f.load_argument(0, rax);
+ int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, deoptimize), rax);
oop_maps = new OopMapSet();
oop_maps->add_gc_map(call_offset, oop_map);
restore_live_registers(sasm);