RFR: 8331670: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal [v3]
Daniel Fuchs
dfuchs at openjdk.org
Fri May 24 15:22:05 UTC 2024
On Tue, 21 May 2024 07:26:17 GMT, Alan Bateman <alanb at openjdk.org> wrote:
>> This is the implementation changes for JEP 471.
>>
>> The methods in sun.misc.Unsafe for on-heap and off-heap access are deprecated for removal. This means a removal warning at compile time. No methods have been removed. A deprecated message is added to each of the methods but unlikely to be seen as the JDK does not generate or publish the API docs for this class.
>>
>> A new command line option --sun-misc-unsafe-memory-access=$value is introduced to allow or deny access to these methods. The default proposed for JDK 23 is "allow" so no change in behavior compared to JDK 22 or previous releases.
>>
>> A new test is added to test the command line option settings. The existing micros for FFM that use Unsafe are updated to suppress the removal warning at compile time. A new micro is introduced with a small sample of methods to ensure the changes doesn't cause any perf regressions ([sample results](https://cr.openjdk.org/~alanb/8331670-results.txt)).
>>
>> For now, the changes include the update to the man page for the "java" command. It might be that this has to be separated out so that it goes with other updates in the release.
>
> Alan Bateman has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 10 commits:
>
> - Merge
> - Add removal to DISABLED_WARNINGS
> Fail at startup if bad value specified to option
> - Merge
> - Update man page
> - Update man page
> - Fix comment
> - Merge
> - Merge
> - Whitespace
> - Initial commit
src/jdk.unsupported/share/classes/sun/misc/Unsafe.java line 1750:
> 1748: }
> 1749:
> 1750: // Instructure for --sun-misc-unsafe-memory-access=<value> command line option.
Suggestion:
// Infrastructure for --sun-misc-unsafe-memory-access=<value> command line option.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19174#discussion_r1613644783
More information about the core-libs-dev
mailing list