hg: graal/graal: 26 new changesets

doug.simon at oracle.com doug.simon at oracle.com
Sat Dec 8 18:03:50 PST 2012


Changeset: b914b9b4c578
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-12-03 13:53 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/b914b9b4c578

graal.graph refactorings
Common out NodeInputsIterable and NodeSuccessorsIterable
Remove NodeUsagesList.size, use .count instead
Change return type of Node.usages to NodeIterable<Node>

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java
! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/TypeSystemTest.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java
! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java
! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java
+ graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClassIterable.java
- graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeInputsIterable.java
- graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeSuccessorsIterable.java
! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeUsagesList.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java
! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/BinaryGraphPrinter.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetIntrinsificationPhase.java
! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java

Changeset: ab65fa23f8e9
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-12-03 13:56 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/ab65fa23f8e9

Remove overloading of filter(Class<F>) in NodeIterable<Node> returned by Graph.getNodes() : getNodes().filter(MergeNode.class) is not the same as getNodes(MergeNode.class)

! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java

Changeset: 1baf7f1e3f23
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-03 15:32 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/1baf7f1e3f23

decoupled C++ Graal runtime from C1

! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java
! graal/com.oracle.graal.interpreter/src/com/oracle/graal/interpreter/BytecodeInterpreter.java
! make/bsd/makefiles/graal.make
! make/bsd/makefiles/vm.make
! make/linux/makefiles/graal.make
! make/linux/makefiles/vm.make
! make/solaris/makefiles/graal.make
! make/solaris/makefiles/vm.make
! src/cpu/x86/vm/c1_Runtime1_x86.cpp
+ src/cpu/x86/vm/graalGlobals_x86.hpp
+ src/cpu/x86/vm/graalRuntime_x86.cpp
+ src/cpu/x86/vm/graalStubAssembler_x86.cpp
! src/cpu/x86/vm/sharedRuntime_x86_32.cpp
! src/share/vm/c1/c1_globals.hpp
! src/share/vm/code/codeBlob.cpp
! src/share/vm/code/codeBlob.hpp
! src/share/vm/code/compiledIC.cpp
! src/share/vm/code/nmethod.cpp
! src/share/vm/code/nmethod.hpp
! src/share/vm/compiler/abstractCompiler.hpp
! src/share/vm/compiler/compileBroker.cpp
! src/share/vm/compiler/oopMap.cpp
! src/share/vm/graal/graalCodeInstaller.cpp
! src/share/vm/graal/graalCompiler.cpp
! src/share/vm/graal/graalCompiler.hpp
! src/share/vm/graal/graalCompilerToVM.cpp
! src/share/vm/graal/graalEnv.cpp
+ src/share/vm/graal/graalGlobals.cpp
+ src/share/vm/graal/graalGlobals.hpp
! src/share/vm/graal/graalRuntime.cpp
! src/share/vm/graal/graalRuntime.hpp
! src/share/vm/interpreter/interpreter.cpp
! src/share/vm/memory/allocation.hpp
! src/share/vm/oops/klass.hpp
! src/share/vm/precompiled/precompiled.hpp
! src/share/vm/prims/jvm.cpp
! src/share/vm/runtime/arguments.cpp
! src/share/vm/runtime/arguments.hpp
! src/share/vm/runtime/compilationPolicy.cpp
! src/share/vm/runtime/globals.cpp
! src/share/vm/runtime/globals.hpp
! src/share/vm/runtime/globals_extension.hpp
! src/share/vm/runtime/safepoint.cpp
! src/share/vm/runtime/sharedRuntime.cpp
! src/share/vm/runtime/thread.cpp
! src/share/vm/utilities/globalDefinitions.hpp
! src/share/vm/utilities/top.hpp

Changeset: ce248dc0a656
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-03 17:54 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/ce248dc0a656

removed all Graal modifications to ci and c1

! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp
! src/cpu/x86/vm/c1_MacroAssembler_x86.hpp
! src/cpu/x86/vm/c1_Runtime1_x86.cpp
! src/cpu/x86/vm/c1_globals_x86.hpp
! src/share/vm/c1/c1_Runtime1.cpp
! src/share/vm/c1/c1_Runtime1.hpp
! src/share/vm/ci/ciEnv.cpp
! src/share/vm/ci/ciEnv.hpp
! src/share/vm/ci/ciKlass.cpp
! src/share/vm/ci/ciObjectFactory.cpp
! src/share/vm/ci/ciUtilities.hpp
! src/share/vm/graal/graalCompiler.cpp
! src/share/vm/graal/graalCompilerToVM.cpp
! src/share/vm/graal/graalEnv.cpp
! src/share/vm/graal/graalEnv.hpp
! src/share/vm/prims/jni.cpp

Changeset: 4632b14e56dd
Author:    Christian Wimmer <christian.wimmer at oracle.com>
Date:      2012-12-04 10:44 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/4632b14e56dd

Snippets cannot have speculative optimizations since they have to be valid for the entire run of the VM

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java

Changeset: b16fdf354ba5
Author:    Christian Wimmer <christian.wimmer at oracle.com>
Date:      2012-12-04 10:46 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/b16fdf354ba5

Assertion in Java code to prevent crash in native code

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java

Changeset: 04632e376bd8
Author:    Christian Wimmer <christian.wimmer at oracle.com>
Date:      2012-12-04 10:49 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/04632e376bd8

Provide Thread context class loader to getMirrorOrFail. This is a workaround until the Graal API is complete enough so that getMirrorOrFail is not necessary at all.

! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetIntrinsificationPhase.java

Changeset: 3a2f8b313bc5
Author:    Christian Wimmer <christian.wimmer at oracle.com>
Date:      2012-12-04 10:50 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/3a2f8b313bc5

Allow VM-specific lowering of FixedGuardNode

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java

Changeset: 32a16dd8d941
Author:    Christian Wimmer <christian.wimmer at oracle.com>
Date:      2012-12-04 10:51 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/32a16dd8d941

When a hub has Kind.Object, the hub is never null. Preserve that information it the stamp of the LoadHubNode.

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java

Changeset: b5ea2594a644
Author:    Christian Wimmer <christian.wimmer at oracle.com>
Date:      2012-12-04 10:52 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/b5ea2594a644

Add accessor

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java

Changeset: f7e38b3950b3
Author:    Christian Wimmer <christian.wimmer at oracle.com>
Date:      2012-12-04 10:53 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/f7e38b3950b3

Make method accessible from the outside

! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java

Changeset: 3de18d9cd04e
Author:    Christian Wimmer <christian.wimmer at oracle.com>
Date:      2012-12-04 11:02 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/3de18d9cd04e

Remove a usasge of getMirrorOrFail

! graal/com.oracle.graal.snippets.test/src/com/oracle/graal/snippets/WordTest.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/Snippet.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetInstaller.java

Changeset: c41a958a3923
Author:    Christian Wimmer <christian.wimmer at oracle.com>
Date:      2012-12-04 11:05 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/c41a958a3923

Defer lowering to next iteration when the CFG was changed by a previous lowering so that no lastFixedNode is available

! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java

Changeset: 4f62a7fa7f9f
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-12-05 13:56 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/4f62a7fa7f9f

sort the fields returned by getInstanceFields by offset

! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java

Changeset: a818db37b7be
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-12-05 13:57 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/a818db37b7be

unify object reallocation code for c2 and Graal

! src/share/vm/runtime/deoptimization.cpp

Changeset: ae1f36911743
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-06 14:01 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/ae1f36911743

created shared, cached exceptions with empty stack traces for the implementation of the -G:+OmitHotExceptionStacktrace option. This also avoids the issue of having an object embedded in compiled code without an external strong reference to the same object (objects in compiled code are weak references in HotSpot)

! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java

Changeset: 045c5f8ae689
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-07 11:07 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/045c5f8ae689

modified code installation to handle debug info that only contains oop maps but no frame information

! src/share/vm/graal/graalCodeInstaller.cpp

Changeset: eb62c63c4549
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-07 11:09 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/eb62c63c4549

made word type rewriting do stamp inference so that word typed phis are handled correctly

! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/WordTypeRewriterPhase.java

Changeset: c85aecfee9e4
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-07 11:12 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/c85aecfee9e4

made snippet template specialization support ConstantParameters of type Word
added access to the specialized graph from outside a SnippetTemplate
allowed an AbstractTemplate subclass to be a snippet holder (i.e., implements SnippetsInterface)

! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetTemplate.java

Changeset: 283fe237085b
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-07 11:14 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/283fe237085b

tightened first parameter type for LIRGeneratorTool.emitCall()

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java

Changeset: 445193cc2a7d
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-07 15:12 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/445193cc2a7d

added support for writing stubs in Java and wrote the TLAB fast refill stub

! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeCacheProvider.java
! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java
! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64DirectCallOp.java
! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java
! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java
! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64IndirectCallOp.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotRuntimeCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInstalledCode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java
+ graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceSlowStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/HotSpotSnippetUtils.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/MonitorSnippets.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java
+ graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java
+ graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java
! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java
! src/share/vm/graal/graalCompilerToVM.cpp

Changeset: ae69cd8c08a9
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-07 16:01 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/ae69cd8c08a9

rename: RuntimeCall -> RuntimeCallTarget

! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeCacheProvider.java
- graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/RuntimeCall.java
+ graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/RuntimeCallTarget.java
! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64DeoptimizationStub.java
! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotRuntimeCallTarget.java < graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotRuntimeCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorEnterStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorExitStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceSlowStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VerifyOopStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/OnStackReplacementPhase.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/SystemSnippets.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java
! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/RuntimeCallNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/Log.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/MathSnippetsX86.java

Changeset: 6c46172c04bf
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-07 18:26 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/6c46172c04bf

consolidated new_type_array and new_object_array stubs into one as there no difference between them

! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java
! src/cpu/x86/vm/graalRuntime_x86.cpp
! src/share/vm/graal/graalCompilerToVM.cpp
! src/share/vm/graal/graalRuntime.cpp
! src/share/vm/graal/graalRuntime.hpp

Changeset: 8c02d320a1ac
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-07 23:35 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/8c02d320a1ac

removed unsafe injection of a new object constant into compiler graph

! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java

Changeset: 88d626e2c2a8
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-07 23:38 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/88d626e2c2a8

added TLAB fast refill stub for array allocation

! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeArrayNode.java
+ graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArraySlowStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/HotSpotSnippetUtils.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewObjectSnippets.java
+ graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewArrayStub.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/WordTypeRewriterPhase.java
! src/share/vm/graal/graalCompilerToVM.cpp

Changeset: 46bad05d39b1
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-12-07 23:41 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/46bad05d39b1

removed declaration of temps (no longer) used by the monitorenter/monitorexits stubs

! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java



More information about the graal-dev mailing list