It's useful to differentiate between memory accesses originated from bytecode and Unsafe usages. While JVM performs access checks for field accesses and range checks for array accesses, it's user responsibility to perform all necessary checks to ensure safety when it comes to Unsafe. From compiler perspective, it may be useful to distinguish between those.
|