src/share/vm/prims/jvmtiImpl.hpp

changeset 2467
9afee0b9fc1d
parent 2445
7246a374a9f2
child 2511
bf8517f4e4d0
equal deleted inserted replaced
2466:2f33b03bd915 2467:9afee0b9fc1d
115 void remove (int index); 115 void remove (int index);
116 // clear out all elements and release all heap space, notify listener 116 // clear out all elements and release all heap space, notify listener
117 void clear(); 117 void clear();
118 // apply f to every element and update the cache 118 // apply f to every element and update the cache
119 void oops_do(OopClosure* f); 119 void oops_do(OopClosure* f);
120 // update the cache after a full gc
121 void gc_epilogue();
120 }; 122 };
121 123
122 124
123 /////////////////////////////////////////////////////////////// 125 ///////////////////////////////////////////////////////////////
124 // 126 //
146 int find(JvmtiBreakpoint& e) { return _cache.find((GrowableElement *) &e); } 148 int find(JvmtiBreakpoint& e) { return _cache.find((GrowableElement *) &e); }
147 void append(JvmtiBreakpoint& e) { _cache.append((GrowableElement *) &e); } 149 void append(JvmtiBreakpoint& e) { _cache.append((GrowableElement *) &e); }
148 void remove (int index) { _cache.remove(index); } 150 void remove (int index) { _cache.remove(index); }
149 void clear() { _cache.clear(); } 151 void clear() { _cache.clear(); }
150 void oops_do(OopClosure* f) { _cache.oops_do(f); } 152 void oops_do(OopClosure* f) { _cache.oops_do(f); }
153 void gc_epilogue() { _cache.gc_epilogue(); }
151 }; 154 };
152 155
153 156
154 /////////////////////////////////////////////////////////////// 157 ///////////////////////////////////////////////////////////////
155 // 158 //
280 283
281 int set(JvmtiBreakpoint& bp); 284 int set(JvmtiBreakpoint& bp);
282 int clear(JvmtiBreakpoint& bp); 285 int clear(JvmtiBreakpoint& bp);
283 void clearall_in_class_at_safepoint(klassOop klass); 286 void clearall_in_class_at_safepoint(klassOop klass);
284 void clearall(); 287 void clearall();
288 void gc_epilogue();
285 }; 289 };
286 290
287 291
288 /////////////////////////////////////////////////////////////// 292 ///////////////////////////////////////////////////////////////
289 // 293 //
323 327
324 // quickly test whether the bcp matches a cached breakpoint in the list 328 // quickly test whether the bcp matches a cached breakpoint in the list
325 static inline bool is_breakpoint(address bcp); 329 static inline bool is_breakpoint(address bcp);
326 330
327 static void oops_do(OopClosure* f); 331 static void oops_do(OopClosure* f);
332 static void gc_epilogue();
328 }; 333 };
329 334
330 // quickly test whether the bcp matches a cached breakpoint in the list 335 // quickly test whether the bcp matches a cached breakpoint in the list
331 bool JvmtiCurrentBreakpoints::is_breakpoint(address bcp) { 336 bool JvmtiCurrentBreakpoints::is_breakpoint(address bcp) {
332 address *bps = get_breakpoint_list(); 337 address *bps = get_breakpoint_list();

mercurial