equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
218 |
218 |
219 const Register flags = cache; |
219 const Register flags = cache; |
220 __ movl(flags, Address(cache, index, Address::times_ptr, ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset())); |
220 __ movl(flags, Address(cache, index, Address::times_ptr, ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset())); |
221 __ andl(flags, ConstantPoolCacheEntry::parameter_size_mask); |
221 __ andl(flags, ConstantPoolCacheEntry::parameter_size_mask); |
222 __ lea(rsp, Address(rsp, flags, Interpreter::stackElementScale())); |
222 __ lea(rsp, Address(rsp, flags, Interpreter::stackElementScale())); |
|
223 |
|
224 const Register java_thread = NOT_LP64(rcx) LP64_ONLY(r15_thread); |
|
225 if (JvmtiExport::can_pop_frame()) { |
|
226 NOT_LP64(__ get_thread(java_thread)); |
|
227 __ check_and_handle_popframe(java_thread); |
|
228 } |
|
229 if (JvmtiExport::can_force_early_return()) { |
|
230 NOT_LP64(__ get_thread(java_thread)); |
|
231 __ check_and_handle_earlyret(java_thread); |
|
232 } |
|
233 |
223 __ dispatch_next(state, step); |
234 __ dispatch_next(state, step); |
224 |
235 |
225 return entry; |
236 return entry; |
226 } |
237 } |
227 |
238 |