JDK-8132287 : obsolete the "InlineNotify" flag option
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9,10,11
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2015-07-23
  • Updated: 2018-06-01
  • Resolved: 2018-05-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11
11 b14Fixed
Related Reports
Relates :  
Relates :  
Description
The 'InlineNotify' flag option that was added by JDK-8075171 in JDK9
should be deprecated in JDK10. The 'InlineNotify' flag option should
be ignored in JDK10 and removed in JDK11.

The functionality of disabling the intrinsification of Object.notify() and
Object.notifyAll() can be moved to the experimental "SyncKnobs"
mechanism.

Update: Missed the window for JDK10. We are obsoleting the 'InlineNotify'
flag option in JDK11 and removing it JDK12. Since this is a diagnostic
option, we can follow the two-step command line option removal process.
Comments
So here's what the -XX:+InlineNotify will do: $ build/macosx-x86_64-normal-server-fastdebug/images/jdk/bin/java -XX:+InlineNotify -version Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option InlineNotify; support was removed in 11.0 java version "11-internal" 2018-09-25 Java(TM) SE Runtime Environment 18.9 (fastdebug build 11-internal+0-2018-05-09-1936029.ddaugher.8132287forjdkjdk) Java HotSpot(TM) 64-Bit Server VM 18.9 (fastdebug build 11-internal+0-2018-05-09-1936029.ddaugher.8132287forjdkjdk, mixed mode) So the option will be accepted, but ignored. Like the original flag, the InlineNotify SyncKnob has a default of true/1. With these options, you can turn it off: -XX:+UnlockExperimentalVMOptions -XX:SyncKnobs=ReportSettings=1:InlineNotify=0 $ build/macosx-x86_64-normal-server-fastdebug/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:SyncKnobs=ReportSettings=1:InlineNotify=0 -version INFO: SyncKnob: InlineNotify 0(1) INFO: BackOffMask=0x0 java version "11-internal" 2018-09-25 Java(TM) SE Runtime Environment 18.9 (fastdebug build 11-internal+0-2018-05-09-1936029.ddaugher.8132287forjdkjdk) Java HotSpot(TM) 64-Bit Server VM 18.9 (fastdebug build 11-internal+0-2018-05-09-1936029.ddaugher.8132287forjdkjdk, mixed mode) It will also work for release bits: $ build/macosx-x86_64-normal-server-release/images/jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:SyncKnobs=ReportSettings=1:InlineNotify=0 -version INFO: SyncKnob: InlineNotify 0(1) INFO: BackOffMask=0x0 java version "11-internal" 2018-09-25 Java(TM) SE Runtime Environment 18.9 (build 11-internal+0-2018-05-09-1934103.ddaugher.8132287forjdkjdk) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11-internal+0-2018-05-09-1934103.ddaugher.8132287forjdkjdk, mixed mode)
10-05-2018

[~kvn] and [~rraghavan] - This bug got moved to hotspot/compiler by the Runtime triage team. Sorry about that. The flag in question (InlineNotify) does control inlining of Object.notify() and Object.notifyAll() so it is of "interest" to the Compiler team, but I'm the one that added it so I should be the one to clean it up. I'm fixing it as (roughly) described in the description note.
09-05-2018

Hi [~dcubed], Request your help. Are you planning to get the fix in for this task, for JDK 11? If not, can you please change the 'Fix Version' to tbd_feature or tbd_update. Thank you.
03-05-2018

[~dcubed] Dan, please explain the purpose of this RFE and why it is in compiler group? Do we undo JEP 143? Most changes for JDK-8075171 was done in Runtime. Only small intrinsic code which calls runtime ObjectSynchronizer methods. Also nobody in Compiler group know about this code and new Java API added by JEP 143.
10-03-2018

Moving to compiler team because InlineNotify is a compiler flag.
10-02-2017