Merge
This commit is contained in:
commit
a0e6b7797c
@ -2221,7 +2221,7 @@ public:
|
||||
// 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();
|
||||
|
@ -1187,7 +1187,7 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register
|
||||
|
||||
#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;
|
||||
|
@ -3325,7 +3325,7 @@ static void gen_new_frame(MacroAssembler* masm, bool deopt) {
|
||||
// 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 @@ static void make_new_frames(MacroAssembler* masm, bool deopt) {
|
||||
#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
|
||||
|
@ -379,7 +379,7 @@ void InterpreterGenerator::lock_method(void) {
|
||||
|
||||
#ifdef ASSERT
|
||||
__ tst(O0);
|
||||
__ breakpoint_trap(Assembler::zero);
|
||||
__ breakpoint_trap(Assembler::zero, Assembler::ptr_cc);
|
||||
#endif // ASSERT
|
||||
|
||||
__ bind(done);
|
||||
@ -2050,7 +2050,7 @@ void TemplateInterpreterGenerator::stop_interpreter_at() {
|
||||
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
|
||||
|
@ -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 @@ void JvmtiClassFileReconstituter::copy_bytecodes(methodHandle mh,
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user