mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 22:34:27 +02:00
6863023: need non-perm oops in code cache for JSR 292
Make a special root-list for those few nmethods which might contain non-perm oops. Reviewed-by: twisti, kvn, never, jmasa, ysr
This commit is contained in:
parent
1cf5b7ae11
commit
e261aecad8
74 changed files with 979 additions and 279 deletions
|
@ -799,8 +799,7 @@ class PSParallelCompact : AllStatic {
|
|||
FollowRootClosure(ParCompactionManager* cm) : _compaction_manager(cm) { }
|
||||
virtual void do_oop(oop* p);
|
||||
virtual void do_oop(narrowOop* p);
|
||||
virtual const bool do_nmethods() const { return true; }
|
||||
};
|
||||
};
|
||||
|
||||
class FollowStackClosure: public VoidClosure {
|
||||
private:
|
||||
|
@ -817,6 +816,8 @@ class PSParallelCompact : AllStatic {
|
|||
AdjustPointerClosure(bool is_root) : _is_root(is_root) { }
|
||||
virtual void do_oop(oop* p);
|
||||
virtual void do_oop(narrowOop* p);
|
||||
// do not walk from thread stacks to the code cache on this phase
|
||||
virtual void do_code_blob(CodeBlob* cb) const { }
|
||||
};
|
||||
|
||||
// Closure for verifying update of pointers. Does not
|
||||
|
@ -1062,7 +1063,6 @@ class PSParallelCompact : AllStatic {
|
|||
MarkAndPushClosure(ParCompactionManager* cm) : _compaction_manager(cm) { }
|
||||
virtual void do_oop(oop* p);
|
||||
virtual void do_oop(narrowOop* p);
|
||||
virtual const bool do_nmethods() const { return true; }
|
||||
};
|
||||
|
||||
PSParallelCompact();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue