Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Possible values for the "java.compiler" system property

(I know this is probably a duplicate, but is it almost impossible to search this topic on Google or on SO.)

I know the java.compiler system property can take "NONE" which disables the JIT compiler, but I am interested in what other values are there and what are their performance characteristics.

like image 234
billc.cn Avatar asked Nov 26 '13 21:11

billc.cn


2 Answers

In the early days I believe it was intended that there be competition among external vendors to supply an external .dll/.so named by this property. symcjit.dll was the only one I ever encountered. SInce the advent of Hotspot I believe it's obsolete.

like image 157
user207421 Avatar answered Nov 15 '22 10:11

user207421


java.compiler property is the name of the library to support java native compilers:

The Compiler class is provided to support Java-to-native-code compilers and related services. By design, the Compiler class does nothing; it serves as a placeholder for a JIT compiler implementation. When the Java Virtual Machine first starts, it determines if the system property java.compiler exists. (System properties are accessible through System.getProperty(String) and System.getProperty(String, String). If so, it is assumed to be the name of a library (with a platform-dependent exact location and type); System.loadLibrary(java.lang.String) is called to load that library. If this loading succeeds, the function named java_lang_Compiler_start() in that library is called.

like image 3
user987339 Avatar answered Nov 15 '22 09:11

user987339