< prev index next >

src/hotspot/share/interpreter/templateInterpreter.cpp

Print this page
rev 55577 : imported patch 8227117.txt.00

*** 1,7 **** /* ! * Copyright (c) 1997, 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. --- 1,7 ---- /* ! * Copyright (c) 1997, 2019, 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.
*** 27,36 **** --- 27,37 ---- #include "interpreter/interpreterRuntime.hpp" #include "interpreter/interp_masm.hpp" #include "interpreter/templateInterpreter.hpp" #include "interpreter/templateInterpreterGenerator.hpp" #include "interpreter/templateTable.hpp" + #include "logging/log.hpp" #include "memory/resourceArea.hpp" #include "runtime/timerTrace.hpp" #ifndef CC_INTERP
*** 281,293 **** --- 282,298 ---- while (size-- > 0) *to++ = *from++; } void TemplateInterpreter::notice_safepoints() { if (!_notice_safepoints) { + log_debug(interpreter, safepoint)("switching active_table to safept_table."); // switch to safepoint dispatch table _notice_safepoints = true; copy_table((address*)&_safept_table, (address*)&_active_table, sizeof(_active_table) / sizeof(address)); + } else { + log_debug(interpreter, safepoint)("active_table is already safept_table; " + "notice_safepoints() call is no-op."); } } // switch from the dispatch table which notices safepoints back to the // normal dispatch table. So that we can notice single stepping points,
*** 295,308 **** --- 300,320 ---- // Note that the should_post_single_step test is exactly as fast as the // JvmtiExport::_enabled test and covers both cases. void TemplateInterpreter::ignore_safepoints() { if (_notice_safepoints) { if (!JvmtiExport::should_post_single_step()) { + log_debug(interpreter, safepoint)("switching active_table to normal_table."); // switch to normal dispatch table _notice_safepoints = false; copy_table((address*)&_normal_table, (address*)&_active_table, sizeof(_active_table) / sizeof(address)); + } else { + log_debug(interpreter, safepoint)("single stepping is still active; " + "ignoring ignore_safepoints() call."); } + } else { + log_debug(interpreter, safepoint)("active_table is already normal_table; " + "ignore_safepoints() call is no-op."); } } //------------------------------------------------------------------------------------------------------------------------ // Deoptimization support
< prev index next >