> Can I please get a review of this change which proposes to improve the 
> exception message in `IllegalMonitorStateException` when it gets thrown for 
> value objects?
> 
> With this change, we now report the following exception message when value 
> objects are used to invoke `Object.wait()` and related methods:
> 
> 
> jshell> o.wait()
> |  Exception java.lang.IllegalMonitorStateException: current thread is not 
> owner
> |        at Object.wait0 (Native Method)
> |        at Object.wait (Object.java:433)
> |        at Object.wait (Object.java:387)
> |        at (#2:1)
> 
> There were some thoughts about using an exception message of the form 
> `Exception java.lang.IllegalMonitorStateException: object's type 
> java.lang.Integer is not an identity class`. But since value objects cannot 
> be synchronized upon, we decided it would be fine (and accurate) to reuse the 
> same "current thread is not owner" exception message that we use for identity 
> objects.
> 
> Given the nature of this change, I haven't added any new jtreg tests for 
> this. Existing tests in tier1, tier2 and tier3 continue to pass after this 
> change.
> 
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Jaikiran Pai has updated the pull request with a new target base due to a merge 
or a rebase. The incremental webrev excludes the unrelated changes brought in 
by the merge/rebase. The pull request contains four additional commits since 
the last revision:

 - merge latest from lworld branch
 - merge latest from lworld branch
 - no need for ResourceMark
 - 8386963: [lworld] Improve the exception message from Object synchronization 
methods on value objects

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

Changes:
  - all: https://git.openjdk.org/valhalla/pull/2568/files
  - new: https://git.openjdk.org/valhalla/pull/2568/files/d693fcbc..38c1cfd1

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

  Stats: 1010 lines in 47 files changed: 838 ins; 29 del; 143 mod
  Patch: https://git.openjdk.org/valhalla/pull/2568.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2568/head:pull/2568

PR: https://git.openjdk.org/valhalla/pull/2568

Reply via email to