Mercurial > hg > truffle
comparison src/cpu/sparc/vm/templateInterpreter_sparc.cpp @ 1295:3cf667df43ef
6919934: JSR 292 needs to support x86 C1
Summary: This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
author | twisti |
---|---|
date | Tue, 09 Mar 2010 20:16:19 +0100 |
parents | 389049f3f393 |
children | c640000b7cc1 |
comparison
equal
deleted
inserted
replaced
1293:51db1e4b379d | 1295:3cf667df43ef |
---|---|
1 /* | 1 /* |
2 * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. | 2 * Copyright 1997-2010 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
1820 // the Intel code which lacks this.) | 1820 // the Intel code which lacks this.) |
1821 __ mov(Oexception, Oexception ->after_save()); // get exception in I0 so it will be on O0 after restore | 1821 __ mov(Oexception, Oexception ->after_save()); // get exception in I0 so it will be on O0 after restore |
1822 __ add(issuing_pc_addr, Oissuing_pc->after_save()); // likewise set I1 to a value local to the caller | 1822 __ add(issuing_pc_addr, Oissuing_pc->after_save()); // likewise set I1 to a value local to the caller |
1823 __ super_call_VM_leaf(L7_thread_cache, | 1823 __ super_call_VM_leaf(L7_thread_cache, |
1824 CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), | 1824 CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), |
1825 Oissuing_pc->after_save()); | 1825 G2_thread, Oissuing_pc->after_save()); |
1826 | 1826 |
1827 // The caller's SP was adjusted upon method entry to accomodate | 1827 // The caller's SP was adjusted upon method entry to accomodate |
1828 // the callee's non-argument locals. Undo that adjustment. | 1828 // the callee's non-argument locals. Undo that adjustment. |
1829 __ JMP(O0, 0); // return exception handler in caller | 1829 __ JMP(O0, 0); // return exception handler in caller |
1830 __ delayed()->restore(I5_savedSP, G0, SP); | 1830 __ delayed()->restore(I5_savedSP, G0, SP); |