hotspot/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp
changeset 10972 ef164805934c
parent 10519 fb373fa38321
child 11430 718fc06da49a
child 11407 5399831730cd
equal deleted inserted replaced
10971:db45f6ab9a75 10972:ef164805934c
   764         oop_maps->add_gc_map(call_offset, oop_map);
   764         oop_maps->add_gc_map(call_offset, oop_map);
   765         restore_live_registers(sasm, save_fpu_registers);
   765         restore_live_registers(sasm, save_fpu_registers);
   766 
   766 
   767         __ ret();
   767         __ ret();
   768         __ delayed()->restore();
   768         __ delayed()->restore();
   769 
   769       }
       
   770       break;
       
   771 
       
   772     case deoptimize_id:
       
   773       {
       
   774         __ set_info("deoptimize", dont_gc_arguments);
       
   775         OopMap* oop_map = save_live_registers(sasm);
       
   776         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, deoptimize));
       
   777         oop_maps = new OopMapSet();
       
   778         oop_maps->add_gc_map(call_offset, oop_map);
       
   779         restore_live_registers(sasm);
       
   780         DeoptimizationBlob* deopt_blob = SharedRuntime::deopt_blob();
       
   781         assert(deopt_blob != NULL, "deoptimization blob must have been created");
       
   782         AddressLiteral dest(deopt_blob->unpack_with_reexecution());
       
   783         __ jump_to(dest, O0);
       
   784         __ delayed()->restore();
   770       }
   785       }
   771       break;
   786       break;
   772 
   787 
   773     case access_field_patching_id:
   788     case access_field_patching_id:
   774       { __ set_info("access_field_patching", dont_gc_arguments);
   789       { __ set_info("access_field_patching", dont_gc_arguments);