< prev index next >

src/hotspot/share/services/memTracker.cpp

Print this page
rev 53982 : Thread stack tracking

*** 1,7 **** /* ! * Copyright (c) 2012, 2018, 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) 2012, 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.
*** 29,38 **** --- 29,39 ---- #include "runtime/vmOperations.hpp" #include "services/memBaseline.hpp" #include "services/memReporter.hpp" #include "services/mallocTracker.inline.hpp" #include "services/memTracker.hpp" + #include "services/threadStackTracker.hpp" #include "utilities/debug.hpp" #include "utilities/defaultStream.hpp" #include "utilities/vmError.hpp" #ifdef _WINDOWS
*** 90,100 **** } void MemTracker::init() { NMT_TrackingLevel level = tracking_level(); if (level >= NMT_summary) { ! if (!VirtualMemoryTracker::late_initialize(level)) { shutdown(); return; } } } --- 91,102 ---- } void MemTracker::init() { NMT_TrackingLevel level = tracking_level(); if (level >= NMT_summary) { ! if (!VirtualMemoryTracker::late_initialize(level) || ! !ThreadStackTracker::late_initialize(level)) { shutdown(); return; } } }
*** 162,171 **** --- 164,174 ---- _tracking_level = level; // Make _tracking_level visible immediately. OrderAccess::fence(); VirtualMemoryTracker::transition(current_level, level); MallocTracker::transition(current_level, level); + ThreadStackTracker::transition(current_level, level); } else { // Upgrading tracking level is not supported and has never been supported. // Allocating and deallocating malloc tracking structures is not thread safe and // leads to inconsistencies unless a lot coarser locks are added. }
< prev index next >