hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp
changeset 16611 6807a703dd6b
parent 15482 470d0b0c09f1
child 19710 2f8ca425504e
equal deleted inserted replaced
16381:806d87cb0cc7 16611:6807a703dd6b
  1805 
  1805 
  1806       }
  1806       }
  1807       break;
  1807       break;
  1808 #endif // INCLUDE_ALL_GCS
  1808 #endif // INCLUDE_ALL_GCS
  1809 
  1809 
       
  1810     case predicate_failed_trap_id:
       
  1811       {
       
  1812         StubFrame f(sasm, "predicate_failed_trap", dont_gc_arguments);
       
  1813 
       
  1814         OopMap* map = save_live_registers(sasm, 1);
       
  1815 
       
  1816         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, predicate_failed_trap));
       
  1817         oop_maps = new OopMapSet();
       
  1818         oop_maps->add_gc_map(call_offset, map);
       
  1819         restore_live_registers(sasm);
       
  1820         __ leave();
       
  1821         DeoptimizationBlob* deopt_blob = SharedRuntime::deopt_blob();
       
  1822         assert(deopt_blob != NULL, "deoptimization blob must have been created");
       
  1823 
       
  1824         __ jump(RuntimeAddress(deopt_blob->unpack_with_reexecution()));
       
  1825       }
       
  1826       break;
       
  1827 
  1810     default:
  1828     default:
  1811       { StubFrame f(sasm, "unimplemented entry", dont_gc_arguments);
  1829       { StubFrame f(sasm, "unimplemented entry", dont_gc_arguments);
  1812         __ movptr(rax, (int)id);
  1830         __ movptr(rax, (int)id);
  1813         __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, unimplemented_entry), rax);
  1831         __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, unimplemented_entry), rax);
  1814         __ should_not_reach_here();
  1832         __ should_not_reach_here();