mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 09:34:38 +02:00
8186777: Make Klass::_java_mirror an OopHandle
Add indirection for fetching mirror so that GC doesn't have to follow CLD::_klasses Co-authored-by: Rickard Backman <rickard.backman@oracle.com> Reviewed-by: hseigel, thartmann, eosterlund, stefank
This commit is contained in:
parent
e31bc5637a
commit
73a801bc43
61 changed files with 383 additions and 477 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2010, 2017, 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
|
||||
|
@ -98,15 +98,10 @@ inline void ParCompactionManager::FollowStackClosure::do_void() {
|
|||
_compaction_manager->follow_marking_stacks();
|
||||
}
|
||||
|
||||
inline void ParCompactionManager::FollowKlassClosure::do_klass(Klass* klass) {
|
||||
klass->oops_do(_mark_and_push_closure);
|
||||
}
|
||||
|
||||
inline void ParCompactionManager::follow_class_loader(ClassLoaderData* cld) {
|
||||
MarkAndPushClosure mark_and_push_closure(this);
|
||||
FollowKlassClosure follow_klass_closure(&mark_and_push_closure);
|
||||
|
||||
cld->oops_do(&mark_and_push_closure, &follow_klass_closure, true);
|
||||
cld->oops_do(&mark_and_push_closure, true);
|
||||
}
|
||||
|
||||
inline void ParCompactionManager::follow_contents(oop obj) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue