< prev index next >
src/cpu/x86/vm/templateInterpreterGenerator_x86.cpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2003, 2016, 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.
--- 1,7 ----
/*
! * Copyright (c) 2003, 2017, 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.
*** 218,227 ****
--- 218,238 ----
const Register flags = cache;
__ movl(flags, Address(cache, index, Address::times_ptr, ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset()));
__ andl(flags, ConstantPoolCacheEntry::parameter_size_mask);
__ lea(rsp, Address(rsp, flags, Interpreter::stackElementScale()));
+
+ const Register java_thread = NOT_LP64(rcx) LP64_ONLY(r15_thread);
+ if (JvmtiExport::can_pop_frame()) {
+ NOT_LP64(__ get_thread(java_thread));
+ __ check_and_handle_popframe(java_thread);
+ }
+ if (JvmtiExport::can_force_early_return()) {
+ NOT_LP64(__ get_thread(java_thread));
+ __ check_and_handle_earlyret(java_thread);
+ }
+
__ dispatch_next(state, step);
return entry;
}
< prev index next >