1.1 --- a/src/share/vm/code/nmethod.hpp Mon Nov 03 12:02:40 2014 -0800 1.2 +++ b/src/share/vm/code/nmethod.hpp Thu Oct 02 10:55:36 2014 +0200 1.3 @@ -614,9 +614,16 @@ 1.4 // The parallel versions are used by G1. 1.5 bool do_unloading_parallel(BoolObjectClosure* is_alive, bool unloading_occurred); 1.6 void do_unloading_parallel_postponed(BoolObjectClosure* is_alive, bool unloading_occurred); 1.7 + 1.8 + private: 1.9 // Unload a nmethod if the *root object is dead. 1.10 bool can_unload(BoolObjectClosure* is_alive, oop* root, bool unloading_occurred); 1.11 + bool unload_if_dead_at(RelocIterator *iter_at_oop, BoolObjectClosure* is_alive, bool unloading_occurred); 1.12 1.13 + void mark_metadata_on_stack_at(RelocIterator* iter_at_metadata); 1.14 + void mark_metadata_on_stack_non_relocs(); 1.15 + 1.16 + public: 1.17 void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, 1.18 OopClosure* f); 1.19 void oops_do(OopClosure* f) { oops_do(f, false); }