8055007: NMT2: emptyStack missing in minimal build

Refactored emptyStack to a static member of NativeCallStack, which is accessible in minimal build.

Reviewed-by: coleenp, dholmes
This commit is contained in:
Zhengyu Gu 2014-08-19 08:34:25 -04:00
parent 1fec07f4bf
commit e672087234
8 changed files with 17 additions and 14 deletions

View file

@ -26,14 +26,13 @@
#define SHARE_VM_SERVICES_MEM_TRACKER_HPP
#include "services/nmtCommon.hpp"
#include "utilities/nativeCallStack.hpp"
class NativeCallStack;
extern NativeCallStack emptyStack;
#if !INCLUDE_NMT
#define CURRENT_PC emptyStack
#define CALLER_PC emptyStack
#define CURRENT_PC NativeCallStack::EMPTY_STACK
#define CALLER_PC NativeCallStack::EMPTY_STACK
class Tracker : public StackObj {
public:
@ -83,9 +82,9 @@ class MemTracker : AllStatic {
extern volatile bool NMT_stack_walkable;
#define CURRENT_PC ((MemTracker::tracking_level() == NMT_detail && NMT_stack_walkable) ? \
NativeCallStack(0, true) : emptyStack)
NativeCallStack(0, true) : NativeCallStack::EMPTY_STACK)
#define CALLER_PC ((MemTracker::tracking_level() == NMT_detail && NMT_stack_walkable) ? \
NativeCallStack(1, true) : emptyStack)
NativeCallStack(1, true) : NativeCallStack::EMPTY_STACK)
class MemBaseline;
class Mutex;