99 // Check if object is recursive.
100 // Precondition: This lock-stack must contain the oop.
101 inline bool is_recursive(oop o) const;
102
103 // Try recursive enter.
104 // Precondition: This lock-stack must not be full.
105 inline bool try_recursive_enter(oop o);
106
107 // Try recursive exit.
108 // Precondition: This lock-stack must contain the oop.
109 inline bool try_recursive_exit(oop o);
110
111 // Removes an oop from an arbitrary location of this lock-stack.
112 // Precondition: This lock-stack must contain the oop.
113 // Returns the number of oops removed.
114 inline size_t remove(oop o);
115
116 // Tests whether the oop is on this lock-stack.
117 inline bool contains(oop o) const;
118
119 // GC support
120 inline void oops_do(OopClosure* cl);
121
122 // Printing
123 void print_on(outputStream* st);
124
125 // Verify Lock Stack consistent with lock order
126 void verify_consistent_lock_order(GrowableArray<oop>& lock_order, bool leaf_frame) const NOT_DEBUG_RETURN;
127 };
128
129 #endif // SHARE_RUNTIME_LOCKSTACK_HPP
|
99 // Check if object is recursive.
100 // Precondition: This lock-stack must contain the oop.
101 inline bool is_recursive(oop o) const;
102
103 // Try recursive enter.
104 // Precondition: This lock-stack must not be full.
105 inline bool try_recursive_enter(oop o);
106
107 // Try recursive exit.
108 // Precondition: This lock-stack must contain the oop.
109 inline bool try_recursive_exit(oop o);
110
111 // Removes an oop from an arbitrary location of this lock-stack.
112 // Precondition: This lock-stack must contain the oop.
113 // Returns the number of oops removed.
114 inline size_t remove(oop o);
115
116 // Tests whether the oop is on this lock-stack.
117 inline bool contains(oop o) const;
118
119 inline int monitor_count() const;
120 inline void move_to_address(oop* start);
121 inline void move_from_address(oop* start, int count);
122 inline int unique_count() const NOT_DEBUG_RETURN0;
123
124 // GC support
125 inline void oops_do(OopClosure* cl);
126
127 // Printing
128 void print_on(outputStream* st);
129
130 // Verify Lock Stack consistent with lock order
131 void verify_consistent_lock_order(GrowableArray<oop>& lock_order, bool leaf_frame) const NOT_DEBUG_RETURN;
132 };
133
134 #endif // SHARE_RUNTIME_LOCKSTACK_HPP
|