hg: graal/graal: 24 new changesets

doug.simon at oracle.com doug.simon at oracle.com
Wed Jan 28 02:00:56 UTC 2015


Changeset: 858b1e3ab2ee
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2015-01-27 12:05 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/858b1e3ab2ee

Enable constant folding of Math.pow().

! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/MathSubstitutionsX86.java
+ graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathPowNode.java

Changeset: afa70d3e8159
Author:    Paul Woegerer <paul.woegerer at oracle.com>
Date:      2015-01-27 14:11 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/afa70d3e8159

Allow users to provide their own TruffleRuntime implementation
and add ForceInterpreter option to TruffleOptions.

! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/Truffle.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleOptions.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultTruffleRuntime.java
! src/share/vm/graal/graalRuntime.cpp

Changeset: cfb85e1f4ca5
Author:    Paul Woegerer <paul.woegerer at oracle.com>
Date:      2015-01-27 14:24 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/cfb85e1f4ca5

Prevent polluting SLFunctionRegistry (via SLNodeFactory.createRead()) with LHS names of assignment

! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/SLMain.java
! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/Parser.frame
! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/Parser.java
! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SimpleLanguage.atg

Changeset: 892e466d28f3
Author:    Paul Woegerer <paul.woegerer at oracle.com>
Date:      2015-01-27 14:28 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/892e466d28f3

Allow PartialEvaluator to use a custom SnippetReflectionProvider

! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java

Changeset: c1f8125b4207
Author:    Paul Woegerer <paul.woegerer at oracle.com>
Date:      2015-01-27 15:10 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/c1f8125b4207

Various adjustments to simplify future merges

Do not keep values in static final fields that can be different in other execution contexts.
Make callRootMethod and callInlinedMethod accessible for subclasses of TruffleCacheImpl.

! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/CompilationProfile.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/FrameWithoutBoxing.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleDebugJavaMethod.java

Changeset: 53fcb13db742
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 11:47 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/53fcb13db742

Always use read aware memory scheduling.

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraphScheduleTest.java
! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryScheduleTest.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java

Changeset: 1eeef8016b86
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 11:58 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/1eeef8016b86

Do not provide full schedul to LoweringTool.

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringTool.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java

Changeset: 2adb5310a2f5
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 12:27 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/2adb5310a2f5

Restructurings in ReentrantBlockIterator.

! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ReentrantBlockIterator.java

Changeset: 287f269b6c5a
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 13:09 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/287f269b6c5a

Small simplification in PE closure.

! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java

Changeset: 14496953435e
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 13:17 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/14496953435e

Use Node#getUsageCount wherever possible.

! 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/NodeLIRBuilder.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchContext.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchPattern.java
! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeUsagesTests.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractEndNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/OptimizeGuardAnchorsPhase.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java
! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeBlockState.java
! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java
! graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java

Changeset: edf3a7fdd067
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 14:54 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/edf3a7fdd067

Add utility methods to GuardsStage.

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrier.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/ArrayCopyCallNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/CheckcastArrayCopyCallNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/UnsafeArrayCopyNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/VirtualState.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FrameStateAssignmentPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/UseTrappingNullChecksPhase.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java
! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java

Changeset: e349dfa54db1
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 16:01 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/e349dfa54db1

Simplifications in PEA.

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/VirtualState.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java
! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java

Changeset: b648ac155f1b
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 16:16 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/b648ac155f1b

Only cache in MergeProcessor of PEA when processing loop begin blocks.

! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PEReadEliminationClosure.java
! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java

Changeset: 78f9a57525af
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 16:52 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/78f9a57525af

Pass a lambda to the ReentrantBlockIterator instead of a set.

! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ReentrantBlockIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java
! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectsClosure.java

Changeset: c597c72e163b
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 16:56 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/c597c72e163b

Do not compute region set in SchedulePhase. Use new API of ReentrantBlockIterator.

! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java

Changeset: 88083bb2e0f8
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-27 16:58 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/88083bb2e0f8

Merge.


Changeset: 3faa4f98d5c8
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2015-01-27 21:24 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/3faa4f98d5c8

renamed LIRGenerator.emitForeignCall to emitForeignCallOp to avoid confusion

! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java
! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java
! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java
! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java
! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java

Changeset: 8fd7354353b7
Author:    Lukas Stadler <lukas.stadler at oracle.com>
Date:      2015-01-27 23:11 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/8fd7354353b7

add annotation processor to verify TruffleBoundary/VirtualFrame usages

! graal/com.oracle.truffle.dsl.processor/src/META-INF/services/javax.annotation.processing.Processor
+ graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/verify/VerifyTruffleProcessor.java

Changeset: 9110e3065561
Author:    Lukas Stadler <lukas.stadler at oracle.com>
Date:      2015-01-27 23:12 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/9110e3065561

dump graphs for performance warnings

! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java

Changeset: bdb24e259c11
Author:    Lukas Stadler <lukas.stadler at oracle.com>
Date:      2015-01-27 23:12 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/bdb24e259c11

include original exception in FileSource.getReader

! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/source/Source.java

Changeset: ae0eb836e6f4
Author:    Lukas Stadler <lukas.stadler at oracle.com>
Date:      2015-01-27 23:14 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/ae0eb836e6f4

store absolute file in FileSource

! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/source/Source.java

Changeset: 48b79b8e18f1
Author:    Lukas Stadler <lukas.stadler at oracle.com>
Date:      2015-01-27 23:19 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/48b79b8e18f1

fix TruffleBoundary usage in SLCallUntilOptimizedBuiltin

! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLCallUntilOptimizedBuiltin.java

Changeset: 479d2d030bf3
Author:    Tom Rodriguez <tom.rodriguez at oracle.com>
Date:      2015-01-27 14:54 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/479d2d030bf3

Fix inline policy of EdgesTest to ensure stable results

! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/policy/InlineEverythingPolicy.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/policy/InlineMethodSubstitutionsPolicy.java
! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/EdgesTest.java

Changeset: 43baadc1913a
Author:    Tom Rodriguez <tom.rodriguez at oracle.com>
Date:      2015-01-27 15:47 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/43baadc1913a

Automatically install Batik for SVG export in IGV

! mx/mx_graal.py
! mx/suite.py
! src/share/tools/IdealGraphVisualizer/BatikSVGProxy/src/com/sun/hotspot/igv/svg/BatikSVG.java



More information about the graal-dev mailing list