RFR: 8306950: [REDO] JDK-8305252 make_method_handle_intrinsic may call java code under a lock [v3]
Ioi Lam
iklam at openjdk.org
Thu Apr 27 19:21:52 UTC 2023
On Thu, 27 Apr 2023 18:45:58 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> This change redoes the intrinsic method table change to not hold a lock while calling make_method_handle_intrinsic. The first commit is the original patch and the second is the fix to the bug it caused.
>> The Atomic operations might not be needed.
>> Tested with tier1-7, where tests in multiple tiers were regularly failing.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>
> Matias improvement
Looks good, but I think we should remove the unnecessary null check. Since this is tricky code, we should make the logic as simple as possible.
src/hotspot/share/classfile/systemDictionary.cpp line 1957:
> 1955: while (!created) {
> 1956: met = _invoke_method_intrinsic_table.put_if_absent(key, &created);
> 1957: if (met != nullptr && *met != nullptr) {
met cannot be null. I think it should be changed to `assert(met != nullptr, ...)`
-------------
Changes requested by iklam (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/13681#pullrequestreview-1404711639
PR Review Comment: https://git.openjdk.org/jdk/pull/13681#discussion_r1179571162
More information about the hotspot-runtime-dev
mailing list