Fri, 09 Mar 2012 00:28:20 -0500
Merge
1.1 --- a/src/cpu/sparc/vm/assembler_sparc.hpp Thu Mar 08 06:33:26 2012 -0800 1.2 +++ b/src/cpu/sparc/vm/assembler_sparc.hpp Fri Mar 09 00:28:20 2012 -0500 1.3 @@ -2221,7 +2221,7 @@ 1.4 // traps as per trap.h (SPARC ABI?) 1.5 1.6 void breakpoint_trap(); 1.7 - void breakpoint_trap(Condition c, CC cc = icc); 1.8 + void breakpoint_trap(Condition c, CC cc); 1.9 void flush_windows_trap(); 1.10 void clean_windows_trap(); 1.11 void get_psr_trap();
2.1 --- a/src/cpu/sparc/vm/cppInterpreter_sparc.cpp Thu Mar 08 06:33:26 2012 -0800 2.2 +++ b/src/cpu/sparc/vm/cppInterpreter_sparc.cpp Fri Mar 09 00:28:20 2012 -0500 2.3 @@ -1187,7 +1187,7 @@ 2.4 2.5 #ifdef ASSERT 2.6 __ tst(O1); 2.7 - __ breakpoint_trap(Assembler::zero); 2.8 + __ breakpoint_trap(Assembler::zero, Assembler::ptr_cc); 2.9 #endif // ASSERT 2.10 2.11 const int entry_size = frame::interpreter_frame_monitor_size() * wordSize;
3.1 --- a/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Thu Mar 08 06:33:26 2012 -0800 3.2 +++ b/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Fri Mar 09 00:28:20 2012 -0500 3.3 @@ -3325,7 +3325,7 @@ 3.4 // make sure that the frames are aligned properly 3.5 #ifndef _LP64 3.6 __ btst(wordSize*2-1, SP); 3.7 - __ breakpoint_trap(Assembler::notZero); 3.8 + __ breakpoint_trap(Assembler::notZero, Assembler::ptr_cc); 3.9 #endif 3.10 #endif 3.11 3.12 @@ -3407,7 +3407,7 @@ 3.13 #ifdef ASSERT 3.14 // make sure that there is at least one entry in the array 3.15 __ tst(O4array_size); 3.16 - __ breakpoint_trap(Assembler::zero); 3.17 + __ breakpoint_trap(Assembler::zero, Assembler::icc); 3.18 #endif 3.19 3.20 // Now push the new interpreter frames
4.1 --- a/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Thu Mar 08 06:33:26 2012 -0800 4.2 +++ b/src/cpu/sparc/vm/templateInterpreter_sparc.cpp Fri Mar 09 00:28:20 2012 -0500 4.3 @@ -379,7 +379,7 @@ 4.4 4.5 #ifdef ASSERT 4.6 __ tst(O0); 4.7 - __ breakpoint_trap(Assembler::zero); 4.8 + __ breakpoint_trap(Assembler::zero, Assembler::ptr_cc); 4.9 #endif // ASSERT 4.10 4.11 __ bind(done); 4.12 @@ -2050,7 +2050,7 @@ 4.13 AddressLiteral stop_at(&StopInterpreterAt); 4.14 __ load_ptr_contents(stop_at, G4_scratch); 4.15 __ cmp(G3_scratch, G4_scratch); 4.16 - __ breakpoint_trap(Assembler::equal); 4.17 + __ breakpoint_trap(Assembler::equal, Assembler::icc); 4.18 } 4.19 #endif // not PRODUCT 4.20 #endif // !CC_INTERP
5.1 --- a/src/share/vm/prims/jvmtiClassFileReconstituter.cpp Thu Mar 08 06:33:26 2012 -0800 5.2 +++ b/src/share/vm/prims/jvmtiClassFileReconstituter.cpp Fri Mar 09 00:28:20 2012 -0500 5.3 @@ -1,5 +1,5 @@ 5.4 /* 5.5 - * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. 5.6 + * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 5.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5.8 * 5.9 * This code is free software; you can redistribute it and/or modify it 5.10 @@ -727,8 +727,11 @@ 5.11 case Bytecodes::_invokestatic : // fall through 5.12 case Bytecodes::_invokedynamic : // fall through 5.13 case Bytecodes::_invokeinterface : 5.14 - assert(len == 3 || (code == Bytecodes::_invokeinterface && len ==5), 5.15 + assert(len == 3 || 5.16 + (code == Bytecodes::_invokeinterface && len == 5) || 5.17 + (code == Bytecodes::_invokedynamic && len == 5), 5.18 "sanity check"); 5.19 + 5.20 int cpci = Bytes::get_native_u2(bcp+1); 5.21 bool is_invokedynamic = (EnableInvokeDynamic && code == Bytecodes::_invokedynamic); 5.22 if (is_invokedynamic)