manpagez: man pages & more
man jaotc(1)
Home | html | info | man
jaotc(1)                         JDK Commands                         jaotc(1)




NAME

       jaotc - The Java static compiler that produces native code for compiled
       Java methods


SYNOPSIS

       jaotc [options] [name | list]

       options
              Command-line options separated by spaces.  See jaotc Options.

       name   The Java class or jar file from which Java methods will be  com-
              piled.

       list   Colon  (:)  separated list of class names, modules, jar files or
              directories which contain class files.


DESCRIPTION

       The jaotc command is a Java Ahead-Of-Time (AOT) static  compiler  which
       produces native code in the form of a shared library for the Java meth-
       ods in specified Java class files.  The Java Virtual Machine  can  load
       these  AOT  libraries  and use native code from them when corresponding
       Java methods are called.  By using jaotc, there is no need to wait  for
       the  JIT  compiler  to generate (by compiling bytecode) the fast native
       code for these Java methods.  The code is already  generated  by  jaotc
       and  ready  to  be  immediately used.  For the same reason, there is no
       need to execute these methods in the Interpreter because fast  compiled
       native code can be executed instead.

       Note:

       The jaotc command is experimental.  See JEP 295: Ahead-of-Time Compila-
       tion [https://openjdk.java.net/jeps/295] for complete details.


JAOTC OPTIONS

       --output file
              Output file name.  Default name is "unnamed.so".

       --class-name class-names
              List of Java classes to compile.

       --jar jar-files
              List of JAR files to compile.

       --module modules
              List of Java modules to compile.

       --directory dirs
              List of directories to search for files to compile.

       --search-path dirs
              List of directories to search for specified files.

       --compile-commands file
              Name of the file containing the compile commands:

              exclude
                     Excludes compilation of specified methods.

              compileOnly
                     Compiles only specified methods.

              Regular expressions are used to  specify  classes  and  methods.
              For example:

                     exclude sun.util.resources..*.TimeZoneNames_.*.getContents\(\)\[\[Ljava/lang/Object;
                     exclude sun.security.ssl.*
                     compileOnly java.lang.String.*

       --compile-for-tiered
              Generates  profiling  code  for tiered compilation.  By default,
              profiling code is not generated (could be changed in a  future).

       --compile-with-assertions
              Generates  code  with  java  assertions.  By default, assertions
              code is not generated.

       --compile-threads number
              Sets the number of compilation threads used.  The default  value
              is min(16, available_cpus).

       --ignore-errors
              Ignores all exceptions thrown during class loading.  By default,
              the tool will exit compilation if class loading throws an excep-
              tion.

       --exit-on-error
              Exits  on compilation errors.  By default, failed compilation is
              skipped and compilation of other methods continues.

       --info Prints information about compilation phases.

       --verbose
              Prints more details about compilation phases.

       --debug
              Prints comprehensive details.

       --help or -h or -?
              Prints a summary of standard options and exits the tool.

       --version
              Prints version information.

       -Jflag Provides a flag to pass to the runtime  system.   To  pass  more
              than  one flag, provide an instance of this option for each flag
              or flag argument needed.


JAOTC EXAMPLES

       Use the jaotc tool to execute AOT compilation.

              jaotc --output libHelloWorld.so HelloWorld.class

       Specify a generated AOT library during application execution:

              java -XX:+UnlockExperimentalVMOptions -XX:AOTLibrary=./libHelloWorld.so HelloWorld



JDK 15                               2020                             jaotc(1)

openjdk 15.0.2 - Generated Thu Feb 25 15:31:38 CST 2021
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.