< 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 >