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