src/cpu/sparc/vm/methodHandles_sparc.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/cpu/sparc/vm/methodHandles_sparc.cpp	Wed Sep 25 20:46:16 2013
--- new/src/cpu/sparc/vm/methodHandles_sparc.cpp	Wed Sep 25 20:46:15 2013

*** 1,7 **** --- 1,7 ---- /* ! * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. ! * Copyright (c) 2008, 2013, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 122,131 **** --- 122,143 ---- void MethodHandles::jump_from_method_handle(MacroAssembler* _masm, Register method, Register target, Register temp, bool for_compiler_entry) { assert(method == G5_method, "interpreter calling convention"); assert_different_registers(method, target, temp); + { + Label ok; + __ br_notnull_short(G5_method, Assembler::pt, ok); + AddressLiteral icce(StubRoutines::throw_AbstractMethodError_entry()); + __ jump_to(icce, temp); + __ delayed()->nop(); + + + __ should_not_reach_here(); + __ bind(ok); + } + if (!for_compiler_entry && JvmtiExport::can_post_interpreter_events()) { Label run_compiled_code; // JVMTI events, such as single-stepping, are implemented partly by avoiding running // compiled code in threads for which the event is enabled. Check here for // interp_only_mode if these events CAN be enabled.

src/cpu/sparc/vm/methodHandles_sparc.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File