Mercurial > hg > graal-compiler
comparison src/share/vm/gc_implementation/shared/markSweep.hpp @ 989:148e5441d916
6863023: need non-perm oops in code cache for JSR 292
Summary: Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
author | jrose |
---|---|
date | Tue, 15 Sep 2009 21:53:47 -0700 |
parents | d1605aabd0a1 |
children | 54b3b351d6f9 |
comparison
equal
deleted
inserted
replaced
987:00977607da34 | 989:148e5441d916 |
---|---|
55 // | 55 // |
56 class FollowRootClosure: public OopsInGenClosure { | 56 class FollowRootClosure: public OopsInGenClosure { |
57 public: | 57 public: |
58 virtual void do_oop(oop* p); | 58 virtual void do_oop(oop* p); |
59 virtual void do_oop(narrowOop* p); | 59 virtual void do_oop(narrowOop* p); |
60 virtual const bool do_nmethods() const { return true; } | |
61 }; | 60 }; |
62 | 61 |
63 class MarkAndPushClosure: public OopClosure { | 62 class MarkAndPushClosure: public OopClosure { |
64 public: | 63 public: |
65 virtual void do_oop(oop* p); | 64 virtual void do_oop(oop* p); |
66 virtual void do_oop(narrowOop* p); | 65 virtual void do_oop(narrowOop* p); |
67 virtual const bool do_nmethods() const { return true; } | |
68 }; | 66 }; |
69 | 67 |
70 class FollowStackClosure: public VoidClosure { | 68 class FollowStackClosure: public VoidClosure { |
71 public: | 69 public: |
72 virtual void do_void(); | 70 virtual void do_void(); |
161 static void trace(const char* msg) PRODUCT_RETURN; | 159 static void trace(const char* msg) PRODUCT_RETURN; |
162 | 160 |
163 public: | 161 public: |
164 // Public closures | 162 // Public closures |
165 static FollowRootClosure follow_root_closure; | 163 static FollowRootClosure follow_root_closure; |
164 static CodeBlobToOopClosure follow_code_root_closure; // => follow_root_closure | |
166 static MarkAndPushClosure mark_and_push_closure; | 165 static MarkAndPushClosure mark_and_push_closure; |
167 static FollowStackClosure follow_stack_closure; | 166 static FollowStackClosure follow_stack_closure; |
168 static AdjustPointerClosure adjust_root_pointer_closure; | 167 static AdjustPointerClosure adjust_root_pointer_closure; |
169 static AdjustPointerClosure adjust_pointer_closure; | 168 static AdjustPointerClosure adjust_pointer_closure; |
170 | 169 |