mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8211446: Replace oop_pc_follow_contents with oop_iterate and closure
Reviewed-by: sjohanss, tschatzl
This commit is contained in:
parent
4bc903d17a
commit
78fe66c3bb
14 changed files with 94 additions and 173 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -171,24 +171,10 @@ private:
|
|||
void drain_region_stacks();
|
||||
|
||||
void follow_contents(oop obj);
|
||||
void follow_contents(objArrayOop array, int index);
|
||||
void follow_array(objArrayOop array, int index);
|
||||
|
||||
void update_contents(oop obj);
|
||||
|
||||
class MarkAndPushClosure: public BasicOopIterateClosure {
|
||||
private:
|
||||
ParCompactionManager* _compaction_manager;
|
||||
public:
|
||||
MarkAndPushClosure(ParCompactionManager* cm) : _compaction_manager(cm) { }
|
||||
|
||||
template <typename T> void do_oop_work(T* p);
|
||||
virtual void do_oop(oop* p);
|
||||
virtual void do_oop(narrowOop* p);
|
||||
|
||||
// This closure provides its own oop verification code.
|
||||
debug_only(virtual bool should_verify_oops() { return false; })
|
||||
};
|
||||
|
||||
class FollowStackClosure: public VoidClosure {
|
||||
private:
|
||||
ParCompactionManager* _compaction_manager;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue