# HG changeset patch # User acorn # Date 1331270900 18000 # Node ID d59a6302465aaac406880e4db711ea02305d7d75 # Parent fdf4deca44ecae384c550c7b666c20a8c751d8fc# Parent 8a48c2906f91e7c6e77edbae0b8ca5f6b5d44a09 Merge diff -r fdf4deca44ec -r d59a6302465a src/cpu/sparc/vm/assembler_sparc.hpp --- a/src/cpu/sparc/vm/assembler_sparc.hpp Thu Mar 08 06:33:26 2012 -0800 +++ b/src/cpu/sparc/vm/assembler_sparc.hpp Fri Mar 09 00:28:20 2012 -0500 @@ -2221,7 +2221,7 @@ // traps as per trap.h (SPARC ABI?) void breakpoint_trap(); - void breakpoint_trap(Condition c, CC cc = icc); + void breakpoint_trap(Condition c, CC cc); void flush_windows_trap(); void clean_windows_trap(); void get_psr_trap(); diff -r fdf4deca44ec -r d59a6302465a src/cpu/sparc/vm/cppInterpreter_sparc.cpp --- a/src/cpu/sparc/vm/cppInterpreter_sparc.cpp Thu Mar 08 06:33:26 2012 -0800 +++ b/src/cpu/sparc/vm/cppInterpreter_sparc.cpp Fri Mar 09 00:28:20 2012 -0500 @@ -1187,7 +1187,7 @@ #ifdef ASSERT __ tst(O1); - __ breakpoint_trap(Assembler::zero); + __ breakpoint_trap(Assembler::zero, Assembler::ptr_cc); #endif // ASSERT const int entry_size = frame::interpreter_frame_monitor_size() * wordSize; diff -r fdf4deca44ec -r d59a6302465a src/cpu/sparc/vm/sharedRuntime_sparc.cpp --- a/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Thu Mar 08 06:33:26 2012 -0800 +++ b/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Fri Mar 09 00:28:20 2012 -0500 @@ -3325,7 +3325,7 @@ // make sure that the frames are aligned properly #ifndef _LP64 __ btst(wordSize*2-1, SP); - __ breakpoint_trap(Assembler::notZero); + __ breakpoint_trap(Assembler::notZero, Assembler::ptr_cc); #endif #endif @@ -3407,7 +3407,7 @@ #ifdef ASSERT // make sure that there is at least one entry in the array __ tst(O4array_size); - __ breakpoint_trap(Assembler::zero); + __ breakpoint_trap(Assembler::zero, Assembler::icc); #endif // Now push the new interpreter frames diff -r fdf4deca44ec -r d59a6302465a src/cpu/sparc/vm/templateInterpreter_sparc.cpp --- a/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Thu Mar 08 06:33:26 2012 -0800 +++ b/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Fri Mar 09 00:28:20 2012 -0500 @@ -379,7 +379,7 @@ #ifdef ASSERT __ tst(O0); - __ breakpoint_trap(Assembler::zero); + __ breakpoint_trap(Assembler::zero, Assembler::ptr_cc); #endif // ASSERT __ bind(done); @@ -2050,7 +2050,7 @@ AddressLiteral stop_at(&StopInterpreterAt); __ load_ptr_contents(stop_at, G4_scratch); __ cmp(G3_scratch, G4_scratch); - __ breakpoint_trap(Assembler::equal); + __ breakpoint_trap(Assembler::equal, Assembler::icc); } #endif // not PRODUCT #endif // !CC_INTERP diff -r fdf4deca44ec -r d59a6302465a src/share/vm/prims/jvmtiClassFileReconstituter.cpp --- a/src/share/vm/prims/jvmtiClassFileReconstituter.cpp Thu Mar 08 06:33:26 2012 -0800 +++ b/src/share/vm/prims/jvmtiClassFileReconstituter.cpp Fri Mar 09 00:28:20 2012 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. 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 @@ -727,8 +727,11 @@ case Bytecodes::_invokestatic : // fall through case Bytecodes::_invokedynamic : // fall through case Bytecodes::_invokeinterface : - assert(len == 3 || (code == Bytecodes::_invokeinterface && len ==5), + assert(len == 3 || + (code == Bytecodes::_invokeinterface && len == 5) || + (code == Bytecodes::_invokedynamic && len == 5), "sanity check"); + int cpci = Bytes::get_native_u2(bcp+1); bool is_invokedynamic = (EnableInvokeDynamic && code == Bytecodes::_invokedynamic); if (is_invokedynamic)