RFR: 8309599: WeakHandle and OopHandle release should clear obj pointer
David Holmes
dholmes at openjdk.org
Wed Sep 27 07:09:11 UTC 2023
On Tue, 26 Sep 2023 12:47:42 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
> This change makes WeakHandle and OopHandle release null out the obj pointer, at the cost of making the release function non-const and some changes that propagated from that. This enables ObjectMonitor code to test for null to see if the obj was already released, and seems like the right thing to do. See comments from related PR in the bug report.
> Tested with tier1-4.
Nulling out `_obj` seems quite reasonable. But I'm struggling to understand why we support `release` as a public API instead of having it handled by the destructor? One you have released a handle it is dangerous to try and use it so why keep it around instead of deleting it (and thus running the destructor)?
Thanks
-------------
Marked as reviewed by dholmes (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/15920#pullrequestreview-1645748643
More information about the serviceability-dev
mailing list