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);