--- old/src/cpu/x86/vm/c1_Runtime1_x86.cpp 2014-05-07 00:02:21.000000000 -0700 +++ new/src/cpu/x86/vm/c1_Runtime1_x86.cpp 2014-05-07 00:02:21.000000000 -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);