8357911: JFR: Fix subtle xor method tagging bug
Reviewed-by: egahlin
This commit is contained in:
parent
016cc4f333
commit
1a65719ab3
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2025, 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
|
||||
@ -112,7 +112,9 @@ class ClearArtifact<const Method*> {
|
||||
assert(METHOD_IS_NOT_LEAKP(method), "invariant");
|
||||
assert(METHOD_IS_NOT_TRANSIENT(method), "invariant");
|
||||
SET_PREVIOUS_EPOCH_METHOD_CLEARED_BIT(method);
|
||||
CLEAR_PREVIOUS_EPOCH_METHOD_FLAG(method);
|
||||
if (METHOD_FLAG_USED_PREVIOUS_EPOCH_BIT(method)) {
|
||||
CLEAR_PREVIOUS_EPOCH_METHOD_FLAG(method);
|
||||
}
|
||||
assert(IS_THIS_EPOCH_METHOD_CLEARED_BIT_SET(method), "invariant");
|
||||
assert(IS_PREVIOUS_EPOCH_METHOD_CLEARED_BIT_SET(method), "invariant");
|
||||
return true;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2025, 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
|
||||
@ -104,6 +104,7 @@
|
||||
#define METHOD_FLAG_USED_THIS_EPOCH(method) (METHOD_FLAG_PREDICATE(method, (TRANSIENT_BIT | THIS_EPOCH_BIT)))
|
||||
#define METHOD_FLAG_NOT_USED_THIS_EPOCH(method) (!(METHOD_FLAG_USED_THIS_EPOCH(method)))
|
||||
#define METHOD_FLAG_USED_PREVIOUS_EPOCH(method) (METHOD_FLAG_PREDICATE(method, (TRANSIENT_BIT | PREVIOUS_EPOCH_BIT)))
|
||||
#define METHOD_FLAG_USED_PREVIOUS_EPOCH_BIT(method) (METHOD_FLAG_PREDICATE(method, (PREVIOUS_EPOCH_BIT)))
|
||||
#define METHOD_FLAG_NOT_USED_PREVIOUS_EPOCH(method) (!(METHOD_FLAG_USED_PREVIOUS_EPOCH(method)))
|
||||
#define IS_METHOD_BLESSED(method) (METHOD_FLAG_PREDICATE(method, BLESSED_METHOD_BIT))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user