src/cpu/x86/vm/c1_Runtime1_x86.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-comp-code-aging Cdiff src/cpu/x86/vm/c1_Runtime1_x86.cpp

src/cpu/x86/vm/c1_Runtime1_x86.cpp

Print this page

        

*** 1466,1478 **** break; case deoptimize_id: { StubFrame f(sasm, "deoptimize", dont_gc_arguments); ! const int num_rt_args = 1; // thread OopMap* oop_map = save_live_registers(sasm, num_rt_args); ! int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, deoptimize)); oop_maps = new OopMapSet(); oop_maps->add_gc_map(call_offset, oop_map); restore_live_registers(sasm); DeoptimizationBlob* deopt_blob = SharedRuntime::deopt_blob(); assert(deopt_blob != NULL, "deoptimization blob must have been created"); --- 1466,1479 ---- break; case deoptimize_id: { StubFrame f(sasm, "deoptimize", dont_gc_arguments); ! const int num_rt_args = 2; // thread, trap_request OopMap* oop_map = save_live_registers(sasm, num_rt_args); ! 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); DeoptimizationBlob* deopt_blob = SharedRuntime::deopt_blob(); assert(deopt_blob != NULL, "deoptimization blob must have been created");
src/cpu/x86/vm/c1_Runtime1_x86.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File