On Fri, 3 Dec 2021 13:05:44 GMT, Alan Bateman <al...@openjdk.org> wrote:

> Deprecate the sun.misc.Unsafe methods that return field offsets. These method 
> are an impediment to possible future changes. Layout may not be fixed in the 
> future, the VM should be allowed to re-layout dynamically based on patterns 
> of usage. We also have the issue of libraries using these methods to get 
> offsets (sometimes of classes with the same layout as JDK classes) so they 
> can directly access the fields of privileged classes. It's untenable for 
> libraries to rely on this going forward.
> 
> The java.lang.invoke.VarHandle API (added in Java 9) provides a strongly 
> typed reference to a variable that is a safe and a much better alternative to 
> many cases that use these methods. Deprecating these method provides a gentle 
> nudge in that directory. Once the Panama memory APIs are permanent then we 
> can look at terminally deprecating and removing these methods, along with the 
> accessors.

Slowly chipping away... but we are getting really close to being able to 
deprecate all the unsafe accessor methods.

Did you also consider the method `staticFieldBase` and the field 
`INVALID_FIELD_OFFSET`? I think those could also be included since the aim is 
to discourage unsafe access to fields of objects.

-------------

PR: https://git.openjdk.java.net/jdk/pull/6700

Reply via email to