make/CreateJars.gmk | 3 +- make/Setup.gmk | 2 +- make/profile-rtjar-includes.txt | 1 + src/share/classes/com/amd/okra/OkraContext.java | 197 ++ src/share/classes/com/amd/okra/OkraKernel.java | 205 ++ src/share/classes/com/amd/okra/OkraUtil.java | 92 + src/share/classes/com/oracle/graal/alloc/ComputeBlockOrder.java | 265 ++ src/share/classes/com/oracle/graal/amd64/AMD64.java | 189 + src/share/classes/com/oracle/graal/api/code/AbstractAddress.java | 29 + src/share/classes/com/oracle/graal/api/code/Architecture.java | 221 ++ src/share/classes/com/oracle/graal/api/code/ArithmeticOperation.java | 34 + src/share/classes/com/oracle/graal/api/code/Assumptions.java | 396 ++++ src/share/classes/com/oracle/graal/api/code/BailoutException.java | 64 + src/share/classes/com/oracle/graal/api/code/BytecodeFrame.java | 219 ++ src/share/classes/com/oracle/graal/api/code/BytecodePosition.java | 114 + src/share/classes/com/oracle/graal/api/code/CalleeSaveLayout.java | 182 + src/share/classes/com/oracle/graal/api/code/CallingConvention.java | 158 + src/share/classes/com/oracle/graal/api/code/CodeCacheProvider.java | 101 + src/share/classes/com/oracle/graal/api/code/CodeUtil.java | 357 +++ src/share/classes/com/oracle/graal/api/code/CompilationResult.java | 773 ++++++++ src/share/classes/com/oracle/graal/api/code/DebugInfo.java | 107 + src/share/classes/com/oracle/graal/api/code/DisassemblerProvider.java | 38 + src/share/classes/com/oracle/graal/api/code/ForeignCallLinkage.java | 72 + src/share/classes/com/oracle/graal/api/code/ForeignCallsProvider.java | 54 + src/share/classes/com/oracle/graal/api/code/InfopointReason.java | 38 + src/share/classes/com/oracle/graal/api/code/InstalledCode.java | 96 + src/share/classes/com/oracle/graal/api/code/InvalidInstalledCodeException.java | 31 + src/share/classes/com/oracle/graal/api/code/MemoryBarriers.java | 121 + src/share/classes/com/oracle/graal/api/code/NativeFunctionHandle.java | 49 + src/share/classes/com/oracle/graal/api/code/NativeFunctionInterface.java | 122 + src/share/classes/com/oracle/graal/api/code/NativeFunctionPointer.java | 41 + src/share/classes/com/oracle/graal/api/code/NativeLibraryHandle.java | 37 + src/share/classes/com/oracle/graal/api/code/ReferenceMap.java | 41 + src/share/classes/com/oracle/graal/api/code/Register.java | 241 ++ src/share/classes/com/oracle/graal/api/code/RegisterAttributes.java | 99 + src/share/classes/com/oracle/graal/api/code/RegisterConfig.java | 118 + src/share/classes/com/oracle/graal/api/code/RegisterSaveLayout.java | 108 + src/share/classes/com/oracle/graal/api/code/RegisterValue.java | 72 + src/share/classes/com/oracle/graal/api/code/SpeculationLog.java | 70 + src/share/classes/com/oracle/graal/api/code/StackSlot.java | 136 + src/share/classes/com/oracle/graal/api/code/TargetDescription.java | 108 + src/share/classes/com/oracle/graal/api/code/TypeCheckHints.java | 158 + src/share/classes/com/oracle/graal/api/code/UnsignedMath.java | 124 + src/share/classes/com/oracle/graal/api/code/ValueUtil.java | 167 + src/share/classes/com/oracle/graal/api/code/VirtualObject.java | 200 ++ src/share/classes/com/oracle/graal/api/code/package-info.java | 30 + src/share/classes/com/oracle/graal/api/code/stack/InspectedFrame.java | 63 + src/share/classes/com/oracle/graal/api/code/stack/StackIntrospection.java | 39 + src/share/classes/com/oracle/graal/api/collections/CollectionsProvider.java | 56 + src/share/classes/com/oracle/graal/api/collections/DefaultCollectionsProvider.java | 48 + src/share/classes/com/oracle/graal/api/meta/AbstractJavaProfile.java | 153 + src/share/classes/com/oracle/graal/api/meta/AbstractProfiledItem.java | 99 + src/share/classes/com/oracle/graal/api/meta/AllocatableValue.java | 38 + src/share/classes/com/oracle/graal/api/meta/BytecodeDisassemblerProvider.java | 38 + src/share/classes/com/oracle/graal/api/meta/Constant.java | 440 ++++ src/share/classes/com/oracle/graal/api/meta/ConstantPool.java | 121 + src/share/classes/com/oracle/graal/api/meta/ConstantReflectionProvider.java | 100 + src/share/classes/com/oracle/graal/api/meta/DefaultProfilingInfo.java | 110 + src/share/classes/com/oracle/graal/api/meta/DeoptimizationAction.java | 70 + src/share/classes/com/oracle/graal/api/meta/DeoptimizationReason.java | 44 + src/share/classes/com/oracle/graal/api/meta/ExceptionHandler.java | 121 + src/share/classes/com/oracle/graal/api/meta/ForeignCallDescriptor.java | 98 + src/share/classes/com/oracle/graal/api/meta/InvokeTarget.java | 29 + src/share/classes/com/oracle/graal/api/meta/JavaField.java | 52 + src/share/classes/com/oracle/graal/api/meta/JavaMethod.java | 46 + src/share/classes/com/oracle/graal/api/meta/JavaMethodProfile.java | 64 + src/share/classes/com/oracle/graal/api/meta/JavaType.java | 67 + src/share/classes/com/oracle/graal/api/meta/JavaTypeProfile.java | 181 + src/share/classes/com/oracle/graal/api/meta/Kind.java | 462 ++++ src/share/classes/com/oracle/graal/api/meta/KindProvider.java | 33 + src/share/classes/com/oracle/graal/api/meta/LIRKind.java | 259 ++ src/share/classes/com/oracle/graal/api/meta/LineNumberTable.java | 32 + src/share/classes/com/oracle/graal/api/meta/Local.java | 36 + src/share/classes/com/oracle/graal/api/meta/LocalVariableTable.java | 32 + src/share/classes/com/oracle/graal/api/meta/LocationIdentity.java | 48 + src/share/classes/com/oracle/graal/api/meta/MetaAccessProvider.java | 94 + src/share/classes/com/oracle/graal/api/meta/MetaUtil.java | 746 +++++++ src/share/classes/com/oracle/graal/api/meta/ModifiersProvider.java | 131 + src/share/classes/com/oracle/graal/api/meta/NamedLocationIdentity.java | 66 + src/share/classes/com/oracle/graal/api/meta/NullConstant.java | 91 + src/share/classes/com/oracle/graal/api/meta/PlatformKind.java | 37 + src/share/classes/com/oracle/graal/api/meta/PrimitiveConstant.java | 129 + src/share/classes/com/oracle/graal/api/meta/ProfilingInfo.java | 149 + src/share/classes/com/oracle/graal/api/meta/ResolvedJavaField.java | 92 + src/share/classes/com/oracle/graal/api/meta/ResolvedJavaMethod.java | 227 ++ src/share/classes/com/oracle/graal/api/meta/ResolvedJavaType.java | 323 +++ src/share/classes/com/oracle/graal/api/meta/Signature.java | 89 + src/share/classes/com/oracle/graal/api/meta/Value.java | 99 + src/share/classes/com/oracle/graal/api/meta/package-info.java | 29 + src/share/classes/com/oracle/graal/api/replacements/ClassSubstitution.java | 65 + src/share/classes/com/oracle/graal/api/replacements/MethodHandleAccessProvider.java | 78 + src/share/classes/com/oracle/graal/api/replacements/MethodSubstitution.java | 79 + src/share/classes/com/oracle/graal/api/replacements/SnippetReflectionProvider.java | 70 + src/share/classes/com/oracle/graal/api/replacements/SnippetTemplateCache.java | 29 + src/share/classes/com/oracle/graal/api/replacements/SubstitutionGuard.java | 36 + src/share/classes/com/oracle/graal/api/runtime/Graal.java | 98 + src/share/classes/com/oracle/graal/api/runtime/GraalRuntime.java | 30 + src/share/classes/com/oracle/graal/api/runtime/Service.java | 29 + src/share/classes/com/oracle/graal/api/runtime/ServiceProvider.java | 32 + src/share/classes/com/oracle/graal/api/runtime/Services.java | 63 + src/share/classes/com/oracle/graal/asm/AsmOptions.java | 28 + src/share/classes/com/oracle/graal/asm/Assembler.java | 191 ++ src/share/classes/com/oracle/graal/asm/Buffer.java | 235 ++ src/share/classes/com/oracle/graal/asm/Label.java | 99 + src/share/classes/com/oracle/graal/asm/NumUtil.java | 105 + src/share/classes/com/oracle/graal/asm/amd64/AMD64Address.java | 168 + src/share/classes/com/oracle/graal/asm/amd64/AMD64AsmOptions.java | 31 + src/share/classes/com/oracle/graal/asm/amd64/AMD64Assembler.java | 2933 +++++++++++++++++++++++++++++++ src/share/classes/com/oracle/graal/asm/amd64/AMD64MacroAssembler.java | 305 +++ src/share/classes/com/oracle/graal/asm/hsail/AbstractHSAILAssembler.java | 67 + src/share/classes/com/oracle/graal/asm/hsail/HSAILAddress.java | 74 + src/share/classes/com/oracle/graal/asm/hsail/HSAILAssembler.java | 619 ++++++ src/share/classes/com/oracle/graal/baseline/BaselineBytecodeParser.java | 816 ++++++++ src/share/classes/com/oracle/graal/baseline/BaselineCompiler.java | 77 + src/share/classes/com/oracle/graal/baseline/BaselineControlFlowGraph.java | 111 + src/share/classes/com/oracle/graal/baseline/BaselineFrameStateBuilder.java | 103 + src/share/classes/com/oracle/graal/baseline/BaselineLoop.java | 41 + src/share/classes/com/oracle/graal/bytecode/BytecodeLookupSwitch.java | 64 + src/share/classes/com/oracle/graal/bytecode/BytecodeStream.java | 246 ++ src/share/classes/com/oracle/graal/bytecode/BytecodeSwitch.java | 124 + src/share/classes/com/oracle/graal/bytecode/BytecodeTableSwitch.java | 82 + src/share/classes/com/oracle/graal/bytecode/Bytecodes.java | 816 ++++++++ src/share/classes/com/oracle/graal/bytecode/Bytes.java | 100 + src/share/classes/com/oracle/graal/compiler/CompilerThread.java | 60 + src/share/classes/com/oracle/graal/compiler/CompilerThreadFactory.java | 56 + src/share/classes/com/oracle/graal/compiler/DebugFilter.java | 179 + src/share/classes/com/oracle/graal/compiler/GraalCompiler.java | 319 +++ src/share/classes/com/oracle/graal/compiler/GraalCompiler_Options.java | 20 + src/share/classes/com/oracle/graal/compiler/GraalDebugConfig.java | 295 +++ src/share/classes/com/oracle/graal/compiler/GraalDebugConfig_Options.java | 31 + src/share/classes/com/oracle/graal/compiler/MethodFilter.java | 211 ++ src/share/classes/com/oracle/graal/compiler/alloc/Interval.java | 1292 +++++++++++++ src/share/classes/com/oracle/graal/compiler/alloc/IntervalWalker.java | 284 +++ src/share/classes/com/oracle/graal/compiler/alloc/LinearScan.java | 2092 ++++++++++++++++++++++ src/share/classes/com/oracle/graal/compiler/alloc/LinearScanWalker.java | 907 +++++++++ src/share/classes/com/oracle/graal/compiler/alloc/MoveResolver.java | 364 +++ src/share/classes/com/oracle/graal/compiler/alloc/OptimizingLinearScanWalker.java | 247 ++ src/share/classes/com/oracle/graal/compiler/alloc/OptimizingLinearScanWalker_Options.java | 20 + src/share/classes/com/oracle/graal/compiler/alloc/Range.java | 116 + src/share/classes/com/oracle/graal/compiler/alloc/RegisterVerifier.java | 246 ++ src/share/classes/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java | 1106 +++++++++++ src/share/classes/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java | 484 +++++ src/share/classes/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder_MatchStatementSet.java | 245 ++ src/share/classes/com/oracle/graal/compiler/common/FieldIntrospection.java | 157 + src/share/classes/com/oracle/graal/compiler/common/GraalInternalError.java | 136 + src/share/classes/com/oracle/graal/compiler/common/GraalOptions.java | 287 +++ src/share/classes/com/oracle/graal/compiler/common/GraalOptions_Options.java | 125 + src/share/classes/com/oracle/graal/compiler/common/UnsafeAccess.java | 102 + src/share/classes/com/oracle/graal/compiler/common/calc/Condition.java | 634 ++++++ src/share/classes/com/oracle/graal/compiler/common/calc/FloatConvert.java | 65 + src/share/classes/com/oracle/graal/compiler/common/cfg/AbstractBlock.java | 85 + src/share/classes/com/oracle/graal/compiler/common/cfg/AbstractBlockBase.java | 104 + src/share/classes/com/oracle/graal/compiler/common/cfg/AbstractControlFlowGraph.java | 37 + src/share/classes/com/oracle/graal/compiler/common/cfg/BlockMap.java | 41 + src/share/classes/com/oracle/graal/compiler/common/cfg/Loop.java | 88 + src/share/classes/com/oracle/graal/compiler/common/spi/CodeGenProviders.java | 42 + src/share/classes/com/oracle/graal/compiler/common/spi/LIRKindTool.java | 37 + src/share/classes/com/oracle/graal/compiler/common/type/AbstractObjectStamp.java | 288 +++ src/share/classes/com/oracle/graal/compiler/common/type/FloatStamp.java | 240 ++ src/share/classes/com/oracle/graal/compiler/common/type/IllegalStamp.java | 97 + src/share/classes/com/oracle/graal/compiler/common/type/IntegerStamp.java | 326 +++ src/share/classes/com/oracle/graal/compiler/common/type/ObjectStamp.java | 76 + src/share/classes/com/oracle/graal/compiler/common/type/PrimitiveStamp.java | 70 + src/share/classes/com/oracle/graal/compiler/common/type/Stamp.java | 118 + src/share/classes/com/oracle/graal/compiler/common/type/StampFactory.java | 253 ++ src/share/classes/com/oracle/graal/compiler/common/type/StampProvider.java | 28 + src/share/classes/com/oracle/graal/compiler/common/type/VoidStamp.java | 115 + src/share/classes/com/oracle/graal/compiler/gen/BytecodeLIRBuilder.java | 70 + src/share/classes/com/oracle/graal/compiler/gen/BytecodeParserTool.java | 34 + src/share/classes/com/oracle/graal/compiler/gen/DebugInfoBuilder.java | 225 ++ src/share/classes/com/oracle/graal/compiler/gen/InstructionPrinter.java | 136 + src/share/classes/com/oracle/graal/compiler/gen/NodeLIRBuilder.java | 608 ++++++ src/share/classes/com/oracle/graal/compiler/gen/PhiResolver.java | 241 ++ src/share/classes/com/oracle/graal/compiler/gen/package-info.java | 28 + src/share/classes/com/oracle/graal/compiler/hsail/CompileAndDispatch.java | 10 +- src/share/classes/com/oracle/graal/compiler/hsail/HSAILLIRGenerator.java | 875 +++++++++ src/share/classes/com/oracle/graal/compiler/hsail/HSAILNodeLIRBuilder.java | 68 + src/share/classes/com/oracle/graal/compiler/match/ComplexMatchResult.java | 35 + src/share/classes/com/oracle/graal/compiler/match/ComplexMatchValue.java | 64 + src/share/classes/com/oracle/graal/compiler/match/MatchContext.java | 189 + src/share/classes/com/oracle/graal/compiler/match/MatchGenerator.java | 41 + src/share/classes/com/oracle/graal/compiler/match/MatchPattern.java | 307 +++ src/share/classes/com/oracle/graal/compiler/match/MatchProcessor.java | 1101 +++++++++++ src/share/classes/com/oracle/graal/compiler/match/MatchRule.java | 53 + src/share/classes/com/oracle/graal/compiler/match/MatchRuleRegistry.java | 153 + src/share/classes/com/oracle/graal/compiler/match/MatchRules.java | 34 + src/share/classes/com/oracle/graal/compiler/match/MatchStatement.java | 147 + src/share/classes/com/oracle/graal/compiler/match/MatchStatementSet.java | 41 + src/share/classes/com/oracle/graal/compiler/match/MatchableNode.java | 61 + src/share/classes/com/oracle/graal/compiler/match/MatchableNodes.java | 34 + src/share/classes/com/oracle/graal/compiler/package-info.java | 28 + src/share/classes/com/oracle/graal/compiler/phases/BasicCompilerConfiguration.java | 43 + src/share/classes/com/oracle/graal/compiler/phases/HighTier.java | 103 + src/share/classes/com/oracle/graal/compiler/phases/HighTier_Options.java | 19 + src/share/classes/com/oracle/graal/compiler/phases/LowTier.java | 61 + src/share/classes/com/oracle/graal/compiler/phases/LowTier_Options.java | 19 + src/share/classes/com/oracle/graal/compiler/phases/MidTier.java | 96 + src/share/classes/com/oracle/graal/compiler/target/Backend.java | 112 + src/share/classes/com/oracle/graal/compiler/target/HostBackend.java | 32 + src/share/classes/com/oracle/graal/debug/AnsiColor.java | 88 + src/share/classes/com/oracle/graal/debug/Debug.java | 1100 +++++++++++ src/share/classes/com/oracle/graal/debug/DebugConfig.java | 117 + src/share/classes/com/oracle/graal/debug/DebugConfigScope.java | 55 + src/share/classes/com/oracle/graal/debug/DebugDumpHandler.java | 33 + src/share/classes/com/oracle/graal/debug/DebugDumpScope.java | 49 + src/share/classes/com/oracle/graal/debug/DebugHistogram.java | 102 + src/share/classes/com/oracle/graal/debug/DebugMemUseTracker.java | 56 + src/share/classes/com/oracle/graal/debug/DebugMetric.java | 58 + src/share/classes/com/oracle/graal/debug/DebugTimer.java | 70 + src/share/classes/com/oracle/graal/debug/DebugVerifyHandler.java | 37 + src/share/classes/com/oracle/graal/debug/DelegatingDebugConfig.java | 224 ++ src/share/classes/com/oracle/graal/debug/Indent.java | 51 + src/share/classes/com/oracle/graal/debug/LogStream.java | 477 +++++ src/share/classes/com/oracle/graal/debug/TTY.java | 305 +++ src/share/classes/com/oracle/graal/debug/internal/DebugHistogramAsciiPrinter.java | 103 + src/share/classes/com/oracle/graal/debug/internal/DebugHistogramImpl.java | 66 + src/share/classes/com/oracle/graal/debug/internal/DebugHistogramRPrinter.java | 81 + src/share/classes/com/oracle/graal/debug/internal/DebugScope.java | 408 ++++ src/share/classes/com/oracle/graal/debug/internal/DebugValue.java | 94 + src/share/classes/com/oracle/graal/debug/internal/DebugValueMap.java | 171 + src/share/classes/com/oracle/graal/debug/internal/KeyRegistry.java | 57 + src/share/classes/com/oracle/graal/debug/internal/MemUseTrackerImpl.java | 113 + src/share/classes/com/oracle/graal/debug/internal/MetricImpl.java | 49 + src/share/classes/com/oracle/graal/debug/internal/TimerCloseable.java | 34 + src/share/classes/com/oracle/graal/debug/internal/TimerImpl.java | 145 + src/share/classes/com/oracle/graal/gpu/ExternalCompilationResult.java | 98 + src/share/classes/com/oracle/graal/graph/DefaultNodeCollectionsProvider.java | 50 + src/share/classes/com/oracle/graal/graph/GraalGraphInternalError.java | 148 + src/share/classes/com/oracle/graal/graph/Graph.java | 977 ++++++++++ src/share/classes/com/oracle/graal/graph/InputType.java | 64 + src/share/classes/com/oracle/graal/graph/IterableNodeType.java | 32 + src/share/classes/com/oracle/graal/graph/Node.java | 1115 +++++++++++ src/share/classes/com/oracle/graal/graph/NodeBitMap.java | 225 ++ src/share/classes/com/oracle/graal/graph/NodeClass.java | 1666 +++++++++++++++++ src/share/classes/com/oracle/graal/graph/NodeClassIterable.java | 45 + src/share/classes/com/oracle/graal/graph/NodeCollectionsProvider.java | 59 + src/share/classes/com/oracle/graal/graph/NodeFlood.java | 138 + src/share/classes/com/oracle/graal/graph/NodeIdAccessor.java | 63 + src/share/classes/com/oracle/graal/graph/NodeInfo.java | 42 + src/share/classes/com/oracle/graal/graph/NodeInputList.java | 99 + src/share/classes/com/oracle/graal/graph/NodeInterface.java | 27 + src/share/classes/com/oracle/graal/graph/NodeList.java | 381 ++++ src/share/classes/com/oracle/graal/graph/NodeMap.java | 192 ++ src/share/classes/com/oracle/graal/graph/NodeNodeMap.java | 75 + src/share/classes/com/oracle/graal/graph/NodeSuccessorList.java | 84 + src/share/classes/com/oracle/graal/graph/NodeWorkList.java | 226 ++ src/share/classes/com/oracle/graal/graph/VerificationError.java | 45 + src/share/classes/com/oracle/graal/graph/iterators/DistinctFilteredNodeIterable.java | 44 + src/share/classes/com/oracle/graal/graph/iterators/DistinctPredicatedProxyNodeIterator.java | 59 + src/share/classes/com/oracle/graal/graph/iterators/FilteredNodeIterable.java | 81 + src/share/classes/com/oracle/graal/graph/iterators/NodeIterable.java | 93 + src/share/classes/com/oracle/graal/graph/iterators/NodeIterator.java | 56 + src/share/classes/com/oracle/graal/graph/iterators/NodePredicate.java | 43 + src/share/classes/com/oracle/graal/graph/iterators/NodePredicates.java | 295 +++ src/share/classes/com/oracle/graal/graph/iterators/PredicatedProxyNodeIterator.java | 48 + src/share/classes/com/oracle/graal/graph/package-info.java | 27 + src/share/classes/com/oracle/graal/graph/spi/Canonicalizable.java | 131 + src/share/classes/com/oracle/graal/graph/spi/CanonicalizerTool.java | 37 + src/share/classes/com/oracle/graal/graph/spi/DefaultCanonicalizerTool.java | 57 + src/share/classes/com/oracle/graal/graph/spi/Simplifiable.java | 37 + src/share/classes/com/oracle/graal/graph/spi/SimplifierTool.java | 42 + src/share/classes/com/oracle/graal/graph/util/CollectionsAccess.java | 94 + src/share/classes/com/oracle/graal/hotspot/CompilationQueue.java | 295 +++ src/share/classes/com/oracle/graal/hotspot/CompilationQueue_Options.java | 32 + src/share/classes/com/oracle/graal/hotspot/CompilationStatistics.java | 213 ++ src/share/classes/com/oracle/graal/hotspot/CompilationTask.java | 572 ++++++ src/share/classes/com/oracle/graal/hotspot/CompilationTask.java~ | 572 ++++++ src/share/classes/com/oracle/graal/hotspot/CompileTheWorld.java | 384 ++++ src/share/classes/com/oracle/graal/hotspot/CompileTheWorld_Options.java | 24 + src/share/classes/com/oracle/graal/hotspot/CompilerObject.java | 35 + src/share/classes/com/oracle/graal/hotspot/DebugValuesPrinter.java | 193 ++ src/share/classes/com/oracle/graal/hotspot/HotSpotBackend.java | 229 ++ src/share/classes/com/oracle/graal/hotspot/HotSpotBackendFactory.java | 43 + src/share/classes/com/oracle/graal/hotspot/HotSpotCompiledCode.java | 136 + src/share/classes/com/oracle/graal/hotspot/HotSpotCompiledNmethod.java | 50 + src/share/classes/com/oracle/graal/hotspot/HotSpotCompiledRuntimeStub.java | 81 + src/share/classes/com/oracle/graal/hotspot/HotSpotDebugInfoBuilder.java | 73 + src/share/classes/com/oracle/graal/hotspot/HotSpotForeignCallLinkage.java | 280 ++ src/share/classes/com/oracle/graal/hotspot/HotSpotGraalRuntime.java | 629 ++++++ src/share/classes/com/oracle/graal/hotspot/HotSpotGraalRuntime_Options.java | 20 + src/share/classes/com/oracle/graal/hotspot/HotSpotHostBackend.java | 98 + src/share/classes/com/oracle/graal/hotspot/HotSpotLIRFrameState.java | 53 + src/share/classes/com/oracle/graal/hotspot/HotSpotLIRGenerator.java | 140 + src/share/classes/com/oracle/graal/hotspot/HotSpotLockStack.java | 60 + src/share/classes/com/oracle/graal/hotspot/HotSpotNodeLIRBuilder.java | 46 + src/share/classes/com/oracle/graal/hotspot/HotSpotOptions.java | 346 +++ src/share/classes/com/oracle/graal/hotspot/HotSpotOptionsLoader.java | 57 + src/share/classes/com/oracle/graal/hotspot/HotSpotReferenceMap.java | 176 + src/share/classes/com/oracle/graal/hotspot/HotSpotReplacementsImpl.java | 101 + src/share/classes/com/oracle/graal/hotspot/HotSpotStackFrameReference.java | 83 + src/share/classes/com/oracle/graal/hotspot/HotSpotTargetDescription.java | 43 + src/share/classes/com/oracle/graal/hotspot/HotSpotVMConfig.java | 1633 +++++++++++++++++ src/share/classes/com/oracle/graal/hotspot/HotSpotVmSymbols.java | 48 + src/share/classes/com/oracle/graal/hotspot/InitTimer.java | 82 + src/share/classes/com/oracle/graal/hotspot/InitTimer.java~ | 82 + src/share/classes/com/oracle/graal/hotspot/PrintStreamOption.java | 106 + src/share/classes/com/oracle/graal/hotspot/Stable.java | 33 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64DeoptimizationStub.java | 45 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64DeoptimizeOp.java | 46 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java | 338 +++ src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackendFactory.java | 278 ++ src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotBytecodeLIRBuilder.java | 98 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotCRuntimeCallEpilogueOp.java | 50 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotCRuntimeCallPrologueOp.java | 49 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotCodeCacheProvider.java | 39 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotCompare.java | 122 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotDeoptimizeCallerOp.java | 44 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java | 113 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotEpilogueOp.java | 62 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java | 101 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotJumpToExceptionHandlerInCallerOp.java | 72 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerationResult.java | 70 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java | 594 ++++++ src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java | 73 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveDeoptimizedStackFrameOp.java | 60 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java | 79 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotLoweringProvider.java | 56 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java | 257 ++ src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.java | 323 +++ src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder_MatchStatementSet.java | 153 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotPatchReturnAddressOp.java | 52 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotPushInterpreterFrameOp.java | 81 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java | 277 ++ src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotReturnOp.java | 60 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotSafepointOp.java | 109 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotSpotUnwindOp.java | 65 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotspotDirectStaticCallOp.java | 53 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64HotspotDirectVirtualCallOp.java | 61 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64IndirectCallOp.java | 72 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64PrefetchOp.java | 63 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java | 76 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64TailcallOp.java | 58 + src/share/classes/com/oracle/graal/hotspot/amd64/AMD64UncommonTrapStub.java | 46 + src/share/classes/com/oracle/graal/hotspot/bridge/CompilerToVM.java | 364 +++ src/share/classes/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java | 202 ++ src/share/classes/com/oracle/graal/hotspot/data/DataSection.java | 106 + src/share/classes/com/oracle/graal/hotspot/data/DataSectionReference.java | 60 + src/share/classes/com/oracle/graal/hotspot/data/MetaspaceData.java | 80 + src/share/classes/com/oracle/graal/hotspot/data/OopData.java | 79 + src/share/classes/com/oracle/graal/hotspot/data/PatchedData.java | 35 + src/share/classes/com/oracle/graal/hotspot/debug/BenchmarkCounters.java | 398 ++++ src/share/classes/com/oracle/graal/hotspot/debug/BenchmarkCounters_Options.java | 30 + src/share/classes/com/oracle/graal/hotspot/debug/LineNumberTableImpl.java | 56 + src/share/classes/com/oracle/graal/hotspot/debug/LocalImpl.java | 94 + src/share/classes/com/oracle/graal/hotspot/debug/LocalVariableTableImpl.java | 68 + src/share/classes/com/oracle/graal/hotspot/events/EmptyEventProvider.java | 105 + src/share/classes/com/oracle/graal/hotspot/events/EventProvider.java | 105 + src/share/classes/com/oracle/graal/hotspot/hsail/DonorThreadPool.java | 74 + src/share/classes/com/oracle/graal/hotspot/hsail/ForEachToGraal.java | 462 ++++ src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotAssembler.java | 66 + src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java | 1249 +++++++++++++ src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackendFactory.java | 90 + src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend_Options.java | 19 + src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotCodeCacheProvider.java | 48 + src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotForeignCallsProvider.java | 66 + src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerationResult.java | 47 + src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java | 312 +++ src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotLoweringProvider.java | 146 + src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotNodeLIRBuilder.java | 131 + src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotRegisterConfig.java | 200 ++ src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotReplacementsImpl.java | 146 + src/share/classes/com/oracle/graal/hotspot/hsail/HSAILHotSpotSafepointOp.java | 101 + src/share/classes/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java | 53 + src/share/classes/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java | 53 + src/share/classes/com/oracle/graal/hotspot/hsail/replacements/HSAILHotSpotReplacementsUtil.java | 144 + src/share/classes/com/oracle/graal/hotspot/hsail/replacements/HSAILNewObjectSnippets.java | 345 +++ src/share/classes/com/oracle/graal/hotspot/hsail/replacements/HSAILNewObjectSnippets_Options.java | 21 + src/share/classes/com/oracle/graal/hotspot/hsail/replacements/HSAILWorkItemAbsIdNode.java | 47 + src/share/classes/com/oracle/graal/hotspot/logging/CountingProxy.java | 109 + src/share/classes/com/oracle/graal/hotspot/logging/Logger.java | 199 ++ src/share/classes/com/oracle/graal/hotspot/logging/LoggingProxy.java | 77 + src/share/classes/com/oracle/graal/hotspot/logging/ProxyUtil.java | 46 + src/share/classes/com/oracle/graal/hotspot/logging/package-info.java | 27 + src/share/classes/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java | 473 ++++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java | 293 +++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotCompressedNullConstant.java | 95 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotConstant.java | 29 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java | 537 +++++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java | 240 ++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotDisassemblerProvider.java | 46 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotForeignCallsProvider.java | 37 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotForeignCallsProviderImpl.java | 158 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotHostForeignCallsProvider.java | 183 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotInstalledCode.java | 92 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotJavaType.java | 45 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotLoweringProvider.java | 49 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java | 313 +++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotMetaspaceConstant.java | 62 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotMethod.java | 66 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotMethodData.java | 842 ++++++++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotMethodDataAccessor.java | 117 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotMethodHandleAccessProvider.java | 151 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotMethodUnresolved.java | 68 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotMonitorValue.java | 85 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotNmethod.java | 117 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java | 160 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotProfilingInfo.java | 226 ++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotProviders.java | 88 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotRegisters.java | 53 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotRegistersProvider.java | 46 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java | 365 +++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java | 782 ++++++++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java | 62 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java | 797 ++++++++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotResolvedPrimitiveType.java | 263 ++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotRuntimeStub.java | 63 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotSignature.java | 200 ++ src/share/classes/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java | 49 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotSpeculationLog.java | 35 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotSuitesProvider.java | 80 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotUnresolvedField.java | 84 + src/share/classes/com/oracle/graal/hotspot/meta/HotSpotUnresolvedJavaType.java | 90 + src/share/classes/com/oracle/graal/hotspot/nfi/HotSpotNativeFunctionHandle.java | 98 + src/share/classes/com/oracle/graal/hotspot/nfi/HotSpotNativeFunctionInterface.java | 192 ++ src/share/classes/com/oracle/graal/hotspot/nfi/HotSpotNativeFunctionPointer.java | 52 + src/share/classes/com/oracle/graal/hotspot/nfi/HotSpotNativeLibraryHandle.java | 59 + src/share/classes/com/oracle/graal/hotspot/nfi/NativeCallStubGraphBuilder.java | 180 + src/share/classes/com/oracle/graal/hotspot/nfi/RawNativeCallNodeFactory.java | 33 + src/share/classes/com/oracle/graal/hotspot/nodes/AllocaNode.java | 64 + src/share/classes/com/oracle/graal/hotspot/nodes/ArrayRangeWriteBarrier.java | 45 + src/share/classes/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java | 71 + src/share/classes/com/oracle/graal/hotspot/nodes/CStringNode.java | 69 + src/share/classes/com/oracle/graal/hotspot/nodes/ClassCastNode.java | 70 + src/share/classes/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java | 64 + src/share/classes/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java | 59 + src/share/classes/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java | 58 + src/share/classes/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java | 59 + src/share/classes/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java | 58 + src/share/classes/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java | 74 + src/share/classes/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java | 58 + src/share/classes/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java | 58 + src/share/classes/com/oracle/graal/hotspot/nodes/CompressionNode.java | 190 ++ src/share/classes/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java | 66 + src/share/classes/com/oracle/graal/hotspot/nodes/CurrentLockNode.java | 56 + src/share/classes/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java | 78 + src/share/classes/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java | 54 + src/share/classes/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java | 38 + src/share/classes/com/oracle/graal/hotspot/nodes/DimensionsNode.java | 62 + src/share/classes/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java | 107 + src/share/classes/com/oracle/graal/hotspot/nodes/EndLockScopeNode.java | 59 + src/share/classes/com/oracle/graal/hotspot/nodes/EnterUnpackFramesStackFrameNode.java | 66 + src/share/classes/com/oracle/graal/hotspot/nodes/G1ArrayRangePostWriteBarrier.java | 32 + src/share/classes/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java | 32 + src/share/classes/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java | 40 + src/share/classes/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java | 68 + src/share/classes/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java | 50 + src/share/classes/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java | 53 + src/share/classes/com/oracle/graal/hotspot/nodes/HotSpotDirectCallTargetNode.java | 45 + src/share/classes/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java | 45 + src/share/classes/com/oracle/graal/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java | 55 + src/share/classes/com/oracle/graal/hotspot/nodes/LeaveCurrentStackFrameNode.java | 55 + src/share/classes/com/oracle/graal/hotspot/nodes/LeaveDeoptimizedStackFrameNode.java | 57 + src/share/classes/com/oracle/graal/hotspot/nodes/LeaveUnpackFramesStackFrameNode.java | 55 + src/share/classes/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java | 52 + src/share/classes/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java | 70 + src/share/classes/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java | 68 + src/share/classes/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java | 70 + src/share/classes/com/oracle/graal/hotspot/nodes/PatchReturnAddressNode.java | 50 + src/share/classes/com/oracle/graal/hotspot/nodes/PrefetchAllocateNode.java | 50 + src/share/classes/com/oracle/graal/hotspot/nodes/PushInterpreterFrameNode.java | 62 + src/share/classes/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java | 62 + src/share/classes/com/oracle/graal/hotspot/nodes/SerialArrayRangeWriteBarrier.java | 32 + src/share/classes/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java | 40 + src/share/classes/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java | 50 + src/share/classes/com/oracle/graal/hotspot/nodes/SnippetLocationProxyNode.java | 49 + src/share/classes/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java | 94 + src/share/classes/com/oracle/graal/hotspot/nodes/StubStartNode.java | 42 + src/share/classes/com/oracle/graal/hotspot/nodes/TailcallNode.java | 78 + src/share/classes/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java | 81 + src/share/classes/com/oracle/graal/hotspot/nodes/VMErrorNode.java | 76 + src/share/classes/com/oracle/graal/hotspot/nodes/WriteBarrier.java | 67 + src/share/classes/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java | 113 + src/share/classes/com/oracle/graal/hotspot/package-info.java | 29 + src/share/classes/com/oracle/graal/hotspot/phases/AheadOfTimeVerificationPhase.java | 93 + src/share/classes/com/oracle/graal/hotspot/phases/LoadJavaMirrorWithKlassPhase.java | 115 + src/share/classes/com/oracle/graal/hotspot/phases/OnStackReplacementPhase.java | 114 + src/share/classes/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java | 177 + src/share/classes/com/oracle/graal/hotspot/phases/WriteBarrierVerificationPhase.java | 137 + src/share/classes/com/oracle/graal/hotspot/replacements/AESCryptSubstitutions.java | 102 + src/share/classes/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java | 195 ++ src/share/classes/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java | 222 ++ src/share/classes/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java | 292 +++ src/share/classes/com/oracle/graal/hotspot/replacements/AssertionSnippets.java | 91 + src/share/classes/com/oracle/graal/hotspot/replacements/CRC32Substitutions.java | 85 + src/share/classes/com/oracle/graal/hotspot/replacements/CallSiteSubstitutions.java | 63 + src/share/classes/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java | 83 + src/share/classes/com/oracle/graal/hotspot/replacements/CheckCastDynamicSnippets.java | 89 + src/share/classes/com/oracle/graal/hotspot/replacements/CipherBlockChainingSubstitutions.java | 117 + src/share/classes/com/oracle/graal/hotspot/replacements/ClassSubstitutions.java | 130 + src/share/classes/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java | 64 + src/share/classes/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java | 69 + src/share/classes/com/oracle/graal/hotspot/replacements/HotSpotNodeSubstitutions.java | 47 + src/share/classes/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java | 804 ++++++++ src/share/classes/com/oracle/graal/hotspot/replacements/HotSpotSubstitutions.java | 71 + src/share/classes/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java | 279 ++ src/share/classes/com/oracle/graal/hotspot/replacements/InstanceOfSnippets_Options.java | 20 + src/share/classes/com/oracle/graal/hotspot/replacements/LoadExceptionObjectSnippets.java | 93 + src/share/classes/com/oracle/graal/hotspot/replacements/MethodHandleNode.java | 295 +++ src/share/classes/com/oracle/graal/hotspot/replacements/MonitorSnippets.java | 539 +++++ src/share/classes/com/oracle/graal/hotspot/replacements/MonitorSnippets_Options.java | 28 + src/share/classes/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java | 494 +++++ src/share/classes/com/oracle/graal/hotspot/replacements/NewObjectSnippets_Options.java | 19 + src/share/classes/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java | 179 + src/share/classes/com/oracle/graal/hotspot/replacements/ObjectCloneSnippets.java | 120 + src/share/classes/com/oracle/graal/hotspot/replacements/ObjectGetClassNode.java | 86 + src/share/classes/com/oracle/graal/hotspot/replacements/ObjectSubstitutions.java | 59 + src/share/classes/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java | 105 + src/share/classes/com/oracle/graal/hotspot/replacements/ReflectionSubstitutions.java | 37 + src/share/classes/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java | 42 + src/share/classes/com/oracle/graal/hotspot/replacements/SystemSubstitutions.java | 75 + src/share/classes/com/oracle/graal/hotspot/replacements/ThreadSubstitutions.java | 81 + src/share/classes/com/oracle/graal/hotspot/replacements/TypeCheckSnippetUtils.java | 159 + src/share/classes/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java | 128 + src/share/classes/com/oracle/graal/hotspot/replacements/UnsafeArrayCopySnippets.java | 287 +++ src/share/classes/com/oracle/graal/hotspot/replacements/UnsafeLoadSnippets.java | 66 + src/share/classes/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java | 493 +++++ src/share/classes/com/oracle/graal/hotspot/stubs/DeoptimizationStub.java | 277 ++ src/share/classes/com/oracle/graal/hotspot/stubs/ExceptionHandlerStub.java | 149 + src/share/classes/com/oracle/graal/hotspot/stubs/ForeignCallStub.java | 244 ++ src/share/classes/com/oracle/graal/hotspot/stubs/NewArrayStub.java | 122 + src/share/classes/com/oracle/graal/hotspot/stubs/NewInstanceStub.java | 258 ++ src/share/classes/com/oracle/graal/hotspot/stubs/SnippetStub.java | 130 + src/share/classes/com/oracle/graal/hotspot/stubs/Stub.java | 204 ++ src/share/classes/com/oracle/graal/hotspot/stubs/StubUtil.java | 260 ++ src/share/classes/com/oracle/graal/hotspot/stubs/UncommonTrapStub.java | 288 +++ src/share/classes/com/oracle/graal/hotspot/stubs/UnwindExceptionToCallerStub.java | 118 + src/share/classes/com/oracle/graal/hotspot/stubs/VerifyOopStub.java | 45 + src/share/classes/com/oracle/graal/hotspotvmconfig/HotSpotVMConfigProcessor.java | 421 ++++ src/share/classes/com/oracle/graal/hotspotvmconfig/HotSpotVMConstant.java | 52 + src/share/classes/com/oracle/graal/hotspotvmconfig/HotSpotVMField.java | 85 + src/share/classes/com/oracle/graal/hotspotvmconfig/HotSpotVMFlag.java | 53 + src/share/classes/com/oracle/graal/hotspotvmconfig/HotSpotVMType.java | 57 + src/share/classes/com/oracle/graal/hotspotvmconfig/HotSpotVMValue.java | 62 + src/share/classes/com/oracle/graal/hsail/HSAIL.java | 233 ++ src/share/classes/com/oracle/graal/java/AbstractBytecodeParser.java | 1152 ++++++++++++ src/share/classes/com/oracle/graal/java/AbstractBytecodeParser_Options.java | 19 + src/share/classes/com/oracle/graal/java/AbstractFrameStateBuilder.java | 447 ++++ src/share/classes/com/oracle/graal/java/BciBlockMapping.java | 1245 +++++++++++++ src/share/classes/com/oracle/graal/java/BytecodeDisassembler.java | 221 ++ src/share/classes/com/oracle/graal/java/ComputeLoopFrequenciesClosure.java | 101 + src/share/classes/com/oracle/graal/java/DefaultSuitesProvider.java | 56 + src/share/classes/com/oracle/graal/java/GraphBuilderConfiguration.java | 99 + src/share/classes/com/oracle/graal/java/GraphBuilderPhase.java | 1414 ++++++++++++++ src/share/classes/com/oracle/graal/java/HIRFrameStateBuilder.java | 365 +++ src/share/classes/com/oracle/graal/java/JsrNotSupportedBailout.java | 34 + src/share/classes/com/oracle/graal/java/JsrScope.java | 87 + src/share/classes/com/oracle/graal/java/decompiler/Decompiler.java | 123 + src/share/classes/com/oracle/graal/java/decompiler/DecompilerIfSimplify.java | 124 + src/share/classes/com/oracle/graal/java/decompiler/DecompilerLoopSimplify.java | 83 + src/share/classes/com/oracle/graal/java/decompiler/DecompilerPhiRemover.java | 92 + src/share/classes/com/oracle/graal/java/decompiler/block/DecompilerBasicBlock.java | 81 + src/share/classes/com/oracle/graal/java/decompiler/block/DecompilerBlock.java | 117 + src/share/classes/com/oracle/graal/java/decompiler/block/DecompilerIfBlock.java | 190 ++ src/share/classes/com/oracle/graal/java/decompiler/block/DecompilerLoopBlock.java | 110 + src/share/classes/com/oracle/graal/java/decompiler/lines/DecompilerAssignmentLine.java | 63 + src/share/classes/com/oracle/graal/java/decompiler/lines/DecompilerControlSplitLine.java | 47 + src/share/classes/com/oracle/graal/java/decompiler/lines/DecompilerIfLine.java | 71 + src/share/classes/com/oracle/graal/java/decompiler/lines/DecompilerPhiLine.java | 49 + src/share/classes/com/oracle/graal/java/decompiler/lines/DecompilerPhiResolveLine.java | 46 + src/share/classes/com/oracle/graal/java/decompiler/lines/DecompilerProxyLine.java | 42 + src/share/classes/com/oracle/graal/java/decompiler/lines/DecompilerReturnLine.java | 39 + src/share/classes/com/oracle/graal/java/decompiler/lines/DecompilerSyntaxLine.java | 68 + src/share/classes/com/oracle/graal/lir/CompositeValue.java | 89 + src/share/classes/com/oracle/graal/lir/CompositeValueClass.java | 175 + src/share/classes/com/oracle/graal/lir/ControlFlowOptimizer.java | 112 + src/share/classes/com/oracle/graal/lir/EdgeMoveOptimizer.java | 279 ++ src/share/classes/com/oracle/graal/lir/FrameMap.java | 390 ++++ src/share/classes/com/oracle/graal/lir/InfopointOp.java | 47 + src/share/classes/com/oracle/graal/lir/LIR.java | 214 ++ src/share/classes/com/oracle/graal/lir/LIRFrameState.java | 147 + src/share/classes/com/oracle/graal/lir/LIRInsertionBuffer.java | 168 + src/share/classes/com/oracle/graal/lir/LIRInstruction.java | 393 ++++ src/share/classes/com/oracle/graal/lir/LIRInstructionClass.java | 451 ++++ src/share/classes/com/oracle/graal/lir/LIRIntrospection.java | 269 ++ src/share/classes/com/oracle/graal/lir/LIRValueUtil.java | 38 + src/share/classes/com/oracle/graal/lir/LIRVerifier.java | 250 ++ src/share/classes/com/oracle/graal/lir/LabelRef.java | 83 + src/share/classes/com/oracle/graal/lir/NullCheckOptimizer.java | 66 + src/share/classes/com/oracle/graal/lir/Opcode.java | 40 + src/share/classes/com/oracle/graal/lir/RedundantMoveElimination.java | 517 +++++ src/share/classes/com/oracle/graal/lir/StandardOp.java | 208 ++ src/share/classes/com/oracle/graal/lir/SwitchStrategy.java | 488 +++++ src/share/classes/com/oracle/graal/lir/ValuePosition.java | 145 + src/share/classes/com/oracle/graal/lir/Variable.java | 85 + src/share/classes/com/oracle/graal/lir/amd64/AMD64AddressValue.java | 105 + src/share/classes/com/oracle/graal/lir/amd64/AMD64Arithmetic.java | 1141 ++++++++++++ src/share/classes/com/oracle/graal/lir/amd64/AMD64ArrayEqualsOp.java | 298 +++ src/share/classes/com/oracle/graal/lir/amd64/AMD64BitManipulationOp.java | 95 + src/share/classes/com/oracle/graal/lir/amd64/AMD64BreakpointOp.java | 51 + src/share/classes/com/oracle/graal/lir/amd64/AMD64ByteSwapOp.java | 53 + src/share/classes/com/oracle/graal/lir/amd64/AMD64CCall.java | 62 + src/share/classes/com/oracle/graal/lir/amd64/AMD64Call.java | 207 ++ src/share/classes/com/oracle/graal/lir/amd64/AMD64Compare.java | 260 ++ src/share/classes/com/oracle/graal/lir/amd64/AMD64ControlFlow.java | 417 ++++ src/share/classes/com/oracle/graal/lir/amd64/AMD64FrameMap.java | 104 + src/share/classes/com/oracle/graal/lir/amd64/AMD64LIRInstruction.java | 40 + src/share/classes/com/oracle/graal/lir/amd64/AMD64MathIntrinsicOp.java | 61 + src/share/classes/com/oracle/graal/lir/amd64/AMD64Move.java | 730 +++++++ src/share/classes/com/oracle/graal/lir/amd64/AMD64RestoreRegistersOp.java | 71 + src/share/classes/com/oracle/graal/lir/amd64/AMD64SaveRegistersOp.java | 133 + src/share/classes/com/oracle/graal/lir/amd64/AMD64TestMemoryOp.java | 79 + src/share/classes/com/oracle/graal/lir/amd64/AMD64TestOp.java | 90 + src/share/classes/com/oracle/graal/lir/amd64/AMD64ZapRegistersOp.java | 79 + src/share/classes/com/oracle/graal/lir/asm/CompilationResultBuilder.java | 357 +++ src/share/classes/com/oracle/graal/lir/asm/CompilationResultBuilderFactory.java | 50 + src/share/classes/com/oracle/graal/lir/asm/FrameContext.java | 54 + src/share/classes/com/oracle/graal/lir/gen/ArithmeticLIRGenerator.java | 92 + src/share/classes/com/oracle/graal/lir/gen/LIRGenerationResult.java | 35 + src/share/classes/com/oracle/graal/lir/gen/LIRGenerationResultBase.java | 59 + src/share/classes/com/oracle/graal/lir/gen/LIRGenerator.java | 396 ++++ src/share/classes/com/oracle/graal/lir/gen/LIRGeneratorTool.java | 210 ++ src/share/classes/com/oracle/graal/lir/gen/LIRGenerator_Options.java | 20 + src/share/classes/com/oracle/graal/lir/hsail/HSAILAddressValue.java | 104 + src/share/classes/com/oracle/graal/lir/hsail/HSAILArithmetic.java | 384 ++++ src/share/classes/com/oracle/graal/lir/hsail/HSAILBitManipulationOp.java | 65 + src/share/classes/com/oracle/graal/lir/hsail/HSAILCompare.java | 119 + src/share/classes/com/oracle/graal/lir/hsail/HSAILControlFlow.java | 359 +++ src/share/classes/com/oracle/graal/lir/hsail/HSAILFrameMap.java | 72 + src/share/classes/com/oracle/graal/lir/hsail/HSAILLIRInstruction.java | 40 + src/share/classes/com/oracle/graal/lir/hsail/HSAILMove.java | 518 +++++ src/share/classes/com/oracle/graal/loop/BasicInductionVariable.java | 160 + src/share/classes/com/oracle/graal/loop/CountedLoopInfo.java | 168 + src/share/classes/com/oracle/graal/loop/DerivedOffsetInductionVariable.java | 147 + src/share/classes/com/oracle/graal/loop/DerivedScaledInductionVariable.java | 130 + src/share/classes/com/oracle/graal/loop/InductionVariable.java | 112 + src/share/classes/com/oracle/graal/loop/InductionVariables.java | 133 + src/share/classes/com/oracle/graal/loop/LoopEx.java | 271 ++ src/share/classes/com/oracle/graal/loop/LoopFragment.java | 386 ++++ src/share/classes/com/oracle/graal/loop/LoopFragmentInside.java | 361 +++ src/share/classes/com/oracle/graal/loop/LoopFragmentInsideBefore.java | 56 + src/share/classes/com/oracle/graal/loop/LoopFragmentInsideFrom.java | 56 + src/share/classes/com/oracle/graal/loop/LoopFragmentWhole.java | 109 + src/share/classes/com/oracle/graal/loop/LoopPolicies.java | 88 + src/share/classes/com/oracle/graal/loop/LoopTransformations.java | 135 + src/share/classes/com/oracle/graal/loop/LoopsData.java | 133 + src/share/classes/com/oracle/graal/loop/phases/LoopFullUnrollPhase.java | 63 + src/share/classes/com/oracle/graal/loop/phases/LoopSafepointEliminationPhase.java | 71 + src/share/classes/com/oracle/graal/loop/phases/LoopTransformHighPhase.java | 54 + src/share/classes/com/oracle/graal/loop/phases/LoopTransformLowPhase.java | 90 + src/share/classes/com/oracle/graal/nodes/AbstractDeoptimizeNode.java | 67 + src/share/classes/com/oracle/graal/nodes/AbstractEndNode.java | 56 + src/share/classes/com/oracle/graal/nodes/AbstractFixedGuardNode.java | 111 + src/share/classes/com/oracle/graal/nodes/AbstractLocalNode.java | 54 + src/share/classes/com/oracle/graal/nodes/AbstractMemoryCheckpoint.java | 48 + src/share/classes/com/oracle/graal/nodes/AbstractStateSplit.java | 57 + src/share/classes/com/oracle/graal/nodes/BeginNode.java | 171 + src/share/classes/com/oracle/graal/nodes/BeginStateSplitNode.java | 63 + src/share/classes/com/oracle/graal/nodes/BinaryOpLogicNode.java | 66 + src/share/classes/com/oracle/graal/nodes/BreakpointNode.java | 64 + src/share/classes/com/oracle/graal/nodes/CallTargetNode.java | 61 + src/share/classes/com/oracle/graal/nodes/ConditionAnchorNode.java | 91 + src/share/classes/com/oracle/graal/nodes/ConstantNode.java | 464 ++++ src/share/classes/com/oracle/graal/nodes/ControlSinkNode.java | 32 + src/share/classes/com/oracle/graal/nodes/ControlSplitNode.java | 41 + src/share/classes/com/oracle/graal/nodes/DeoptimizeNode.java | 86 + src/share/classes/com/oracle/graal/nodes/DeoptimizingFixedWithNextNode.java | 51 + src/share/classes/com/oracle/graal/nodes/DeoptimizingNode.java | 80 + src/share/classes/com/oracle/graal/nodes/DirectCallTargetNode.java | 41 + src/share/classes/com/oracle/graal/nodes/DispatchBeginNode.java | 38 + src/share/classes/com/oracle/graal/nodes/DynamicDeoptimizeNode.java | 72 + src/share/classes/com/oracle/graal/nodes/EndNode.java | 29 + src/share/classes/com/oracle/graal/nodes/EntryMarkerNode.java | 46 + src/share/classes/com/oracle/graal/nodes/FixedGuardNode.java | 79 + src/share/classes/com/oracle/graal/nodes/FixedNode.java | 43 + src/share/classes/com/oracle/graal/nodes/FixedWithNextNode.java | 52 + src/share/classes/com/oracle/graal/nodes/FloatingAnchoredNode.java | 51 + src/share/classes/com/oracle/graal/nodes/FloatingGuardedNode.java | 53 + src/share/classes/com/oracle/graal/nodes/FrameState.java | 458 ++++ src/share/classes/com/oracle/graal/nodes/GuardNode.java | 123 + src/share/classes/com/oracle/graal/nodes/GuardPhiNode.java | 42 + src/share/classes/com/oracle/graal/nodes/GuardProxyNode.java | 52 + src/share/classes/com/oracle/graal/nodes/GuardedValueNode.java | 96 + src/share/classes/com/oracle/graal/nodes/GuardingPiNode.java | 155 + src/share/classes/com/oracle/graal/nodes/HeapAccess.java | 52 + src/share/classes/com/oracle/graal/nodes/IfNode.java | 884 +++++++++ src/share/classes/com/oracle/graal/nodes/IndirectCallTargetNode.java | 48 + src/share/classes/com/oracle/graal/nodes/InfopointNode.java | 58 + src/share/classes/com/oracle/graal/nodes/Invoke.java | 102 + src/share/classes/com/oracle/graal/nodes/InvokeNode.java | 200 ++ src/share/classes/com/oracle/graal/nodes/InvokeWithExceptionNode.java | 243 ++ src/share/classes/com/oracle/graal/nodes/KillingBeginNode.java | 59 + src/share/classes/com/oracle/graal/nodes/LogicConstantNode.java | 98 + src/share/classes/com/oracle/graal/nodes/LogicNegationNode.java | 52 + src/share/classes/com/oracle/graal/nodes/LogicNode.java | 55 + src/share/classes/com/oracle/graal/nodes/LoopBeginNode.java | 311 +++ src/share/classes/com/oracle/graal/nodes/LoopEndNode.java | 98 + src/share/classes/com/oracle/graal/nodes/LoopExitNode.java | 46 + src/share/classes/com/oracle/graal/nodes/LoweredCallTargetNode.java | 62 + src/share/classes/com/oracle/graal/nodes/MemoryMap.java | 45 + src/share/classes/com/oracle/graal/nodes/MemoryMapNode.java | 98 + src/share/classes/com/oracle/graal/nodes/MemoryPhiNode.java | 60 + src/share/classes/com/oracle/graal/nodes/MemoryProxyNode.java | 77 + src/share/classes/com/oracle/graal/nodes/MergeNode.java | 229 ++ src/share/classes/com/oracle/graal/nodes/ParameterNode.java | 37 + src/share/classes/com/oracle/graal/nodes/PhiNode.java | 184 + src/share/classes/com/oracle/graal/nodes/PiArrayNode.java | 59 + src/share/classes/com/oracle/graal/nodes/PiNode.java | 139 + src/share/classes/com/oracle/graal/nodes/ProxyNode.java | 71 + src/share/classes/com/oracle/graal/nodes/ReturnNode.java | 76 + src/share/classes/com/oracle/graal/nodes/SafepointNode.java | 46 + src/share/classes/com/oracle/graal/nodes/ScheduledNode.java | 33 + src/share/classes/com/oracle/graal/nodes/ShortCircuitOrNode.java | 145 + src/share/classes/com/oracle/graal/nodes/StartNode.java | 47 + src/share/classes/com/oracle/graal/nodes/StateSplit.java | 52 + src/share/classes/com/oracle/graal/nodes/StructuredGraph.java | 432 ++++ src/share/classes/com/oracle/graal/nodes/TypeProfileProxyNode.java | 126 + src/share/classes/com/oracle/graal/nodes/UnaryOpLogicNode.java | 44 + src/share/classes/com/oracle/graal/nodes/UnwindNode.java | 55 + src/share/classes/com/oracle/graal/nodes/ValueNode.java | 135 + src/share/classes/com/oracle/graal/nodes/ValueNodeUtil.java | 107 + src/share/classes/com/oracle/graal/nodes/ValuePhiNode.java | 73 + src/share/classes/com/oracle/graal/nodes/ValueProxyNode.java | 68 + src/share/classes/com/oracle/graal/nodes/VirtualState.java | 56 + src/share/classes/com/oracle/graal/nodes/calc/AndNode.java | 96 + src/share/classes/com/oracle/graal/nodes/calc/BinaryNode.java | 236 ++ src/share/classes/com/oracle/graal/nodes/calc/BitLogicNode.java | 68 + src/share/classes/com/oracle/graal/nodes/calc/CompareNode.java | 174 + src/share/classes/com/oracle/graal/nodes/calc/ConditionalNode.java | 139 + src/share/classes/com/oracle/graal/nodes/calc/ConvertNode.java | 66 + src/share/classes/com/oracle/graal/nodes/calc/FixedBinaryNode.java | 47 + src/share/classes/com/oracle/graal/nodes/calc/FloatAddNode.java | 82 + src/share/classes/com/oracle/graal/nodes/calc/FloatArithmeticNode.java | 47 + src/share/classes/com/oracle/graal/nodes/calc/FloatConvertNode.java | 168 + src/share/classes/com/oracle/graal/nodes/calc/FloatDivNode.java | 62 + src/share/classes/com/oracle/graal/nodes/calc/FloatEqualsNode.java | 85 + src/share/classes/com/oracle/graal/nodes/calc/FloatLessThanNode.java | 84 + src/share/classes/com/oracle/graal/nodes/calc/FloatMulNode.java | 72 + src/share/classes/com/oracle/graal/nodes/calc/FloatRemNode.java | 67 + src/share/classes/com/oracle/graal/nodes/calc/FloatSubNode.java | 67 + src/share/classes/com/oracle/graal/nodes/calc/FloatingNode.java | 39 + src/share/classes/com/oracle/graal/nodes/calc/IntegerAddNode.java | 104 + src/share/classes/com/oracle/graal/nodes/calc/IntegerArithmeticNode.java | 59 + src/share/classes/com/oracle/graal/nodes/calc/IntegerBelowThanNode.java | 87 + src/share/classes/com/oracle/graal/nodes/calc/IntegerConvertNode.java | 111 + src/share/classes/com/oracle/graal/nodes/calc/IntegerDivNode.java | 117 + src/share/classes/com/oracle/graal/nodes/calc/IntegerEqualsNode.java | 142 + src/share/classes/com/oracle/graal/nodes/calc/IntegerLessThanNode.java | 109 + src/share/classes/com/oracle/graal/nodes/calc/IntegerMulNode.java | 89 + src/share/classes/com/oracle/graal/nodes/calc/IntegerRemNode.java | 78 + src/share/classes/com/oracle/graal/nodes/calc/IntegerSubNode.java | 125 + src/share/classes/com/oracle/graal/nodes/calc/IntegerTestNode.java | 62 + src/share/classes/com/oracle/graal/nodes/calc/IsNullNode.java | 93 + src/share/classes/com/oracle/graal/nodes/calc/LeftShiftNode.java | 99 + src/share/classes/com/oracle/graal/nodes/calc/NarrowNode.java | 110 + src/share/classes/com/oracle/graal/nodes/calc/NarrowableArithmeticNode.java | 31 + src/share/classes/com/oracle/graal/nodes/calc/NegateNode.java | 88 + src/share/classes/com/oracle/graal/nodes/calc/NormalizeCompareNode.java | 76 + src/share/classes/com/oracle/graal/nodes/calc/NotNode.java | 73 + src/share/classes/com/oracle/graal/nodes/calc/ObjectEqualsNode.java | 139 + src/share/classes/com/oracle/graal/nodes/calc/OrNode.java | 82 + src/share/classes/com/oracle/graal/nodes/calc/ReinterpretNode.java | 118 + src/share/classes/com/oracle/graal/nodes/calc/RightShiftNode.java | 105 + src/share/classes/com/oracle/graal/nodes/calc/ShiftNode.java | 55 + src/share/classes/com/oracle/graal/nodes/calc/SignExtendNode.java | 111 + src/share/classes/com/oracle/graal/nodes/calc/UnaryNode.java | 51 + src/share/classes/com/oracle/graal/nodes/calc/UnsignedDivNode.java | 79 + src/share/classes/com/oracle/graal/nodes/calc/UnsignedRemNode.java | 78 + src/share/classes/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java | 99 + src/share/classes/com/oracle/graal/nodes/calc/XorNode.java | 81 + src/share/classes/com/oracle/graal/nodes/calc/ZeroExtendNode.java | 118 + src/share/classes/com/oracle/graal/nodes/cfg/Block.java | 178 + src/share/classes/com/oracle/graal/nodes/cfg/CFGVerifier.java | 125 + src/share/classes/com/oracle/graal/nodes/cfg/ControlFlowGraph.java | 402 ++++ src/share/classes/com/oracle/graal/nodes/cfg/HIRLoop.java | 38 + src/share/classes/com/oracle/graal/nodes/debug/DynamicCounterNode.java | 82 + src/share/classes/com/oracle/graal/nodes/debug/WeakCounterNode.java | 65 + src/share/classes/com/oracle/graal/nodes/extended/AbstractWriteNode.java | 103 + src/share/classes/com/oracle/graal/nodes/extended/Access.java | 35 + src/share/classes/com/oracle/graal/nodes/extended/AddLocationNode.java | 117 + src/share/classes/com/oracle/graal/nodes/extended/AnchoringNode.java | 31 + src/share/classes/com/oracle/graal/nodes/extended/ArrayRangeWriteNode.java | 63 + src/share/classes/com/oracle/graal/nodes/extended/BoxNode.java | 103 + src/share/classes/com/oracle/graal/nodes/extended/BranchProbabilityNode.java | 132 + src/share/classes/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java | 69 + src/share/classes/com/oracle/graal/nodes/extended/ComputeAddressNode.java | 56 + src/share/classes/com/oracle/graal/nodes/extended/ConstantLocationNode.java | 76 + src/share/classes/com/oracle/graal/nodes/extended/FixedAccessNode.java | 103 + src/share/classes/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java | 61 + src/share/classes/com/oracle/graal/nodes/extended/FloatableAccessNode.java | 56 + src/share/classes/com/oracle/graal/nodes/extended/FloatingAccessNode.java | 75 + src/share/classes/com/oracle/graal/nodes/extended/FloatingReadNode.java | 88 + src/share/classes/com/oracle/graal/nodes/extended/ForeignCallNode.java | 137 + src/share/classes/com/oracle/graal/nodes/extended/GuardedNode.java | 38 + src/share/classes/com/oracle/graal/nodes/extended/GuardingNode.java | 31 + src/share/classes/com/oracle/graal/nodes/extended/IndexedLocationNode.java | 107 + src/share/classes/com/oracle/graal/nodes/extended/IntegerSwitchNode.java | 190 ++ src/share/classes/com/oracle/graal/nodes/extended/JavaReadNode.java | 53 + src/share/classes/com/oracle/graal/nodes/extended/JavaWriteNode.java | 52 + src/share/classes/com/oracle/graal/nodes/extended/LoadHubNode.java | 97 + src/share/classes/com/oracle/graal/nodes/extended/LoadMethodNode.java | 112 + src/share/classes/com/oracle/graal/nodes/extended/LocationNode.java | 67 + src/share/classes/com/oracle/graal/nodes/extended/MembarNode.java | 97 + src/share/classes/com/oracle/graal/nodes/extended/MemoryAccess.java | 38 + src/share/classes/com/oracle/graal/nodes/extended/MemoryCheckpoint.java | 69 + src/share/classes/com/oracle/graal/nodes/extended/MemoryNode.java | 38 + src/share/classes/com/oracle/graal/nodes/extended/MonitorEnter.java | 30 + src/share/classes/com/oracle/graal/nodes/extended/MonitorExit.java | 30 + src/share/classes/com/oracle/graal/nodes/extended/NullCheckNode.java | 53 + src/share/classes/com/oracle/graal/nodes/extended/OSRLocalNode.java | 36 + src/share/classes/com/oracle/graal/nodes/extended/OSRStartNode.java | 39 + src/share/classes/com/oracle/graal/nodes/extended/ReadNode.java | 183 + src/share/classes/com/oracle/graal/nodes/extended/StoreHubNode.java | 55 + src/share/classes/com/oracle/graal/nodes/extended/SwitchNode.java | 191 ++ src/share/classes/com/oracle/graal/nodes/extended/UnboxNode.java | 102 + src/share/classes/com/oracle/graal/nodes/extended/UnsafeAccessNode.java | 98 + src/share/classes/com/oracle/graal/nodes/extended/UnsafeCastNode.java | 106 + src/share/classes/com/oracle/graal/nodes/extended/UnsafeLoadNode.java | 117 + src/share/classes/com/oracle/graal/nodes/extended/UnsafeStoreNode.java | 186 + src/share/classes/com/oracle/graal/nodes/extended/ValueAnchorNode.java | 107 + src/share/classes/com/oracle/graal/nodes/extended/WriteNode.java | 89 + src/share/classes/com/oracle/graal/nodes/java/AbstractNewArrayNode.java | 77 + src/share/classes/com/oracle/graal/nodes/java/AbstractNewObjectNode.java | 99 + src/share/classes/com/oracle/graal/nodes/java/AccessArrayNode.java | 49 + src/share/classes/com/oracle/graal/nodes/java/AccessFieldNode.java | 102 + src/share/classes/com/oracle/graal/nodes/java/AccessIndexedNode.java | 70 + src/share/classes/com/oracle/graal/nodes/java/AccessMonitorNode.java | 77 + src/share/classes/com/oracle/graal/nodes/java/ArrayLengthNode.java | 115 + src/share/classes/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java | 88 + src/share/classes/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java | 99 + src/share/classes/com/oracle/graal/nodes/java/CheckCastDynamicNode.java | 106 + src/share/classes/com/oracle/graal/nodes/java/CheckCastNode.java | 212 ++ src/share/classes/com/oracle/graal/nodes/java/CompareAndSwapNode.java | 108 + src/share/classes/com/oracle/graal/nodes/java/DynamicNewArrayNode.java | 85 + src/share/classes/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java | 57 + src/share/classes/com/oracle/graal/nodes/java/ExceptionObjectNode.java | 81 + src/share/classes/com/oracle/graal/nodes/java/ForeignCallDescriptors.java | 40 + src/share/classes/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java | 87 + src/share/classes/com/oracle/graal/nodes/java/InstanceOfNode.java | 125 + src/share/classes/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java | 39 + src/share/classes/com/oracle/graal/nodes/java/LoadFieldNode.java | 132 + src/share/classes/com/oracle/graal/nodes/java/LoadIndexedNode.java | 72 + src/share/classes/com/oracle/graal/nodes/java/LoweredAtomicReadAndWriteNode.java | 87 + src/share/classes/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java | 95 + src/share/classes/com/oracle/graal/nodes/java/MethodCallTargetNode.java | 209 ++ src/share/classes/com/oracle/graal/nodes/java/MonitorEnterNode.java | 63 + src/share/classes/com/oracle/graal/nodes/java/MonitorExitNode.java | 85 + src/share/classes/com/oracle/graal/nodes/java/MonitorIdNode.java | 56 + src/share/classes/com/oracle/graal/nodes/java/NewArrayNode.java | 89 + src/share/classes/com/oracle/graal/nodes/java/NewInstanceNode.java | 87 + src/share/classes/com/oracle/graal/nodes/java/NewMultiArrayNode.java | 81 + src/share/classes/com/oracle/graal/nodes/java/RegisterFinalizerNode.java | 102 + src/share/classes/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java | 79 + src/share/classes/com/oracle/graal/nodes/java/StoreFieldNode.java | 92 + src/share/classes/com/oracle/graal/nodes/java/StoreIndexedNode.java | 91 + src/share/classes/com/oracle/graal/nodes/java/TypeSwitchNode.java | 185 + src/share/classes/com/oracle/graal/nodes/spi/ArithmeticLIRLowerable.java | 31 + src/share/classes/com/oracle/graal/nodes/spi/ArrayLengthProvider.java | 33 + src/share/classes/com/oracle/graal/nodes/spi/LIRLowerable.java | 28 + src/share/classes/com/oracle/graal/nodes/spi/Lowerable.java | 41 + src/share/classes/com/oracle/graal/nodes/spi/LoweringProvider.java | 44 + src/share/classes/com/oracle/graal/nodes/spi/LoweringTool.java | 77 + src/share/classes/com/oracle/graal/nodes/spi/MacroSubstitution.java | 90 + src/share/classes/com/oracle/graal/nodes/spi/MemoryProxy.java | 33 + src/share/classes/com/oracle/graal/nodes/spi/NodeLIRBuilderTool.java | 72 + src/share/classes/com/oracle/graal/nodes/spi/NodeMappableLIRBuilder.java | 36 + src/share/classes/com/oracle/graal/nodes/spi/NodeWithState.java | 37 + src/share/classes/com/oracle/graal/nodes/spi/PiPushable.java | 38 + src/share/classes/com/oracle/graal/nodes/spi/Proxy.java | 37 + src/share/classes/com/oracle/graal/nodes/spi/Replacements.java | 124 + src/share/classes/com/oracle/graal/nodes/spi/ReplacementsProvider.java | 36 + src/share/classes/com/oracle/graal/nodes/spi/ValueAndStampProxy.java | 32 + src/share/classes/com/oracle/graal/nodes/spi/ValueProxy.java | 37 + src/share/classes/com/oracle/graal/nodes/spi/Virtualizable.java | 67 + src/share/classes/com/oracle/graal/nodes/spi/VirtualizableAllocation.java | 34 + src/share/classes/com/oracle/graal/nodes/spi/VirtualizableRoot.java | 37 + src/share/classes/com/oracle/graal/nodes/spi/VirtualizerTool.java | 156 + src/share/classes/com/oracle/graal/nodes/type/StampTool.java | 587 ++++++ src/share/classes/com/oracle/graal/nodes/util/GraphUtil.java | 444 ++++ src/share/classes/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java | 69 + src/share/classes/com/oracle/graal/nodes/virtual/CommitAllocationNode.java | 186 + src/share/classes/com/oracle/graal/nodes/virtual/EscapeObjectState.java | 52 + src/share/classes/com/oracle/graal/nodes/virtual/LockState.java | 61 + src/share/classes/com/oracle/graal/nodes/virtual/VirtualArrayNode.java | 151 + src/share/classes/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java | 49 + src/share/classes/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java | 107 + src/share/classes/com/oracle/graal/nodes/virtual/VirtualObjectNode.java | 97 + src/share/classes/com/oracle/graal/options/Option.java | 48 + src/share/classes/com/oracle/graal/options/OptionDescriptor.java | 93 + src/share/classes/com/oracle/graal/options/OptionProcessor.java | 328 +++ src/share/classes/com/oracle/graal/options/OptionValue.java | 413 ++++ src/share/classes/com/oracle/graal/options/Options.java | 31 + src/share/classes/com/oracle/graal/options/StableOptionValue.java | 75 + src/share/classes/com/oracle/graal/phases/BasePhase.java | 128 + src/share/classes/com/oracle/graal/phases/LazyName.java | 60 + src/share/classes/com/oracle/graal/phases/OptimisticOptimizations.java | 140 + src/share/classes/com/oracle/graal/phases/Phase.java | 53 + src/share/classes/com/oracle/graal/phases/PhaseSuite.java | 81 + src/share/classes/com/oracle/graal/phases/VerifyPhase.java | 61 + src/share/classes/com/oracle/graal/phases/common/AbstractInliningPhase.java | 32 + src/share/classes/com/oracle/graal/phases/common/CanonicalizerPhase.java | 423 ++++ src/share/classes/com/oracle/graal/phases/common/CleanTypeProfileProxyPhase.java | 37 + src/share/classes/com/oracle/graal/phases/common/ConditionalEliminationPhase.java | 866 +++++++++ src/share/classes/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java | 168 + src/share/classes/com/oracle/graal/phases/common/DeadCodeEliminationPhase.java | 126 + src/share/classes/com/oracle/graal/phases/common/DeoptimizationGroupingPhase.java | 102 + src/share/classes/com/oracle/graal/phases/common/ExpandLogicPhase.java | 97 + src/share/classes/com/oracle/graal/phases/common/FloatingReadPhase.java | 374 +++ src/share/classes/com/oracle/graal/phases/common/FrameStateAssignmentPhase.java | 135 + src/share/classes/com/oracle/graal/phases/common/GuardLoweringPhase.java | 210 ++ src/share/classes/com/oracle/graal/phases/common/IncrementalCanonicalizerPhase.java | 59 + src/share/classes/com/oracle/graal/phases/common/IterativeConditionalEliminationPhase.java | 70 + src/share/classes/com/oracle/graal/phases/common/LockEliminationPhase.java | 45 + src/share/classes/com/oracle/graal/phases/common/LoopSafepointInsertionPhase.java | 46 + src/share/classes/com/oracle/graal/phases/common/LoweringPhase.java | 375 +++ src/share/classes/com/oracle/graal/phases/common/NonNullParametersPhase.java | 43 + src/share/classes/com/oracle/graal/phases/common/OptimizeGuardAnchorsPhase.java | 143 + src/share/classes/com/oracle/graal/phases/common/ProfileCompiledMethodsPhase.java | 168 + src/share/classes/com/oracle/graal/phases/common/PushThroughPiPhase.java | 48 + src/share/classes/com/oracle/graal/phases/common/RemoveValueProxyPhase.java | 47 + src/share/classes/com/oracle/graal/phases/common/TailDuplicationPhase.java | 570 ++++++ src/share/classes/com/oracle/graal/phases/common/UseTrappingNullChecksPhase.java | 180 + src/share/classes/com/oracle/graal/phases/common/ValueAnchorCleanupPhase.java | 96 + src/share/classes/com/oracle/graal/phases/common/cfs/BaseReduction.java | 233 ++ src/share/classes/com/oracle/graal/phases/common/cfs/CastCheckExtractor.java | 87 + src/share/classes/com/oracle/graal/phases/common/cfs/CheckCastReduction.java | 364 +++ src/share/classes/com/oracle/graal/phases/common/cfs/EquationalReasoner.java | 962 ++++++++++ src/share/classes/com/oracle/graal/phases/common/cfs/Evidence.java | 61 + src/share/classes/com/oracle/graal/phases/common/cfs/FixedGuardReduction.java | 155 + src/share/classes/com/oracle/graal/phases/common/cfs/FlowSensitiveReduction.java | 608 ++++++ src/share/classes/com/oracle/graal/phases/common/cfs/FlowSensitiveReductionPhase.java | 58 + src/share/classes/com/oracle/graal/phases/common/cfs/FlowUtil.java | 289 +++ src/share/classes/com/oracle/graal/phases/common/cfs/GuardingPiReduction.java | 384 ++++ src/share/classes/com/oracle/graal/phases/common/cfs/Histogram.java | 77 + src/share/classes/com/oracle/graal/phases/common/cfs/IterativeFlowSensitiveReductionPhase.java | 79 + src/share/classes/com/oracle/graal/phases/common/cfs/State.java | 1015 ++++++++++ src/share/classes/com/oracle/graal/phases/common/cfs/Witness.java | 526 +++++ src/share/classes/com/oracle/graal/phases/common/inlining/InliningPhase.java | 97 + src/share/classes/com/oracle/graal/phases/common/inlining/InliningPhase_Options.java | 19 + src/share/classes/com/oracle/graal/phases/common/inlining/InliningUtil.java | 535 +++++ src/share/classes/com/oracle/graal/phases/common/inlining/info/AbstractInlineInfo.java | 103 + src/share/classes/com/oracle/graal/phases/common/inlining/info/AssumptionInlineInfo.java | 67 + src/share/classes/com/oracle/graal/phases/common/inlining/info/ExactInlineInfo.java | 109 + src/share/classes/com/oracle/graal/phases/common/inlining/info/InlineInfo.java | 91 + src/share/classes/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java | 561 +++++ src/share/classes/com/oracle/graal/phases/common/inlining/info/TypeGuardInlineInfo.java | 127 + src/share/classes/com/oracle/graal/phases/common/inlining/info/elem/Inlineable.java | 48 + src/share/classes/com/oracle/graal/phases/common/inlining/info/elem/InlineableGraph.java | 276 ++ src/share/classes/com/oracle/graal/phases/common/inlining/info/elem/InlineableMacroNode.java | 51 + src/share/classes/com/oracle/graal/phases/common/inlining/policy/AbstractInliningPolicy.java | 116 + src/share/classes/com/oracle/graal/phases/common/inlining/policy/GreedyInliningPolicy.java | 117 + src/share/classes/com/oracle/graal/phases/common/inlining/policy/InlineEverythingPolicy.java | 47 + src/share/classes/com/oracle/graal/phases/common/inlining/policy/InliningPolicy.java | 37 + src/share/classes/com/oracle/graal/phases/common/inlining/walker/CallsiteHolder.java | 52 + src/share/classes/com/oracle/graal/phases/common/inlining/walker/CallsiteHolderDummy.java | 61 + src/share/classes/com/oracle/graal/phases/common/inlining/walker/CallsiteHolderExplorable.java | 214 ++ src/share/classes/com/oracle/graal/phases/common/inlining/walker/ComputeInliningRelevance.java | 324 +++ src/share/classes/com/oracle/graal/phases/common/inlining/walker/InliningData.java | 769 ++++++++ src/share/classes/com/oracle/graal/phases/common/inlining/walker/InliningIterator.java | 142 + src/share/classes/com/oracle/graal/phases/common/inlining/walker/MethodInvocation.java | 160 + src/share/classes/com/oracle/graal/phases/common/util/HashSetNodeEventListener.java | 76 + src/share/classes/com/oracle/graal/phases/graph/FixedNodeProbabilityCache.java | 120 + src/share/classes/com/oracle/graal/phases/graph/InferStamps.java | 95 + src/share/classes/com/oracle/graal/phases/graph/MergeableState.java | 64 + src/share/classes/com/oracle/graal/phases/graph/PostOrderNodeIterator.java | 228 ++ src/share/classes/com/oracle/graal/phases/graph/ReentrantBlockIterator.java | 182 + src/share/classes/com/oracle/graal/phases/graph/ReentrantNodeIterator.java | 185 + src/share/classes/com/oracle/graal/phases/graph/ScheduledNodeIterator.java | 86 + src/share/classes/com/oracle/graal/phases/graph/ScopedPostOrderNodeIterator.java | 163 + src/share/classes/com/oracle/graal/phases/graph/SinglePassNodeIterator.java | 377 +++ src/share/classes/com/oracle/graal/phases/graph/StatelessPostOrderNodeIterator.java | 133 + src/share/classes/com/oracle/graal/phases/graph/package-info.java | 28 + src/share/classes/com/oracle/graal/phases/package-info.java | 30 + src/share/classes/com/oracle/graal/phases/schedule/BlockClosure.java | 33 + src/share/classes/com/oracle/graal/phases/schedule/SchedulePhase.java | 1189 ++++++++++++ src/share/classes/com/oracle/graal/phases/tiers/CompilerConfiguration.java | 35 + src/share/classes/com/oracle/graal/phases/tiers/HighTierContext.java | 69 + src/share/classes/com/oracle/graal/phases/tiers/LowTierContext.java | 40 + src/share/classes/com/oracle/graal/phases/tiers/MidTierContext.java | 60 + src/share/classes/com/oracle/graal/phases/tiers/PhaseContext.java | 69 + src/share/classes/com/oracle/graal/phases/tiers/Suites.java | 128 + src/share/classes/com/oracle/graal/phases/tiers/SuitesProvider.java | 45 + src/share/classes/com/oracle/graal/phases/tiers/Suites_Options.java | 19 + src/share/classes/com/oracle/graal/phases/util/ArrayMap.java | 118 + src/share/classes/com/oracle/graal/phases/util/ArraySet.java | 54 + src/share/classes/com/oracle/graal/phases/util/BitMap2D.java | 99 + src/share/classes/com/oracle/graal/phases/util/BlockWorkList.java | 126 + src/share/classes/com/oracle/graal/phases/util/GraphOrder.java | 262 ++ src/share/classes/com/oracle/graal/phases/util/IntList.java | 163 + src/share/classes/com/oracle/graal/phases/util/MethodDebugValueName.java | 45 + src/share/classes/com/oracle/graal/phases/util/Providers.java | 108 + src/share/classes/com/oracle/graal/phases/util/Util.java | 337 +++ src/share/classes/com/oracle/graal/phases/verify/VerifyDebugUsage.java | 73 + src/share/classes/com/oracle/graal/phases/verify/VerifyUsageWithEquals.java | 77 + src/share/classes/com/oracle/graal/printer/BasicIdealGraphPrinter.java | 363 +++ src/share/classes/com/oracle/graal/printer/BinaryGraphPrinter.java | 505 +++++ src/share/classes/com/oracle/graal/printer/CFGPrinter.java | 609 ++++++ src/share/classes/com/oracle/graal/printer/CFGPrinterObserver.java | 215 ++ src/share/classes/com/oracle/graal/printer/CompilationPrinter.java | 238 ++ src/share/classes/com/oracle/graal/printer/DebugEnvironment.java | 78 + src/share/classes/com/oracle/graal/printer/DecompilerDebugDumpHandler.java | 116 + src/share/classes/com/oracle/graal/printer/GraphPrinter.java | 52 + src/share/classes/com/oracle/graal/printer/GraphPrinterDumpHandler.java | 277 ++ src/share/classes/com/oracle/graal/printer/HexCodeFile.java | 431 ++++ src/share/classes/com/oracle/graal/printer/IdealGraphPrinter.java | 303 +++ src/share/classes/com/oracle/graal/printer/NoDeadCodeVerifyHandler.java | 86 + src/share/classes/com/oracle/graal/printer/NoDeadCodeVerifyHandler_Options.java | 19 + src/share/classes/com/oracle/graal/replacements/ArraySubstitutions.java | 53 + src/share/classes/com/oracle/graal/replacements/ArraysSubstitutions.java | 121 + src/share/classes/com/oracle/graal/replacements/BoxingSnippets.java | 231 ++ src/share/classes/com/oracle/graal/replacements/BoxingSubstitutions.java | 154 + src/share/classes/com/oracle/graal/replacements/CharacterSubstitutions.java | 34 + src/share/classes/com/oracle/graal/replacements/CollapseFrameForSingleSideEffectPhase.java | 238 ++ src/share/classes/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java | 697 +++++++ src/share/classes/com/oracle/graal/replacements/DoubleSubstitutions.java | 56 + src/share/classes/com/oracle/graal/replacements/FloatSubstitutions.java | 56 + src/share/classes/com/oracle/graal/replacements/GraalMethodSubstitutions.java | 55 + src/share/classes/com/oracle/graal/replacements/GraphKit.java | 327 +++ src/share/classes/com/oracle/graal/replacements/InstanceOfSnippetsTemplates.java | 252 ++ src/share/classes/com/oracle/graal/replacements/IntegerSubstitutions.java | 67 + src/share/classes/com/oracle/graal/replacements/JavacBug.java | 41 + src/share/classes/com/oracle/graal/replacements/Log.java | 199 ++ src/share/classes/com/oracle/graal/replacements/LongSubstitutions.java | 67 + src/share/classes/com/oracle/graal/replacements/MathSubstitutionsX86.java | 152 + src/share/classes/com/oracle/graal/replacements/NodeClassSubstitutions.java | 61 + src/share/classes/com/oracle/graal/replacements/NodeIntrinsificationPhase.java | 417 ++++ src/share/classes/com/oracle/graal/replacements/NodeIntrinsificationVerificationPhase.java | 66 + src/share/classes/com/oracle/graal/replacements/ReplacementsImpl.java | 743 +++++++ src/share/classes/com/oracle/graal/replacements/ReplacementsUtil.java | 60 + src/share/classes/com/oracle/graal/replacements/ShortSubstitutions.java | 34 + src/share/classes/com/oracle/graal/replacements/Snippet.java | 152 + src/share/classes/com/oracle/graal/replacements/SnippetCounter.java | 163 + src/share/classes/com/oracle/graal/replacements/SnippetTemplate.java | 1277 +++++++++++++ src/share/classes/com/oracle/graal/replacements/Snippets.java | 29 + src/share/classes/com/oracle/graal/replacements/StringSubstitutions.java | 77 + src/share/classes/com/oracle/graal/replacements/UnsafeSubstitutions.java | 445 ++++ src/share/classes/com/oracle/graal/replacements/UnsignedMathSubstitutions.java | 127 + src/share/classes/com/oracle/graal/replacements/amd64/AMD64ConvertSnippets.java | 193 ++ src/share/classes/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java | 63 + src/share/classes/com/oracle/graal/replacements/amd64/AMD64Substitutions.java | 50 + src/share/classes/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java | 176 + src/share/classes/com/oracle/graal/replacements/hsail/HSAILMathSubstitutions.java | 122 + src/share/classes/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java | 135 + src/share/classes/com/oracle/graal/replacements/nodes/AssertionNode.java | 87 + src/share/classes/com/oracle/graal/replacements/nodes/BitCountNode.java | 71 + src/share/classes/com/oracle/graal/replacements/nodes/BitScanForwardNode.java | 93 + src/share/classes/com/oracle/graal/replacements/nodes/BitScanReverseNode.java | 99 + src/share/classes/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java | 67 + src/share/classes/com/oracle/graal/replacements/nodes/DirectReadNode.java | 85 + src/share/classes/com/oracle/graal/replacements/nodes/DirectStoreNode.java | 119 + src/share/classes/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java | 66 + src/share/classes/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java | 53 + src/share/classes/com/oracle/graal/replacements/nodes/MacroNode.java | 189 + src/share/classes/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java | 86 + src/share/classes/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java | 128 + src/share/classes/com/oracle/graal/replacements/nodes/MemoryAnchorNode.java | 55 + src/share/classes/com/oracle/graal/replacements/nodes/PureFunctionMacroNode.java | 61 + src/share/classes/com/oracle/graal/replacements/nodes/ReadRegisterNode.java | 97 + src/share/classes/com/oracle/graal/replacements/nodes/ReverseBytesNode.java | 79 + src/share/classes/com/oracle/graal/replacements/nodes/WriteRegisterNode.java | 68 + src/share/classes/com/oracle/graal/runtime/RuntimeProvider.java | 44 + src/share/classes/com/oracle/graal/virtual/nodes/MaterializedObjectState.java | 54 + src/share/classes/com/oracle/graal/virtual/nodes/VirtualObjectState.java | 65 + src/share/classes/com/oracle/graal/virtual/phases/ea/EarlyReadEliminationPhase.java | 51 + src/share/classes/com/oracle/graal/virtual/phases/ea/EffectList.java | 181 + src/share/classes/com/oracle/graal/virtual/phases/ea/EffectsBlockState.java | 71 + src/share/classes/com/oracle/graal/virtual/phases/ea/EffectsClosure.java | 246 ++ src/share/classes/com/oracle/graal/virtual/phases/ea/EffectsPhase.java | 125 + src/share/classes/com/oracle/graal/virtual/phases/ea/GraphEffectList.java | 366 +++ src/share/classes/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java | 92 + src/share/classes/com/oracle/graal/virtual/phases/ea/ObjectState.java | 222 ++ src/share/classes/com/oracle/graal/virtual/phases/ea/PEReadEliminationBlockState.java | 148 + src/share/classes/com/oracle/graal/virtual/phases/ea/PEReadEliminationClosure.java | 215 ++ src/share/classes/com/oracle/graal/virtual/phases/ea/PartialEscapeBlockState.java | 175 + src/share/classes/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java | 658 ++++++ src/share/classes/com/oracle/graal/virtual/phases/ea/PartialEscapePhase.java | 136 + src/share/classes/com/oracle/graal/virtual/phases/ea/PartialEscapePhase_Options.java | 19 + src/share/classes/com/oracle/graal/virtual/phases/ea/ReadEliminationBlockState.java | 141 + src/share/classes/com/oracle/graal/virtual/phases/ea/ReadEliminationClosure.java | 275 ++ src/share/classes/com/oracle/graal/virtual/phases/ea/VirtualUtil.java | 132 + src/share/classes/com/oracle/graal/virtual/phases/ea/VirtualizerToolImpl.java | 200 ++ src/share/classes/com/oracle/graal/word/BarrieredAccess.java | 937 +++++++++ src/share/classes/com/oracle/graal/word/ComparableWord.java | 42 + src/share/classes/com/oracle/graal/word/ObjectAccess.java | 937 +++++++++ src/share/classes/com/oracle/graal/word/Pointer.java | 954 ++++++++++ src/share/classes/com/oracle/graal/word/PointerBase.java | 30 + src/share/classes/com/oracle/graal/word/Signed.java | 296 +++ src/share/classes/com/oracle/graal/word/Unsigned.java | 337 +++ src/share/classes/com/oracle/graal/word/Word.java | 1135 +++++++++++ src/share/classes/com/oracle/graal/word/WordBase.java | 28 + src/share/classes/com/oracle/graal/word/nodes/SnippetLocationNode.java | 121 + src/share/classes/com/oracle/graal/word/nodes/WordCastNode.java | 85 + src/share/classes/com/oracle/graal/word/phases/WordTypeRewriterPhase.java | 440 ++++ src/share/classes/com/oracle/graal/word/phases/WordTypeVerificationPhase.java | 171 + src/share/classes/edu/umd/cs/findbugs/annotations/SuppressFBWarnings.java | 46 + 1084 files changed, 171708 insertions(+), 6 deletions(-)