hg: graal/graal: 53 new changesets

doug.simon at oracle.com doug.simon at oracle.com
Sat Jun 23 18:06:31 PDT 2012


Changeset: e1b2b2de608d
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2012-06-17 18:04 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/e1b2b2de608d

Fixed an issue in the new instance stub call operation: rax must be reserved as a temp as it is overwritten in the runtime stub.

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/target/AMD64NewInstanceStubCallOp.java

Changeset: 9bf0810f5c6c
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2012-06-17 18:06 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/9bf0810f5c6c

Enable NewInstance lowering by default for all methods.

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

Changeset: 380b2a73fdc2
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2012-06-17 21:35 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/380b2a73fdc2

Treat a write to ANY_LOCATION as memory check point.

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/FloatingReadPhase.java

Changeset: a82376ebaaa9
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2012-06-17 23:45 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/a82376ebaaa9

Disable NewInstance lowering for all methods again.

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

Changeset: d1d649d2f97c
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-06-15 15:59 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/d1d649d2f97c

set correct probabilities on MergeNodes

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragment.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragmentInside.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetInstaller.java

Changeset: 8e098bf83c95
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-06-15 15:59 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/8e098bf83c95

use ValueAnchorNode for FixedGuardNode lowering

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

Changeset: 731789427441
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-06-18 10:07 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/731789427441

Merge.

- graal/com.oracle.graal.boot.test/src/com/oracle/graal/boot/HelloWorldTest.java
- graal/com.oracle.graal.boot.test/src/com/oracle/graal/boot/test/helloworld/HelloWorldTestProgram.java

Changeset: 6c3a5ccec483
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-16 16:13 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/6c3a5ccec483

Merge AnchorNode and ValueAnchorNode

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/util/InliningUtil.java
- graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AnchorNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerArithmeticNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java

Changeset: 83236169ea42
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-18 11:59 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/83236169ea42

Merge

- graal/com.oracle.graal.boot.test/src/com/oracle/graal/boot/HelloWorldTest.java
- graal/com.oracle.graal.boot.test/src/com/oracle/graal/boot/test/helloworld/HelloWorldTestProgram.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java

Changeset: 02f76c2ee0f0
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-18 15:03 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/02f76c2ee0f0

Add aliased case array copy jtt tests
Switch all primitive array copy snippets to pre(byte)+main(loop) scheme
Update ValueAnchor's verify method to reflect current sementics

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/ArrayCopySnippets.java
+ graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/ArrayCopy04.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java

Changeset: f53a347eae93
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-06-18 17:58 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/f53a347eae93

add inliningIdentifier to FrameState (fixes problem with duplicated FrameStates and locking)

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/util/InliningUtil.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java

Changeset: aa52cbbab598
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-06-18 18:00 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/aa52cbbab598

small changes/renamings to virtual object handling

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/VirtualState.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectState.java

Changeset: 419df70cc6a2
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-06-18 18:01 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/419df70cc6a2

Merge.

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/util/InliningUtil.java
- graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AnchorNode.java

Changeset: 1cfa35d467de
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-18 15:39 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/1cfa35d467de

removed support for compiling allocation of instances of non-initialized classes

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java
! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java

Changeset: 14505f3e6b4c
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-19 11:36 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/14505f3e6b4c

modified harness for running JUnit and JTT tests such that only projects declaring a 'testHarness' attribute in mx/projects are scanned for tests

! mx/commands.py
! mx/projects

Changeset: 8d420cfd2a6f
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-19 11:37 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/8d420cfd2a6f

added unit tests for the Word type

+ 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
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/Word.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/WordTypeRewriterPhase.java
! graal/com.oracle.graal.tests/src/com/oracle/graal/compiler/tests/CompiledMethodTest.java
! graal/com.oracle.graal.tests/src/com/oracle/graal/compiler/tests/GraalCompilerTest.java
! graal/com.oracle.graal.tests/src/com/oracle/graal/compiler/tests/TypeCheckTest.java

Changeset: d05664608cb7
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-19 11:38 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/d05664608cb7

Merge.

- graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AnchorNode.java

Changeset: 3405794d135c
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-19 13:20 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/3405794d135c

fix to ldiv's -MIN/-1 special case, add a jtt for this
remove now deprecated assert in LoopFragment

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragment.java
! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_ldiv2.java
! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java

Changeset: 1f263f152cda
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-19 13:25 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/1f263f152cda

Merge


Changeset: a4765b93eb96
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-19 14:09 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/a4765b93eb96

fixed bug in call to verifyOops stub - was using-32 bit move instead of 64-bit move

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/target/AMD64VerifyOopStubCallOp.java

Changeset: 5abab4a8250f
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-19 17:00 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/5abab4a8250f

made RegisterNode fixed which should fix the issue of TLAB values being GVN'ed in the NewInstanceSnippets (bug was found by Thomas)

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/RegisterNode.java
! graal/com.oracle.graal.tests/src/com/oracle/graal/compiler/tests/NewInstanceTest.java

Changeset: c06ee31464c0
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-19 17:12 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/c06ee31464c0

Re-enabled NewInstanceSnippets by default for all methods.

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

Changeset: d71eb56d6bb0
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-06-19 20:03 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/d71eb56d6bb0

new stamp inference in CanonicalizerPhase, IntegerStamp.mask

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/CanonicalizerPhase.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/PhiStampPhase.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.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/IntegerAddNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerRemNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerSubNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LogicNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/IntegerStamp.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampFactory.java
+ graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampTool.java
! graal/com.oracle.graal.tests/src/com/oracle/graal/compiler/tests/GraalCompilerTest.java
+ graal/com.oracle.graal.tests/src/com/oracle/graal/compiler/tests/StampCanonicalizerTest.java

Changeset: 297f30d8d610
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-19 21:06 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/297f30d8d610

allowed RegisterNode to directly use a register not used by the register allocator

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

Changeset: 73124ee1ee37
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-06-20 10:36 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/73124ee1ee37

fix to ValueProxyNode for graal.boot

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

Changeset: 3570883de730
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-20 16:59 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/3570883de730

generalized canonicalization of a compare node for inputs of type ConditionalNode

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java

Changeset: 28dea025b221
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-20 16:59 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/28dea025b221

reduced shutdown pause when -G:Dump is used from 5 seconds to 2

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

Changeset: 13166af0809e
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2012-06-20 18:12 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/13166af0809e

added TypeSwitchNode for polymorphic inlining

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/util/InliningUtil.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/LIRGeneratorTool.java

Changeset: 77069a28a983
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-20 21:38 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/77069a28a983

split lowering of NEW into two separate nodes - one for doing the allocation and one for doing the object formatting. Both of these nodes are in turn lowered via snippets.

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java
+ graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeNode.java
+ graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TLABAllocateNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampFactory.java
+ graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/WordStamp.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetInstaller.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetIntrinsificationPhase.java

Changeset: cdeb79879757
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-20 21:38 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/cdeb79879757

fixed scope label

! graal/com.oracle.graal.tests/src/com/oracle/graal/compiler/tests/EscapeAnalysisTest.java

Changeset: 17639f600cda
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-21 10:52 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/17639f600cda

made graal_verify_oop stub create a frame to improve crash log when it fails

! src/cpu/x86/vm/c1_Runtime1_x86.cpp

Changeset: 48a2505efb54
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-21 16:48 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/48a2505efb54

added verification phase for snippets to ensure word types are not incorrectly mixed with Object types

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TLABAllocateNode.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java
! graal/com.oracle.graal.snippets.test/src/com/oracle/graal/snippets/WordTest.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetInstaller.java
+ graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetVerificationPhase.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/Word.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/WordTypeRewriterPhase.java

Changeset: c5c02cd462db
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-20 13:52 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/c5c02cd462db

Be abit more carefull about displacements in makeAddress

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/amd64/AMD64LIRGenerator.java

Changeset: fa1e6d1cc291
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-20 16:55 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/fa1e6d1cc291

Small cleanups

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopTransformations.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java

Changeset: 21e8f6b5a7d1
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-20 16:55 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/21e8f6b5a7d1

Scope the replacement code in Canonicalizer into the CanonicalizeNode scope

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/CanonicalizerPhase.java

Changeset: 29684ae5a194
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-20 16:59 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/29684ae5a194

Make sure snippet instentiation doesn't produce dead nodes and remove redundant DCE

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/CheckCastSnippets.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetTemplate.java

Changeset: a65b2a11bf34
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-21 16:26 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/a65b2a11bf34

Fix for peeling and VirtualStateNode
FrameState.applyToNonVirtual now applies to outter framestates and give usage node in the closure

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragmentInside.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/CheckCastSnippets.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java
! 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.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectState.java

Changeset: 272ad540c464
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-21 16:29 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/272ad540c464

Canoncialize < to |<| for positive values
Canoncialize IndexedLocation even for long constant index if the final displacement fits in an int
remove PlaceHolderNodes when they don't hold a state

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/InsertStateAfterPlaceholderPhase.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java

Changeset: d695272dd80a
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-21 16:29 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/d695272dd80a

split DistinctFilteredNodeIterable in it own subclass

+ graal/com.oracle.graal.graph/src/com/oracle/graal/graph/iterators/DistinctFilteredNodeIterable.java
! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/iterators/FilteredNodeIterable.java

Changeset: b5a53a04913c
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-21 16:31 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/b5a53a04913c

In inlining, refresh InlineInfo when making inline decision in case the receiver has a better stamp than when the original InlineInfo where created

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/InliningPhase.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LoweringPhase.java

Changeset: 776366f3a41a
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-21 16:35 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/776366f3a41a

A bit of work on counted loops
Introduce FullUnroll phase before EscapeAnalysis
split Loop transforms into 2 phase : things that run before lowering, and things that run after lowering
Introduce Reassociate invariants after lowering

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalOptions.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/CountedLoopInfo.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopEx.java
+ graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopPolicies.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopsData.java
+ graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LoopFullUnrollPhase.java
+ graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LoopTransformHighPhase.java
+ graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LoopTransformLowPhase.java

Changeset: 494332f39ee8
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-21 16:36 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/494332f39ee8

Merge

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java

Changeset: 7546ffffdca8
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-21 16:37 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/7546ffffdca8

Fix warning after merge

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java

Changeset: 2f714239cc68
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-21 17:27 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/2f714239cc68

Fix warning,
Fix to FullUnrolling
Fix to peeling when a loop end disappears

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragment.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopFragmentInside.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LoopFullUnrollPhase.java

Changeset: b32dc49bc024
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-21 17:33 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/b32dc49bc024

Merge

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java

Changeset: 87fc13b59258
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-22 11:35 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/87fc13b59258

Split _vmLibDirInJdk into _vmLibDirInJdk and _vmCfgInJdk to account for Windows jdk layout
In _runInDebugShell, use the platform's encoding for reading from the console
In _runInDebugShell, be able use the return code from the process to check for success, use this for the windows build

! mx/commands.py

Changeset: 7482f7d08455
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2012-06-22 11:35 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/7482f7d08455

Don't try to fold conditions when there is no runtime available
Provide a runtime when doing full unrolling

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/loop/LoopTransformations.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LoopFullUnrollPhase.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/Condition.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/SnippetTemplate.java

Changeset: f787843c890c
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-22 10:43 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/f787843c890c

implemented inferStamp for NewInstanceStubCall to infer exact, non-null stamp from constant hub value

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotKlassOop.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotTypePrimitive.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java
! src/share/vm/graal/graalCodeInstaller.cpp
! src/share/vm/graal/graalJavaAccess.hpp

Changeset: 0ca242de9383
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-22 15:19 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/0ca242de9383

improved type stamp for value flowing out of a lowered NEW bytecode instruction
removed declaredType() and exactType() from Stamp

! graal/com.oracle.graal.boot/src/com/oracle/graal/boot/meta/ArrayTypeElement.java
! graal/com.oracle.graal.boot/src/com/oracle/graal/boot/meta/InvokeElement.java
+ graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CastFromHub.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/ObjectStamp.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/Stamp.java
! graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/WordTypeRewriterPhase.java

Changeset: 5a29310e1504
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-22 15:20 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/5a29310e1504

Merge.


Changeset: 757fc384f9b7
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-22 16:42 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/757fc384f9b7

added simple tests for Word.fromObject() and Word.toObject()

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

Changeset: 6cb39a47da14
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-22 17:16 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/6cb39a47da14

replaced loading of instance prototype header word with a constant obtained from HotSpotResolvedJavaType

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java
! src/share/vm/graal/graalCompiler.cpp
! src/share/vm/graal/graalJavaAccess.hpp

Changeset: 5d06e32f10df
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2012-06-22 17:27 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/5d06e32f10df

limited length of zeroing instructions for object initialization to object below a certain size

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/snippets/NewInstanceSnippets.java



More information about the graal-dev mailing list