src/cpu/sparc/vm/c1_Runtime1_sparc.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-comp-code-aging Sdiff src/cpu/sparc/vm

src/cpu/sparc/vm/c1_Runtime1_sparc.cpp

Print this page




 764 
 765         int save_fpu_registers = (id == monitorexit_id);
 766         // make a frame and preserve the caller's caller-save registers
 767         OopMap* oop_map = save_live_registers(sasm, save_fpu_registers);
 768 
 769         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, monitorexit), G4);
 770 
 771         oop_maps = new OopMapSet();
 772         oop_maps->add_gc_map(call_offset, oop_map);
 773         restore_live_registers(sasm, save_fpu_registers);
 774 
 775         __ ret();
 776         __ delayed()->restore();
 777       }
 778       break;
 779 
 780     case deoptimize_id:
 781       {
 782         __ set_info("deoptimize", dont_gc_arguments);
 783         OopMap* oop_map = save_live_registers(sasm);
 784         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, deoptimize));
 785         oop_maps = new OopMapSet();
 786         oop_maps->add_gc_map(call_offset, oop_map);
 787         restore_live_registers(sasm);
 788         DeoptimizationBlob* deopt_blob = SharedRuntime::deopt_blob();
 789         assert(deopt_blob != NULL, "deoptimization blob must have been created");
 790         AddressLiteral dest(deopt_blob->unpack_with_reexecution());
 791         __ jump_to(dest, O0);
 792         __ delayed()->restore();
 793       }
 794       break;
 795 
 796     case access_field_patching_id:
 797       { __ set_info("access_field_patching", dont_gc_arguments);
 798         oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, access_field_patching));
 799       }
 800       break;
 801 
 802     case load_klass_patching_id:
 803       { __ set_info("load_klass_patching", dont_gc_arguments);
 804         oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, move_klass_patching));




 764 
 765         int save_fpu_registers = (id == monitorexit_id);
 766         // make a frame and preserve the caller's caller-save registers
 767         OopMap* oop_map = save_live_registers(sasm, save_fpu_registers);
 768 
 769         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, monitorexit), G4);
 770 
 771         oop_maps = new OopMapSet();
 772         oop_maps->add_gc_map(call_offset, oop_map);
 773         restore_live_registers(sasm, save_fpu_registers);
 774 
 775         __ ret();
 776         __ delayed()->restore();
 777       }
 778       break;
 779 
 780     case deoptimize_id:
 781       {
 782         __ set_info("deoptimize", dont_gc_arguments);
 783         OopMap* oop_map = save_live_registers(sasm);
 784         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, deoptimize), G4);
 785         oop_maps = new OopMapSet();
 786         oop_maps->add_gc_map(call_offset, oop_map);
 787         restore_live_registers(sasm);
 788         DeoptimizationBlob* deopt_blob = SharedRuntime::deopt_blob();
 789         assert(deopt_blob != NULL, "deoptimization blob must have been created");
 790         AddressLiteral dest(deopt_blob->unpack_with_reexecution());
 791         __ jump_to(dest, O0);
 792         __ delayed()->restore();
 793       }
 794       break;
 795 
 796     case access_field_patching_id:
 797       { __ set_info("access_field_patching", dont_gc_arguments);
 798         oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, access_field_patching));
 799       }
 800       break;
 801 
 802     case load_klass_patching_id:
 803       { __ set_info("load_klass_patching", dont_gc_arguments);
 804         oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, move_klass_patching));


src/cpu/sparc/vm/c1_Runtime1_sparc.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File