equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2016, 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. |
204 // |
204 // |
205 // For Compiler1, deoptimization can occur while throwing a NullPointerException at monitorenter, |
205 // For Compiler1, deoptimization can occur while throwing a NullPointerException at monitorenter, |
206 // in which case bcp should point to the monitorenter since it is within the exception's range. |
206 // in which case bcp should point to the monitorenter since it is within the exception's range. |
207 |
207 |
208 assert(*bcp != Bytecodes::_monitorenter || is_top_frame, "a _monitorenter must be a top frame"); |
208 assert(*bcp != Bytecodes::_monitorenter || is_top_frame, "a _monitorenter must be a top frame"); |
209 assert(thread->deopt_nmethod() != NULL, "nmethod should be known"); |
209 assert(thread->deopt_compiled_method() != NULL, "compiled method should be known"); |
210 guarantee(!(thread->deopt_nmethod()->is_compiled_by_c2() && |
210 guarantee(!(thread->deopt_compiled_method()->is_compiled_by_c2() && |
211 *bcp == Bytecodes::_monitorenter && |
211 *bcp == Bytecodes::_monitorenter && |
212 exec_mode == Deoptimization::Unpack_exception), |
212 exec_mode == Deoptimization::Unpack_exception), |
213 "shouldn't get exception during monitorenter"); |
213 "shouldn't get exception during monitorenter"); |
214 |
214 |
215 int popframe_preserved_args_size_in_bytes = 0; |
215 int popframe_preserved_args_size_in_bytes = 0; |