Integrated: 8321387: SegmentAllocator:allocateFrom(AddressLayout, MemorySegment) does not throw stated UnsupportedOperationException
Per Minborg
pminborg at openjdk.org
Mon Dec 11 07:55:21 UTC 2023
On Wed, 6 Dec 2023 13:52:37 GMT, Per Minborg <pminborg at openjdk.org> wrote:
> This PR proposes to change the exception type for exceptions thrown for certain methods with a parameter of type `MemorySegment` when it is `MemorySegment::isReadOnly`. Previously an `UnsupportedOperationException` was specified but in some cases, in reality, an `IllegalArgumentException` was thrown.
>
> The principle used in this PR is that operations acting on an MS where the MS is `this` should throw an `UnsupportedOperationException` whereas in cases where the MS is a *parameter* an `IllegalArgumentException` should be thrown.
>
> It should be noted that this PR retains the previous behavior for MS VarHandle access (even though the MS is a parameter to the accessor methods, the first parameter can be said to represent `this`).
This pull request has now been integrated.
Changeset: d13302f8
Author: Per Minborg <pminborg at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/d13302f8b06f65319426a25a9368abaf72f3c247
Stats: 103 lines in 10 files changed: 67 ins; 4 del; 32 mod
8321387: SegmentAllocator:allocateFrom(AddressLayout, MemorySegment) does not throw stated UnsupportedOperationException
Reviewed-by: mcimadamore
-------------
PR: https://git.openjdk.org/jdk/pull/16993
More information about the core-libs-dev
mailing list