hg: graal/graal: 5 new changesets

doug.simon at oracle.com doug.simon at oracle.com
Sun Apr 27 01:00:06 UTC 2014


Changeset: fd435374bb93
Author:    Miguel Garcia <miguel.m.garcia at oracle.com>
Date:      2014-04-25 16:45 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/fd435374bb93

moved tryKillUnused to GraphUtil

! 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

Changeset: 769fc3629f59
Author:    Miguel Garcia <miguel.m.garcia at oracle.com>
Date:      2014-04-25 16:50 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/769fc3629f59

Add phase FlowSensitiveReductionPhase.

It is possible to remove GuardingPiNodes, CheckCastNodes, and FixedGuards during
HighTier under certain conditions (control-flow sensitive conditions).

The phase added in this commit (FlowSensitiveReductionPhase) does that,
and in addition replaces usages with "downcasting" PiNodes when possible
thus resulting in more precise object stamps (e.g., non-null).

Finally, usages of floating, side-effects free, expressions are also simplified
(as per control-flow sensitive conditions).

The newly added phase runs only during HighTier and can be deactivated
using Graal option FlowSensitiveReduction (it is active by default).

! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/GraalOptions.java
! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ConditionalEliminationTest.java
+ graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FlowSenReduTest.java
+ graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FlowSensitiveReductionTest.java
! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ScalarTypeSystemTest.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/phases/HighTier.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IterativeConditionalEliminationPhase.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/BaseReduction.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/CastCheckExtractor.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/CheckCastReduction.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/EquationalReasoner.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FixedGuardReduction.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FlowSensitiveReduction.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FlowSensitiveReductionPhase.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FlowUtil.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/GuardingPiReduction.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/Histogram.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/IterativeFlowSensitiveReductionPhase.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/State.java
+ graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/Witness.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java
! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java

Changeset: b673634e9a9c
Author:    Miguel Garcia <miguel.m.garcia at oracle.com>
Date:      2014-04-26 15:34 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/b673634e9a9c

disabling flow-sensitive reductions until their issues are addressed

! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/GraalOptions.java

Changeset: fb014b3cf001
Author:    Miguel Garcia <miguel.m.garcia at oracle.com>
Date:      2014-04-26 16:15 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/fb014b3cf001

part 2, disabling flow-sensitive reductions

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

Changeset: 684fcfc314a8
Author:    Miguel Garcia <miguel.m.garcia at oracle.com>
Date:      2014-04-26 16:23 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/684fcfc314a8

part 3, disabling flow-sensitive reductions

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



More information about the graal-dev mailing list