hg: jdk9/hs/hotspot: 8171008: Integrate AOT compiler into JDK
vladimir.kozlov at oracle.com
vladimir.kozlov at oracle.com
Mon Dec 12 03:55:56 UTC 2016
Changeset: 777aaa19c4b1
Author: kvn
Date: 2016-12-11 19:07 -0800
URL: http://hg.openjdk.java.net/jdk9/hs/hotspot/rev/777aaa19c4b1
8171008: Integrate AOT compiler into JDK
Reviewed-by: erikj, mchung, psandoz, coleenp, iklam, stefank, simonis
Contributed-by: Bharadwaj Yadavalli <bharadwaj.yadavalli at oracle.com>, Christian Thalinger <cthalinger at twitter.com>, Dean Long <dean.long at oracle.com>, Dmitrij Pochepko <dmitrij.pochepko at oracle.com>, Dmitry Chuyko <dmitry.chuyko at oracle.com>, Doug Simon <doug.simon at oracle.com>, Eric Caspole <eric.caspole at oracle.com>, Igor Ignatyev <igor.ignatyev at oracle.com>, Igor Veresov <igor.veresov at oracle.com>, John Rose <john.r.rose at oracle.com>, Morris Meyer <morris.meyer at oracle.com>, Niclas Adlertz <niclas.adlertz at oracle.com>, Rickard Backman <rickard.backman at oracle.com>
! .hgignore
! make/lib/JvmFeatures.gmk
+ make/lib/Lib-jdk.aot.gmk
! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp
! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.hpp
! src/cpu/aarch64/vm/compiledIC_aarch64.cpp
! src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp
! src/cpu/ppc/vm/c1_LIRAssembler_ppc.hpp
! src/cpu/ppc/vm/compiledIC_ppc.cpp
! src/cpu/s390/vm/c1_LIRAssembler_s390.cpp
! src/cpu/s390/vm/c1_LIRAssembler_s390.hpp
! src/cpu/s390/vm/compiledIC_s390.cpp
! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp
! src/cpu/sparc/vm/c1_LIRAssembler_sparc.hpp
! src/cpu/sparc/vm/compiledIC_sparc.cpp
! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
! src/cpu/x86/vm/c1_LIRAssembler_x86.hpp
+ src/cpu/x86/vm/compiledIC_aot_x86_64.cpp
! src/cpu/x86/vm/compiledIC_x86.cpp
! src/cpu/x86/vm/icBuffer_x86.cpp
! src/cpu/x86/vm/nativeInst_x86.cpp
! src/cpu/x86/vm/nativeInst_x86.hpp
! src/cpu/x86/vm/sharedRuntime_x86_64.cpp
! src/cpu/x86/vm/templateInterpreterGenerator_x86.cpp
! src/cpu/x86/vm/x86_64.ad
! src/cpu/zero/vm/compiledIC_zero.cpp
+ src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/BinaryContainer.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/ByteContainer.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/CodeContainer.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/GotSymbol.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/HeaderContainer.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/ReadOnlyDataContainer.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/Relocation.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/Symbol.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/SymbolTable.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.binformat/src/jdk/tools/jaotc/binformat/elf/JELFRelocObject.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.jnilibelf/src/jdk/tools/jaotc/jnilibelf/ELFContainer.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.jnilibelf/src/jdk/tools/jaotc/jnilibelf/ELFSymbol.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.jnilibelf/src/jdk/tools/jaotc/jnilibelf/JNIELFContainer.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.jnilibelf/src/jdk/tools/jaotc/jnilibelf/JNIELFRelocation.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.jnilibelf/src/jdk/tools/jaotc/jnilibelf/JNIELFTargetInfo.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.jnilibelf/src/jdk/tools/jaotc/jnilibelf/JNILibELFAPI.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.jnilibelf/src/jdk/tools/jaotc/jnilibelf/Pointer.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.jnilibelf/src/jdk/tools/jaotc/jnilibelf/UnsafeAccess.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.jnilibelf/src/jdk/tools/jaotc/jnilibelf/linux/Elf_Cmd.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc.jnilibelf/src/jdk/tools/jaotc/jnilibelf/sunos/Elf_Cmd.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTBackend.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTCompilationTask.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTCompiledClass.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTCompiler.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTHotSpotResolvedJavaMethod.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/AOTStub.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CallSiteRelocationInfo.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CallSiteRelocationSymbol.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CodeOffsets.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CodeSectionProcessor.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CompilationSpec.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CompiledMethodInfo.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/DataBuilder.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/DataPatchProcessor.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/ELFMacroAssembler.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/ForeignCallSiteRelocationInfo.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/ForeignCallSiteRelocationSymbol.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/ForeignGotCallSiteRelocationSymbol.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/GraalFilters.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/InfopointProcessor.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/InstructionDecoder.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/JavaCallSiteRelocationInfo.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/JavaCallSiteRelocationSymbol.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/JavaMethodInfo.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/LogPrinter.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/Main.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MarkId.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MarkProcessor.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MetadataBuilder.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MiscUtils.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/StubDirectCallSiteRelocationSymbol.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/amd64/AMD64ELFMacroAssembler.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/amd64/AMD64InstructionDecoder.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/collect/ClassCollector.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/utils/NativeOrderOutputStream.java
+ src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/utils/Timer.java
+ src/jdk.aot/share/classes/module-info.java
+ src/jdk.aot/unix/native/libjelfshim/jdk_tools_jaotc_jnilibelf_JNILibELFAPI.c
+ src/jdk.aot/unix/native/libjelfshim/shim_functions.c
! src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/Dictionary.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java
! src/jdk.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/DebugInfo.java
! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java
! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java
! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotMetaData.java
! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java
! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectType.java
! src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java
! src/jdk.vm.ci/share/classes/module-info.java
! src/jdk.vm.compiler/share/classes/module-info.java
+ src/share/vm/aot/aotCodeHeap.cpp
+ src/share/vm/aot/aotCodeHeap.hpp
+ src/share/vm/aot/aotCompiledMethod.cpp
+ src/share/vm/aot/aotCompiledMethod.hpp
+ src/share/vm/aot/aotLoader.cpp
+ src/share/vm/aot/aotLoader.hpp
+ src/share/vm/aot/aotLoader.inline.hpp
+ src/share/vm/aot/compiledIC_aot.cpp
+ src/share/vm/aot/compiledIC_aot.hpp
! src/share/vm/c1/c1_Compilation.cpp
! src/share/vm/c1/c1_LIRAssembler.hpp
! src/share/vm/classfile/classFileParser.cpp
! src/share/vm/classfile/classFileStream.cpp
! src/share/vm/classfile/classFileStream.hpp
! src/share/vm/classfile/klassFactory.cpp
! src/share/vm/classfile/systemDictionary.cpp
! src/share/vm/code/codeBlob.hpp
! src/share/vm/code/codeCache.cpp
! src/share/vm/code/codeCache.hpp
! src/share/vm/code/compiledIC.cpp
! src/share/vm/code/compiledIC.hpp
! src/share/vm/code/compiledMethod.cpp
! src/share/vm/code/compiledMethod.hpp
! src/share/vm/code/nmethod.cpp
! src/share/vm/code/nmethod.hpp
! src/share/vm/code/relocInfo.cpp
! src/share/vm/code/relocInfo.hpp
! src/share/vm/compiler/compileTask.cpp
! src/share/vm/compiler/compileTask.hpp
! src/share/vm/compiler/compilerDefinitions.hpp
! src/share/vm/compiler/disassembler.cpp
! src/share/vm/gc/g1/g1GCPhaseTimes.cpp
! src/share/vm/gc/g1/g1GCPhaseTimes.hpp
! src/share/vm/gc/g1/g1RootProcessor.cpp
! src/share/vm/gc/g1/g1RootProcessor.hpp
! src/share/vm/gc/g1/heapRegion.cpp
! src/share/vm/gc/parallel/pcTasks.cpp
! src/share/vm/gc/parallel/psMarkSweep.cpp
! src/share/vm/gc/parallel/psParallelCompact.cpp
! src/share/vm/gc/parallel/psTasks.cpp
! src/share/vm/gc/shared/genCollectedHeap.cpp
+ src/share/vm/jvmci/compilerRuntime.cpp
+ src/share/vm/jvmci/compilerRuntime.hpp
! src/share/vm/jvmci/jvmciCodeInstaller.cpp
! src/share/vm/jvmci/jvmciCodeInstaller.hpp
! src/share/vm/jvmci/jvmciCompilerToVM.cpp
! src/share/vm/jvmci/jvmciCompilerToVM.hpp
! src/share/vm/jvmci/jvmciJavaClasses.cpp
+ src/share/vm/jvmci/vmStructs_compiler_runtime.hpp
! src/share/vm/jvmci/vmStructs_jvmci.cpp
! src/share/vm/logging/logTag.hpp
! src/share/vm/memory/heap.cpp
! src/share/vm/memory/heap.hpp
! src/share/vm/memory/metaspace.cpp
! src/share/vm/memory/universe.cpp
! src/share/vm/memory/virtualspace.hpp
! src/share/vm/oops/instanceKlass.cpp
! src/share/vm/oops/instanceKlass.hpp
! src/share/vm/oops/metadata.cpp
! src/share/vm/oops/method.hpp
! src/share/vm/oops/methodCounters.hpp
! src/share/vm/opto/output.cpp
! src/share/vm/prims/jvmtiExport.cpp
! src/share/vm/prims/jvmtiExport.hpp
! src/share/vm/prims/jvmtiRedefineClasses.cpp
! src/share/vm/prims/whitebox.cpp
! src/share/vm/runtime/advancedThresholdPolicy.cpp
! src/share/vm/runtime/advancedThresholdPolicy.hpp
! src/share/vm/runtime/frame.cpp
! src/share/vm/runtime/globals.hpp
! src/share/vm/runtime/java.cpp
! src/share/vm/runtime/sharedRuntime.cpp
! src/share/vm/runtime/sharedRuntime.hpp
! src/share/vm/runtime/simpleThresholdPolicy.cpp
! src/share/vm/runtime/simpleThresholdPolicy.hpp
! src/share/vm/runtime/simpleThresholdPolicy.inline.hpp
! src/share/vm/runtime/sweeper.cpp
! src/share/vm/runtime/vframe_hp.cpp
! src/share/vm/runtime/vmStructs.cpp
! src/share/vm/runtime/vm_version.cpp
! src/share/vm/utilities/debug.cpp
! src/share/vm/utilities/growableArray.hpp
! src/share/vm/utilities/macros.hpp
! test/TEST.groups
+ test/compiler/aot/AotCompiler.java
+ test/compiler/aot/DeoptimizationTest.java
+ test/compiler/aot/HelloWorldPrinter.java
+ test/compiler/aot/RecompilationTest.java
+ test/compiler/aot/SharedUsageTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeDynamic2AotTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeDynamic2CompiledTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeDynamic2InterpretedTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeDynamic2NativeTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeInterface2AotTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeInterface2CompiledTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeInterface2InterpretedTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeInterface2NativeTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeSpecial2AotTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeSpecial2CompiledTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeSpecial2InterpretedTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeSpecial2NativeTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeStatic2AotTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeStatic2CompiledTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeStatic2InterpretedTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeStatic2NativeTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeVirtual2AotTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeVirtual2CompiledTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeVirtual2InterpretedTest.java
+ test/compiler/aot/calls/fromAot/AotInvokeVirtual2NativeTest.java
+ test/compiler/aot/calls/fromCompiled/CompiledInvokeDynamic2AotTest.java
+ test/compiler/aot/calls/fromCompiled/CompiledInvokeInterface2AotTest.java
+ test/compiler/aot/calls/fromCompiled/CompiledInvokeSpecial2AotTest.java
+ test/compiler/aot/calls/fromCompiled/CompiledInvokeStatic2AotTest.java
+ test/compiler/aot/calls/fromCompiled/CompiledInvokeVirtual2AotTest.java
+ test/compiler/aot/calls/fromInterpreted/InterpretedInvokeDynamic2AotTest.java
+ test/compiler/aot/calls/fromInterpreted/InterpretedInvokeInterface2AotTest.java
+ test/compiler/aot/calls/fromInterpreted/InterpretedInvokeSpecial2AotTest.java
+ test/compiler/aot/calls/fromInterpreted/InterpretedInvokeStatic2AotTest.java
+ test/compiler/aot/calls/fromInterpreted/InterpretedInvokeVirtual2AotTest.java
+ test/compiler/aot/calls/fromNative/NativeInvokeSpecial2AotTest.java
+ test/compiler/aot/calls/fromNative/NativeInvokeStatic2AotTest.java
+ test/compiler/aot/calls/fromNative/NativeInvokeVirtual2AotTest.java
+ test/compiler/aot/cli/AotLibraryNegativeBase.java
+ test/compiler/aot/cli/DisabledAOTWithLibraryTest.java
+ test/compiler/aot/cli/IncorrectAOTLibraryTest.java
+ test/compiler/aot/cli/MultipleAOTLibraryTest.java
+ test/compiler/aot/cli/NonExistingAOTLibraryTest.java
+ test/compiler/aot/cli/SingleAOTLibraryTest.java
+ test/compiler/aot/cli/SingleAOTOptionTest.java
+ test/compiler/aot/cli/jaotc/ClasspathOptionTest.java
+ test/compiler/aot/cli/jaotc/ClasspathOptionUnknownClassTest.java
+ test/compiler/aot/cli/jaotc/CompileClassTest.java
+ test/compiler/aot/cli/jaotc/CompileDirectoryTest.java
+ test/compiler/aot/cli/jaotc/CompileJarTest.java
+ test/compiler/aot/cli/jaotc/CompileModuleTest.java
+ test/compiler/aot/cli/jaotc/JaotcTestHelper.java
+ test/compiler/aot/cli/jaotc/ListOptionNotExistingTest.java
+ test/compiler/aot/cli/jaotc/ListOptionTest.java
+ test/compiler/aot/cli/jaotc/ListOptionWrongFileTest.java
+ test/compiler/aot/cli/jaotc/data/HelloWorldOne.java
+ test/compiler/aot/cli/jaotc/data/HelloWorldTwo.java
+ test/compiler/aot/fingerprint/CDSDumper.java
+ test/compiler/aot/fingerprint/CDSRunner.java
+ test/compiler/aot/fingerprint/SelfChanged.java
+ test/compiler/aot/fingerprint/SelfChangedCDS.java
+ test/compiler/aot/fingerprint/SuperChanged.java
+ test/compiler/aot/jdk.tools.jaotc.jnilibelf.test/src/jdk/tools/jaotc/jnilibelf/test/JNILibELFTest.java
+ test/compiler/aot/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/NativeOrderOutputStreamTest.java
+ test/compiler/aot/verification/ClassAndLibraryNotMatchTest.java
+ test/compiler/aot/verification/vmflags/BasicFlagsChange.java
+ test/compiler/aot/verification/vmflags/NotTrackedFlagTest.java
+ test/compiler/aot/verification/vmflags/TrackedFlagTest.java
! test/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java
! test/compiler/classUnloading/methodUnloading/TestMethodUnloading.java
! test/compiler/intrinsics/IntrinsicDisabledTest.java
! test/compiler/intrinsics/bigInteger/MontgomeryMultiplyTest.java
! test/compiler/intrinsics/mathexact/sanity/IntrinsicBase.java
! test/compiler/uncommontrap/Test8009761.java
! test/compiler/whitebox/CompilerWhiteBoxTest.java
! test/runtime/CompressedOops/CompressedClassPointers.java
! test/serviceability/dcmd/compiler/CodeCacheTest.java
! test/testlibrary/jittester/Makefile
! test/testlibrary/jittester/conf/default.properties
+ test/testlibrary/jittester/src/jdk/test/lib/jittester/AotTestGeneratorsFactory.java
More information about the jdk9-hs-changes
mailing list