hg: graal/graal: 28 new changesets

doug.simon at oracle.com doug.simon at oracle.com
Thu Jan 29 02:00:46 UTC 2015


Changeset: 0f462015296f
Author:    Michael Van De Vanter  <michael.van.de.vanter at oracle.com>
Date:      2015-01-27 20:23 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/0f462015296f

Truffle:  Additions to NodeUtil to support optional "safe" AST node replacement (and diagnostics when unsafe)

! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java

Changeset: 867058575979
Author:    Michael Van De Vanter  <michael.van.de.vanter at oracle.com>
Date:      2015-01-27 20:24 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/867058575979

Truffle: Improved support for "probing" AST nodes:
- Node.isSafelyReplacaeableBy(Node) checks in advance if Node.replace(Node) would be unsafe (crash the VM).
- Hoist Probe() from language imlementations into Node; now completely language agnostic.
- Language implementations support probing by implementing Node.isInstrumentable() and Node.createWrapperNode()
- Node.Probe() throws ProbeException (without side effects) if the probe fails.
-- ProbeException contains an instance of ProbeFailure that diagnoses the failure in detail
- Additional measures to prevent instrumentation from being applied to internal InstrumentationNodes.
- Promote ProbeListener to top level interface and add a default implementation

+ graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/nodes/SafeReplaceTest.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ASTProber.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Instrument.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Probe.java
+ graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ProbeException.java
+ graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ProbeFailure.java
+ graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ProbeListener.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ProbeNode.java
+ graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/DefaultProbeListener.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java

Changeset: 50b22daf6d53
Author:    Michael Van De Vanter  <michael.van.de.vanter at oracle.com>
Date:      2015-01-27 20:25 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/50b22daf6d53

Truffle/Source:  add default comparator for LineLocation

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

Changeset: ac114ad31cdd
Author:    Michael Van De Vanter  <michael.van.de.vanter at oracle.com>
Date:      2015-01-27 20:26 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/ac114ad31cdd

Truffle/Tools:  a new framework for pluggable tools that gather Truffle execution data
- Abstract com.oracle.truffle.api.instrument.TruffleTool defines, documents, and enforces a standard "life cycle":
-- includes creation, installation, enabling/disabling, and disposing.
-- data retrieval is tool dependent, but each is encouraged to provide a default print() method for demo & debugging
- com.oracle.truffle.api.tools contains three instances, all language-agnostic:
-- LineToProbesMap: existing utility used by the debugger, adapted to the frameowrk
-- CoverageTracker: code coverage, tabulated by line
-- NodeExecCounter:  raw execution counts, tabulated by node type, can be filtered by SyntaxTag

+ graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/TruffleTool.java
- graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/LineToProbesMap.java
- graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/LineToSourceSectionMap.java
+ graal/com.oracle.truffle.api/src/com/oracle/truffle/api/tools/CoverageTracker.java
+ graal/com.oracle.truffle.api/src/com/oracle/truffle/api/tools/LineToProbesMap.java
+ graal/com.oracle.truffle.api/src/com/oracle/truffle/api/tools/NodeExecCounter.java

Changeset: cca166aa28c0
Author:    Michael Van De Vanter  <michael.van.de.vanter at oracle.com>
Date:      2015-01-27 20:27 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/cca166aa28c0

Truffle/Tools:  unit tests for new framework and tool instances

+ graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/tools/CoverageTrackerTest.java
+ graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/tools/LineToProbesMapTest.java
+ graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/tools/NodeExecCounterTest.java
+ graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/tools/TestNodes.java
+ graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/tools/TruffleToolTest.java

Changeset: acd822f17ef5
Author:    Michael Van De Vanter  <michael.van.de.vanter at oracle.com>
Date:      2015-01-27 20:28 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/acd822f17ef5

Truffle/Instrumentation:  clean up and repair some old unit tests

- graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/InstrumentationTest.java
+ graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/instrument/InstrumentationTest.java
! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/package-info.java
+ graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/source/SourceTextTest.java
- graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/utilities/SourceTextTest.java

Changeset: d1c1cd2530d7
Author:    Michael Van De Vanter  <michael.van.de.vanter at oracle.com>
Date:      2015-01-27 20:28 -0800
URL:       http://hg.openjdk.java.net/graal/graal/rev/d1c1cd2530d7

Truffle/Instrumentation:  clean up and repair some old unit tests

! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/SLMain.java
! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/SLExpressionNode.java
! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/SLStatementNode.java
! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLExpressionWrapperNode.java
! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLStandardASTProber.java
! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLStatementWrapperNode.java

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

Add a corner case test case with a mixture of unsafe writes and normal reads.

! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/UnsafeAccess01.java

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

Rename KillSet to LocationSet, make it more efficient, and fix a bug related to ANY_LOCATION.

! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/UnsafeAccess01.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java

Changeset: 480bd3b1adcd
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-28 00:50 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/480bd3b1adcd

Rename BeginNode => AbstractBeginNode.

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/SimpleCFGTest.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java
! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/WriteBarrierVerificationTest.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/word/HotSpotWordTypeRewriterPhase.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/ComputeLoopFrequenciesClosure.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/HIRFrameStateBuilder.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/CountedLoopInfo.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopEx.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentInside.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopPolicies.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopTransformations.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/phases/LoopTransformLowPhase.java
+ graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractBeginNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java
- graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginStateSplitNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ControlSplitNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardProxyNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/KillingBeginNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopExitNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ProxyNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/Block.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/NodeLIRBuilderTool.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandLogicPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FloatingReadPhase.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/OptimizeGuardAnchorsPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ProfileCompiledMethodsPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/UseTrappingNullChecksPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/ComputeInliningRelevance.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/FixedNodeProbabilityCache.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/MergeableState.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/PostOrderNodeIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ReentrantNodeIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/SinglePassNodeIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/StatelessPostOrderNodeIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java
! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java
! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/IdealGraphPrinter.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/CollapseFrameForSingleSideEffectPhase.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraphKit.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactSplitNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactSplitNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactSplitNode.java
! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java

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

Make AbstractBeginNode an abstract class and create concrete subclass BeginNode.

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/SimpleCFGTest.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentInside.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopTransformations.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractBeginNode.java
+ graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandLogicPhase.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/inlining/InliningUtil.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraphKit.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerExactArithmeticSplitNode.java

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

Rename MergeNode to AbstractMergeNode.

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/SimpleCFGTest.java
! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/TypeSystemTest.java
! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java
! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/WriteBarrierVerificationTest.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/ComputeLoopFrequenciesClosure.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/HIRFrameStateBuilder.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentInside.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractBeginNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractEndNode.java
+ graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMergeNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardPhiNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java
- graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/NodeLIRBuilderTool.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DeadCodeEliminationPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DeoptimizationGroupingPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandLogicPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FloatingReadPhase.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/ProfileCompiledMethodsPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/UseTrappingNullChecksPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ValueAnchorCleanupPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/ComputeInliningRelevance.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/FixedNodeProbabilityCache.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/MergeableState.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/PostOrderNodeIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ReentrantBlockIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ReentrantNodeIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ScopedPostOrderNodeIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/SinglePassNodeIterator.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/StatelessPostOrderNodeIterator.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/BlockWorkList.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java
! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java
! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/IdealGraphPrinter.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/CollapseFrameForSingleSideEffectPhase.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraphKit.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java
! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectsClosure.java
! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeVerificationPhase.java

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

Make AbstractMergeNode abstract and introduce concrete subclass MergeNode.

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/SimpleCFGTest.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java
! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentInside.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMergeNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java
+ graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DeoptimizationGroupingPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandLogicPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraphKit.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java

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

Fix class comparison statements for BeginNode and MergeNode to reflect new class hierarchy.

! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopExitNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/UseTrappingNullChecksPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/ComputeInliningRelevance.java
! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/IdealGraphPrinter.java

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

Allow final modifier on node subclasses and start adding the modifier to leaf classes.

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/NodePosIteratorTest.java
! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeMapTest.java
! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeUsagesTests.java
! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java
! graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/DataPatchInConstantsTest.java
! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java
! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/DataPatchTest.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsAssignableFromNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LoadIndexedPointerNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.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/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/replacements/CallSiteTargetNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CardTableAddressNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CardTableShiftNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ClassGetHubNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.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/ArrayCopyNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/arraycopy/CheckcastArrayCopyCallNode.java
! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeProcessor.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EntryMarkerNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryMapNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AbsNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java
! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountLeadingZerosNode.java
! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64CountTrailingZerosNode.java
! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java
! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/EdgesTest.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BlackholeNode.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DeferredPiNode.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/CompilationConstantNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverInlineMacroNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java

Changeset: 9470dcef2d59
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-28 02:58 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/9470dcef2d59

Do not enforce final constraint for macro node classes.

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/CheckGraalInvariants.java

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

Merge.

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java
! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/EdgesTest.java

Changeset: 5a79fa76b489
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2015-01-28 04:05 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/5a79fa76b489

Run eclipse format.

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginStateSplitNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/FixedNodeProbabilityCache.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/SinglePassNodeIterator.java

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

Fix LocationSet - use equals for comparing LocationIdentity objects.

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

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

Merge.

- graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/InstrumentationTest.java
- graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/utilities/SourceTextTest.java
- graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/LineToProbesMap.java
- graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/LineToSourceSectionMap.java

Changeset: 986e2e87eedd
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2015-01-28 12:19 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/986e2e87eedd

exclude com.oracle.graal.virtual.bench/src_gen directory from Checkstyle Eclipse plugin

+ graal/com.oracle.graal.virtual.bench/.checkstyle.exclude

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

Shorter comparison of HotSpotResolvedFieldImpl instances.

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

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

Change verification of scheduled graph.

! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java

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

Remove ValueProxy nodes from schedule lists.

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

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

Merge.


Changeset: 9c2396ef02db
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2015-01-28 15:01 +0100
URL:       http://hg.openjdk.java.net/graal/graal/rev/9c2396ef02db

removed leftover GPU support code

! src/share/vm/graal/graalRuntime.cpp
! src/share/vm/graal/graalRuntime.hpp

Changeset: 3bf612703773
Author:    Chris Seaton <chris.seaton at oracle.com>
Date:      2015-01-29 00:12 +0000
URL:       http://hg.openjdk.java.net/graal/graal/rev/3bf612703773

Truffle: print the line number in the source attribution tree.

! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java

Changeset: 203c7256e123
Author:    Chris Seaton <chris.seaton at oracle.com>
Date:      2015-01-29 00:12 +0000
URL:       http://hg.openjdk.java.net/graal/graal/rev/203c7256e123

Merge.




More information about the graal-dev mailing list