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