equal
deleted
inserted
replaced
52 * from it. |
52 * from it. |
53 */ |
53 */ |
54 class MemTracker; |
54 class MemTracker; |
55 |
55 |
56 class NativeCallStack : public StackObj { |
56 class NativeCallStack : public StackObj { |
57 friend class MemTracker; |
|
58 |
|
59 private: |
57 private: |
60 address _stack[NMT_TrackingStackDepth]; |
58 address _stack[NMT_TrackingStackDepth]; |
61 unsigned int _hash_value; |
59 unsigned int _hash_value; |
62 |
60 |
63 static NativeCallStack EMPTY_STACK; |
|
64 public: |
61 public: |
65 NativeCallStack(int toSkip = 0, bool fillStack = false); |
62 NativeCallStack(int toSkip = 0, bool fillStack = false); |
66 NativeCallStack(address* pc, int frameCount); |
63 NativeCallStack(address* pc, int frameCount); |
67 |
64 |
68 static inline const NativeCallStack& empty_stack() { |
65 static inline const NativeCallStack& empty_stack() { |
|
66 static const NativeCallStack EMPTY_STACK(0, false); |
69 return EMPTY_STACK; |
67 return EMPTY_STACK; |
70 } |
68 } |
71 |
69 |
72 // if it is an empty stack |
70 // if it is an empty stack |
73 inline bool is_empty() const { |
71 inline bool is_empty() const { |