Mercurial > hg > graal-jvmci-8
diff 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 |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/runtime_sparc.cpp Mon May 24 14:15:14 2010 -0700 +++ b/src/cpu/sparc/vm/runtime_sparc.cpp Tue May 25 02:38:48 2010 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2010 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -116,6 +116,11 @@ __ mov(O0, G3_scratch); // Move handler address to temp __ restore(); + // Restore SP from L7 if the exception PC is a MethodHandle call site. + __ lduw(Address(G2_thread, JavaThread::is_method_handle_return_offset()), O7); + __ tst(O7); + __ movcc(Assembler::notZero, false, Assembler::icc, L7_mh_SP_save, SP); + // G3_scratch contains handler address // Since this may be the deopt blob we must set O7 to look like we returned // from the original pc that threw the exception