mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8227054: ServiceThread needs to know about all OopStorage objects
8227053: ServiceThread cleanup of OopStorage is missing some OopStorages provides named access and iteration. Reviewed-by: eosterlund, pliden, coleenp
This commit is contained in:
parent
de8d01d4d3
commit
1acad37ee6
28 changed files with 721 additions and 358 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2018, 2019, 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
|
||||
|
@ -153,6 +153,8 @@ public:
|
|||
bool concurrent);
|
||||
~BasicParState();
|
||||
|
||||
const OopStorage* storage() const { return _storage; }
|
||||
|
||||
template<bool is_const, typename F> void iterate(F f);
|
||||
|
||||
static uint default_estimated_thread_count(bool concurrent);
|
||||
|
@ -172,6 +174,7 @@ public:
|
|||
_basic_state(storage, estimated_thread_count, concurrent)
|
||||
{}
|
||||
|
||||
const OopStorage* storage() const { return _basic_state.storage(); }
|
||||
template<typename F> void iterate(F f);
|
||||
template<typename Closure> void oops_do(Closure* cl);
|
||||
};
|
||||
|
@ -186,6 +189,7 @@ public:
|
|||
_basic_state(storage, estimated_thread_count, false)
|
||||
{}
|
||||
|
||||
const OopStorage* storage() const { return _basic_state.storage(); }
|
||||
template<typename F> void iterate(F f);
|
||||
template<typename Closure> void oops_do(Closure* cl);
|
||||
template<typename Closure> void weak_oops_do(Closure* cl);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue