mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8061205: MetadataOnStackMark only needs to walk code cache during class redefinition
Only do full metadata walk during class redefinition and only walk handles during class unloading. Reviewed-by: sspitsyn, stefank
This commit is contained in:
parent
984cf4c9b5
commit
7b384c6958
19 changed files with 147 additions and 248 deletions
|
@ -1970,9 +1970,10 @@ void Method::set_on_stack(const bool value) {
|
|||
// on stack means some method referring to it is also on the stack.
|
||||
constants()->set_on_stack(value);
|
||||
|
||||
bool succeeded = _access_flags.set_on_stack(value);
|
||||
if (value && succeeded) {
|
||||
MetadataOnStackMark::record(this, Thread::current());
|
||||
bool already_set = on_stack();
|
||||
_access_flags.set_on_stack(value);
|
||||
if (value && !already_set) {
|
||||
MetadataOnStackMark::record(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue