comparison src/cpu/x86/vm/c1_Runtime1_x86.cpp @ 8883:b9a918201d47

Merge with hsx25
author Gilles Duboscq <duboscq@ssw.jku.at>
date Sat, 06 Apr 2013 20:04:06 +0200
parents c3657d00e343 46f6f063b272
children cefad50507d8
comparison
equal deleted inserted replaced
8660:d47b52b0ff68 8883:b9a918201d47
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();