hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp
changeset 10972 ef164805934c
parent 10508 233d2e7c462d
child 11430 718fc06da49a
child 11407 5399831730cd
equal deleted inserted replaced
10971:db45f6ab9a75 10972:ef164805934c
  1445         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, monitorexit), rax);
  1445         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, monitorexit), rax);
  1446 
  1446 
  1447         oop_maps = new OopMapSet();
  1447         oop_maps = new OopMapSet();
  1448         oop_maps->add_gc_map(call_offset, map);
  1448         oop_maps->add_gc_map(call_offset, map);
  1449         restore_live_registers(sasm, save_fpu_registers);
  1449         restore_live_registers(sasm, save_fpu_registers);
  1450 
  1450       }
       
  1451       break;
       
  1452 
       
  1453     case deoptimize_id:
       
  1454       {
       
  1455         StubFrame f(sasm, "deoptimize", dont_gc_arguments);
       
  1456         const int num_rt_args = 1;  // thread
       
  1457         OopMap* oop_map = save_live_registers(sasm, num_rt_args);
       
  1458         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, deoptimize));
       
  1459         oop_maps = new OopMapSet();
       
  1460         oop_maps->add_gc_map(call_offset, oop_map);
       
  1461         restore_live_registers(sasm);
       
  1462         DeoptimizationBlob* deopt_blob = SharedRuntime::deopt_blob();
       
  1463         assert(deopt_blob != NULL, "deoptimization blob must have been created");
       
  1464         __ leave();
       
  1465         __ jump(RuntimeAddress(deopt_blob->unpack_with_reexecution()));
  1451       }
  1466       }
  1452       break;
  1467       break;
  1453 
  1468 
  1454     case access_field_patching_id:
  1469     case access_field_patching_id:
  1455       { StubFrame f(sasm, "access_field_patching", dont_gc_arguments);
  1470       { StubFrame f(sasm, "access_field_patching", dont_gc_arguments);