RFR: 8321387: SegmentAllocator:allocateFrom(AddressLayout, MemorySegment) does not throw stated UnsupportedOperationException [v4]

Per Minborg pminborg at openjdk.org
Thu Dec 7 08:15:01 UTC 2023


> 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`).

Per Minborg has updated the pull request incrementally with one additional commit since the last revision:

  Disallow read only segments for SA factories

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16993/files
  - new: https://git.openjdk.org/jdk/pull/16993/files/d7b08a40..491e71fc

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16993&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16993&range=02-03

  Stats: 68 lines in 2 files changed: 22 ins; 44 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/16993.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16993/head:pull/16993

PR: https://git.openjdk.org/jdk/pull/16993


More information about the core-libs-dev mailing list