Mercurial > hg > truffle
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(); |