JDK-4285505 : deprecate java.lang.Compiler
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.lang
  • Affected Version: 1,1.1,1.2.0,1.3.0,1.4.0,5.0,6,7,8,9
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 1999-10-27
  • Updated: 2017-05-16
  • Resolved: 2016-09-09
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.
9 b136Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
The class java.lang.Compiler supposedly provides a high level reflective
interface to the underlying JIT. This interface is effectively ignored by
Hotspot, and by many other implementations.

We have long ago abandoned efforts for a standaradized JIT interface. JITs and
their technologies vary too widely. At the user level, it is unclear why control
of a quality-of-implementation factor like a JIT needs to be available in a
portable form.

gilad.bracha@eng 1999-10-27

After further discussions it's been decided that deprecating with forRemoval=true in JDK 9 is OK.

Reopening this bug. This rationale in the description still applies. For Hotspot, this is superseded by JEP 165 (http://openjdk.java.net/jeps/165). This class should be deprecated, but not for removal. Aside from IBM's usage (see below), web searching reveals mentions of java.lang.Compiler in copies of the Java SE specification, in documents and tutorials that describe the specification, and in clones of the JDK class libraries. Grepcode.com searching reveals various reflective layers that contain lists of all java.lang classes, but no actual usages of java.lang.Compiler. IBM WebSphere Real Time version 3 does mention java.lang.Compiler. Updated link: http://www.ibm.com/support/knowledgecenter/SSSTCZ_3.0.0/welcome/welcome_wrt_version.html?cp=SSSTCZ Searching here for "java.lang.Compiler" returns one relevant hit with an update date of 2014-09-09: "Using compiled code with WebSphere Real Time for RT Linux" http://www.ibm.com/support/knowledgecenter/api/content/SSSTCZ_3.0.0/com.ibm.wrt.rtlinux.doc.30/realtime/compiling.html?locale=en which links to this page: "The Just-In-Time (JIT) compiler" http://www.ibm.com/support/knowledgecenter/api/content/SSSTCZ_3.0.0/com.ibm.wrt.rtlinux.doc.30/realtime/rt_jit.html

Per http://publib.boulder.ibm.com/infocenter/realtime/v1r0/index.jsp?topic=%2Fcom.ibm.rt.doc.10%2Frealtime%2Frt_jit.html This interface is supported by the websphere realtime JIT compiler as well as other IBM compilers and cannot be deprecated.