Mercurial > hg > truffle
comparison src/cpu/sparc/vm/runtime_sparc.cpp @ 1567:110501f54a99
6934104: JSR 292 needs to support SPARC C2
Summary: C2 for SPARC needs to support JSR 292.
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Tue, 25 May 2010 02:38:48 -0700 |
parents | 6b2273dd6fa9 |
children | e9ff18c4ace7 |
comparison
equal
deleted
inserted
replaced
1566:9f669cf29cb0 | 1567:110501f54a99 |
---|---|
1 /* | 1 /* |
2 * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved. | 2 * Copyright 1998-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. |
114 __ reset_last_Java_frame(); | 114 __ reset_last_Java_frame(); |
115 | 115 |
116 __ mov(O0, G3_scratch); // Move handler address to temp | 116 __ mov(O0, G3_scratch); // Move handler address to temp |
117 __ restore(); | 117 __ restore(); |
118 | 118 |
119 // Restore SP from L7 if the exception PC is a MethodHandle call site. | |
120 __ lduw(Address(G2_thread, JavaThread::is_method_handle_return_offset()), O7); | |
121 __ tst(O7); | |
122 __ movcc(Assembler::notZero, false, Assembler::icc, L7_mh_SP_save, SP); | |
123 | |
119 // G3_scratch contains handler address | 124 // G3_scratch contains handler address |
120 // Since this may be the deopt blob we must set O7 to look like we returned | 125 // Since this may be the deopt blob we must set O7 to look like we returned |
121 // from the original pc that threw the exception | 126 // from the original pc that threw the exception |
122 | 127 |
123 __ ld_ptr(G2_thread, JavaThread::exception_pc_offset(), O7); | 128 __ ld_ptr(G2_thread, JavaThread::exception_pc_offset(), O7); |