hg: graal/graal: 107 new changesets

doug.simon at oracle.com doug.simon at oracle.com
Mon Jul 15 09:55:40 PDT 2013


Changeset: 204d8d4f91a4
Author:    Christian Haeubl <haeubl at ssw.jku.at>
Date:      2013-07-09 11:18 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/204d8d4f91a4

Minor Java fix.

! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Assumptions.java

Changeset: a9b76e1e5ab3
Author:    Christian Haeubl <haeubl at ssw.jku.at>
Date:      2013-07-09 11:19 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/a9b76e1e5ab3

Fix for OSR regression introduced with 88672775a26c.

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

Changeset: dcee58529a1c
Author:    Christian Haeubl <haeubl at ssw.jku.at>
Date:      2013-07-09 11:21 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/dcee58529a1c

Merge.

- graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotNmethodExecuteNode.java
- graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNmethodIntrinsics.java
- graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNmethodSubstitutions.java

Changeset: 9808158cfeab
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-09 11:14 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/9808158cfeab

Allow foreign call stubs to be declared as leaf methods.

! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/ForeignCallStub.java
! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64SaveRegistersOp.java

Changeset: 5348b49b2a76
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-09 11:57 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/5348b49b2a76

Assign framestates in snippet lowering after framestate assignment.

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

Changeset: 110444cbf1eb
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-09 11:58 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/110444cbf1eb

Make FixedGuardNode a DeoptimizingNode.

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

Changeset: f11cd00d4115
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-09 11:58 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/f11cd00d4115

Make G1PreWriteBarrier a DeoptimizingNode.

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/G1PreWriteBarrier.java

Changeset: 5bab3272bb82
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-09 11:58 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/5bab3272bb82

Make array allocations deoptimizing nodes.

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.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

Changeset: 69089865435a
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-09 11:58 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/69089865435a

New lowering phase after framestate assignment.

! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java
! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/WriteBarrier.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/Lowerable.java

Changeset: e7d07c9bb779
Author:    Christian Haeubl <haeubl at ssw.jku.at>
Date:      2013-07-09 17:53 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/e7d07c9bb779

Removed priority compilation queue.
Fixed another race condition in the compilation queue.
Removed Graal-specific compilation policy.

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompileTheWorld.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilerThread.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompiler.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java
! src/cpu/x86/vm/templateInterpreter_x86_64.cpp
! src/share/vm/classfile/vmSymbols.hpp
! src/share/vm/graal/graalCompiler.cpp
! src/share/vm/graal/graalVMToCompiler.cpp
! src/share/vm/graal/graalVMToCompiler.hpp
! src/share/vm/oops/methodCounters.cpp
! src/share/vm/oops/methodCounters.hpp
! src/share/vm/runtime/compilationPolicy.cpp

Changeset: d59e7f94f28d
Author:    Christian Haeubl <haeubl at ssw.jku.at>
Date:      2013-07-09 17:54 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/d59e7f94f28d

Increased priority for compiler threads.

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilerThread.java

Changeset: 853a894e0d97
Author:    Christian Haeubl <haeubl at ssw.jku.at>
Date:      2013-07-09 17:55 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/853a894e0d97

Merge.


Changeset: 41362ec88331
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2013-07-09 14:33 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/41362ec88331

Improve Truffle graph cache.

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

Changeset: 9db1377b0580
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2013-07-09 17:38 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/9db1377b0580

Fix for TruffleCache.

! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCache.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleOptions.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/SlowPathException.java

Changeset: 3bbe14e492fb
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2013-07-09 20:06 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/3bbe14e492fb

Introduce TruffleGraphMaxNodes option with default value 10000.

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

Changeset: 759415ed915a
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2013-07-09 20:09 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/759415ed915a

Merge.


Changeset: fa86a653bc0d
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-09 19:45 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/fa86a653bc0d

Truffle: ensure frame assumption is recorded for materialized frames

! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/FrameAccessNode.java

Changeset: 0c570e82cc1d
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-09 21:03 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/0c570e82cc1d

Truffle: minor cleanup

! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/FrameWithoutBoxing.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultVirtualFrame.java

Changeset: 311abd52ffeb
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-09 21:20 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/311abd52ffeb

Merge


Changeset: 725922588833
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2013-07-09 21:53 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/725922588833

Fix Truffle cache inlining strategy to skip exception edges.

! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCache.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java

Changeset: ae4c79ee71d1
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2013-07-09 22:05 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/ae4c79ee71d1

Merge.


Changeset: 6ff467cdb105
Author:    twisti
Date:      2013-07-09 14:39 -0700
URL:       http://hg.openjdk.java.net/graal/graal/rev/6ff467cdb105

Code installer changes for SPARC.

! src/cpu/sparc/vm/graalCodeInstaller_sparc.hpp
! src/cpu/sparc/vm/sharedRuntime_sparc.cpp
! src/cpu/x86/vm/graalCodeInstaller_x86.hpp
! src/share/vm/graal/graalCodeInstaller.cpp
! src/share/vm/graal/graalCodeInstaller.hpp
! src/share/vm/prims/methodHandles.cpp

Changeset: 431eca622358
Author:    twisti
Date:      2013-07-09 15:37 -0700
URL:       http://hg.openjdk.java.net/graal/graal/rev/431eca622358

SPARC: Fixed build errors.

! src/share/vm/graal/graalCompilerToGPU.cpp
! src/share/vm/graal/graalCompilerToVM.hpp

Changeset: 73122b5edf6a
Author:    twisti
Date:      2013-07-09 15:37 -0700
URL:       http://hg.openjdk.java.net/graal/graal/rev/73122b5edf6a

SPARC: Can compile simple methods and do static calls.

! graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAddress.java
! graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java
! graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCMacroAssembler.java
! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java
! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java
! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java
! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRegisterConfig.java
+ graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotspotDirectStaticCallOp.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCBitManipulationOp.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCBreakpointOp.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCByteSwapOp.java
+ graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCCall.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCCompare.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCLIRInstruction.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMathIntrinsicOp.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCTestOp.java
! graal/com.oracle.graal.sparc/src/com/oracle/graal/sparc/SPARC.java

Changeset: d2055a110396
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2013-07-10 05:26 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/d2055a110396

Introduce CompilerDirectives.SlowPath annotation.

! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCache.java
! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java

Changeset: 87d2df0a7624
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2013-07-10 05:27 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/87d2df0a7624

Merge.


Changeset: 3ae117e62905
Author:    Christian Humer <christian.humer at gmail.com>
Date:      2013-07-10 09:23 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/3ae117e62905

Removed frame argument for generic cases if not needed.
Added @SlowPath annotation to generated generic cases.

! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/TruffleTypes.java
! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java
! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeParser.java

Changeset: a0309f88306c
Author:    Christian Humer <christian.humer at gmail.com>
Date:      2013-07-10 09:42 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/a0309f88306c

Added truffle option to enable detailed rewrite messages. Disabled by default.

! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleOptions.java
! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/TruffleTypes.java
! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java

Changeset: 77b83e903703
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-10 17:44 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/77b83e903703

make use of guardingNonNull node intrinsic

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java

Changeset: bebc9672f45e
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-10 17:46 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/bebc9672f45e

stamp for GuardingPiNode is determined by caller of constructor, not within constructor

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

Changeset: f8adf47cc05e
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-10 17:46 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/f8adf47cc05e

checkcast is lowered to instanceof (GRAAL-248)

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/PushNodesThroughPiTest.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/InstanceOfNode.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java
! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/InstanceOfSnippetsTemplates.java

Changeset: 31266ceb86ef
Author:    twisti
Date:      2013-07-10 12:50 -0700
URL:       http://hg.openjdk.java.net/graal/graal/rev/31266ceb86ef

SPARC: Can compile and run two or three methods of a bootstrap.

! graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAddress.java
! graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java
! graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCMacroAssembler.java
! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java
! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java
! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java
! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotRuntime.java
+ graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCSafepointOp.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCCompare.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCControlFlow.java
! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java

Changeset: 8c8e47cc101d
Author:    Christian Humer <christian.humer at gmail.com>
Date:      2013-07-11 01:55 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/8c8e47cc101d

Truffle-DSL: fixed a bug in removal of the frame from the generated generic execute method.

! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java
! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeData.java
! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeParser.java

Changeset: 062304c74353
Author:    Christian Humer <christian.humer at gmail.com>
Date:      2013-07-11 01:56 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/062304c74353

merge.


Changeset: 5c1afcee72ec
Author:    Thomas Wuerthinger <thomas.wuerthinger at oracle.com>
Date:      2013-07-10 19:48 -0700
URL:       http://hg.openjdk.java.net/graal/graal/rev/5c1afcee72ec

Relax TruffleCache assertion.

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

Changeset: 4109190a0da5
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-11 11:09 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/4109190a0da5

Move lowering of arraycopy to the correct lowering phase.

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java

Changeset: 58cb83bfd882
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-11 11:55 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/58cb83bfd882

Simplify code

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java

Changeset: 2a87417379ce
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-11 11:56 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/2a87417379ce

Remove ternary

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneSnippets.java

Changeset: f1cd428fca9f
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-11 11:58 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/f1cd428fca9f

Remove caching of gcStartCycles

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java

Changeset: b95d42fdddca
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-11 12:09 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/b95d42fdddca

Minor refactoring

! src/share/vm/gc_interface/collectedHeap.hpp

Changeset: 7cdd4708b1aa
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-11 12:10 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/7cdd4708b1aa

Merge


Changeset: 84b944726df2
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-11 12:22 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/84b944726df2

Truffle: introduce NodeUtil.countNodes

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

Changeset: fd53f9f7007b
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-11 13:09 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/fd53f9f7007b

Truffle: refactor inlining

! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java

Changeset: 8d961f93725c
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2013-07-09 18:17 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/8d961f93725c

Use GuardedValueNode in the inlining

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java

Changeset: a643c88d164f
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2013-07-11 14:45 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/a643c88d164f

Add scopes to capture the graphs in ReplacementsImpl

! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java

Changeset: 41e9c8845826
Author:    Gilles Duboscq <duboscq at ssw.jku.at>
Date:      2013-07-11 14:47 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/41e9c8845826

Improve instanceof canonicalization

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

Changeset: 5888e1772ba1
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-11 16:21 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/5888e1772ba1

Check that guards are only created in BEFORE_GUARDS lowering.

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

Changeset: cd28ead65a53
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-11 16:21 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/cd28ead65a53

Output lowering type in graph dumps.

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

Changeset: 68d4d5457546
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-11 20:56 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/68d4d5457546

add sequential id prefixes to IGV graphs

! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/GraphPrinterDumpHandler.java

Changeset: 7f50d79c46f2
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-11 20:57 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/7f50d79c46f2

fixed a stamp join to be done the "right" way (stamp joining is not currently commutative)

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

Changeset: 057154505878
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-11 20:58 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/057154505878

fixed canonicalization bug (detected by Gilles) in binary logic nodes

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConjunctionNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConstantNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicDisjunctionNode.java

Changeset: 28dc33dc4565
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 12:24 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/28dc33dc4565

Delegate compressed klass pointers info from HotSpot to Graal

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java
! src/share/vm/graal/graalCompilerToVM.cpp

Changeset: c3760150dc29
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 12:40 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/c3760150dc29

Add function to read compressed klass pointers of constant objects natively

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.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/HotSpotRuntime.java
! src/share/vm/graal/graalCompilerToVM.cpp

Changeset: b975cad32411
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 12:42 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/b975cad32411

Add StoreHubNode

+ graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java

Changeset: 0517026315a0
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 12:46 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/0517026315a0

Adjust header size to compressed klass pointers

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneSnippets.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java

Changeset: 0d3d300064a8
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 12:47 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/0d3d300064a8

Remove scratch register from compressed load LIR instruction (used only for testing)

! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java
! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java

Changeset: 867588b3ecb4
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 12:48 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/867588b3ecb4

Variables' renaming

! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java

Changeset: 7cc08d83111d
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-12 15:29 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/7cc08d83111d

correctly anchor eliminated guards during ConditionalElimination

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

Changeset: 5fc4aedf7910
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-12 15:30 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/5fc4aedf7910

add relative pc to uncommon trap event entry (helps debugging SEGFAULTs in copmiled code)

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

Changeset: c84048228b4a
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-12 17:01 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/c84048228b4a

prevent repeated simplification of FixedGuardNode

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

Changeset: 097a634b57b1
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-12 11:19 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/097a634b57b1

fix stamps for constants of boolean, byte, char and short type, add tests

+ graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IntegerStampTest.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampFactory.java

Changeset: 0e671d5268d1
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-11 14:57 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/0e671d5268d1

re-introduce early read elimination as part of escape analysis

! 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/PartialEscapePhase.java
+ graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/ReadEliminationPEBlockState.java
+ graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/ReadEliminationPEClosure.java

Changeset: e35a72e32aae
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-11 15:13 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/e35a72e32aae

add test for early read elimination

+ graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java

Changeset: c78097171701
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-12 14:48 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/c78097171701

made the "Remove selected graphs and groups" action work in IGV for binary graphs

! src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/OutlineTopComponent.java
! src/share/tools/IdealGraphVisualizer/Coordinator/src/com/sun/hotspot/igv/coordinator/actions/ImportAction.java
! src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/serialization/BinaryParser.java
! src/share/tools/IdealGraphVisualizer/NetworkConnection/src/com/sun/hotspot/igv/connection/Client.java
! src/share/tools/IdealGraphVisualizer/NetworkConnection/src/com/sun/hotspot/igv/connection/Server.java

Changeset: 9d079661cbcd
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-12 18:08 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/9d079661cbcd

fixed generation of sequential id prefixes for IGV graphs

! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/GraphPrinterDumpHandler.java

Changeset: 70cb17338a70
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-12 18:09 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/70cb17338a70

Merge.


Changeset: 2a4ad6ab345e
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-12 19:09 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/2a4ad6ab345e

disabled new lowering of checkcast until performance regression is fixed

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

Changeset: f1904749e4fe
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-12 22:52 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/f1904749e4fe

re-enabled new lowering of checkcast with addition of a null-check guard where the profile has nullSeen=FALSE

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

Changeset: 40f6bda3f91d
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 14:16 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/40f6bda3f91d

Add compressed klass pointers support in LIR

! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java
! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java

Changeset: 0bd794eb8222
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 14:17 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/0bd794eb8222

Add compressed oop support in HotSpot Backend

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

Changeset: 6621bc66bfa4
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 14:20 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/6621bc66bfa4

Add WriteHubNode lowering

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

Changeset: 8b8587c32812
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 14:38 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/8b8587c32812

Adjust load/store hub intrinsics to account for Compressed Klass pointers

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java

Changeset: 49a0bd6b0605
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 14:40 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/49a0bd6b0605

Delegate compressed klass pointers info to ReadNode of LoadHubNode

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

Changeset: 90b3cf36dc17
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 14:43 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/90b3cf36dc17

Replace direct read word with loadHub intrinsic in VerifyOop stub

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/StubUtil.java

Changeset: 060f9ed42e2f
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 14:58 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/060f9ed42e2f

Augment compressed oop tests

! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/CompressedOopTest.java

Changeset: 88992c295d47
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 20:19 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/88992c295d47

Merge


Changeset: cdbfff4547be
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 21:48 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/cdbfff4547be

Allow compressed klass pointers

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

Changeset: bdd7c8e2293e
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-12 23:26 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/bdd7c8e2293e

Merge


Changeset: 00a9dbcbe431
Author:    Christian Humer <christian.humer at gmail.com>
Date:      2013-07-13 17:13 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/00a9dbcbe431

Truffle-DSL: Fixed a bug in polymorphic code generation.

! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java

Changeset: 99789440ce28
Author:    Christian Humer <christian.humer at gmail.com>
Date:      2013-07-13 17:14 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/99789440ce28

Truffle: Added assertions to replaceChild.

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

Changeset: ff6eb563a2e2
Author:    Christian Humer <christian.humer at gmail.com>
Date:      2013-07-13 17:21 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/ff6eb563a2e2

Truffle-DSL: Added additional test case for polymporphic generation.

+ graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/PolymorphicTest2.java

Changeset: 45dc193567c2
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-15 10:48 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/45dc193567c2

Add assertions

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

Changeset: cbaf26740df8
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-15 10:50 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/cbaf26740df8

Method renaming

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneSnippets.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java

Changeset: 257e2455270e
Author:    Christos Kotselidis <christos.kotselidis at oracle.com>
Date:      2013-07-15 10:59 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/257e2455270e

Merge


Changeset: 3811d04d933e
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-15 12:02 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/3811d04d933e

Do not re-compress oops that are already compressed.

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

Changeset: a5c9bc1f28fb
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-15 13:11 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/a5c9bc1f28fb

fix nullness for not-equals in ConditionalEliminationPhase
bug reported by Miguel Garcia <miguelalfredo.garcia at epfl.ch>

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

Changeset: e7c0658c2f25
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-15 13:36 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/e7c0658c2f25

record disjunctive conditions in ConditionalEliminationPhase
change suggested by Miguel Garcia <miguelalfredo.garcia at epfl.ch>

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

Changeset: 9f5a4074e36b
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-15 13:36 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/9f5a4074e36b

test for nullness and disjunctive conditions in ConditionalEliminationPhase

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

Changeset: 7b5d7c42598b
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-11 19:34 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/7b5d7c42598b

Truffle: change sorting of inlinable call sites

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

Changeset: e2f5ae9afdc5
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-11 22:14 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/e2f5ae9afdc5

Truffle: introduce profiling option

! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java
! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java

Changeset: 64740220db85
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-15 14:09 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/64740220db85

Merge


Changeset: 4c12d3756015
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-15 14:12 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/4c12d3756015

Truffle: Never compile InvalidInstalledCodeException catch handler.

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

Changeset: b221e31d7b0b
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-15 15:26 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/b221e31d7b0b

Truffle: revise NodeUtil.replaceChild assertion

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

Changeset: 7f6580db1e88
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-15 14:49 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/7f6580db1e88

Truffle: add assertions to verify the finalness of child fields.

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

Changeset: f4f46b734a4c
Author:    Andreas Woess <andreas.woess at jku.at>
Date:      2013-07-15 15:29 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/f4f46b734a4c

Merge


Changeset: e82c28e94f08
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-15 16:24 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/e82c28e94f08

Don't add G1 prebarrier if the written location is uninitialized.

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ArrayRangeWriteNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java

Changeset: 7f186f1486f7
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-15 16:24 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/7f186f1486f7

Use initializing write node in object clone snippets.

! graal/com.oracle.graal.word/src/com/oracle/graal/word/Pointer.java
! graal/com.oracle.graal.word/src/com/oracle/graal/word/Word.java
! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java

Changeset: 59d2d6a30d29
Author:    Roland Schatz <roland.schatz at oracle.com>
Date:      2013-07-15 16:24 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/59d2d6a30d29

Re-enable omission of array initialization for G1.

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java
! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneSnippets.java

Changeset: dd7a8807378b
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-15 16:53 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/dd7a8807378b

cannot omit frame for compiled methods that make a foreign call (GRAAL-362)

! 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/AMD64HotSpotBackend.java

Changeset: c483912aaf70
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-15 16:39 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/c483912aaf70

add ValueProxy interface and infrastructure

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ProxyNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java
+ graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ValueProxy.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java

Changeset: 5e338844c64c
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-15 15:58 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/5e338844c64c

make early read elimination see through ValueProxies

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java
! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/ReadEliminationPEClosure.java

Changeset: d2f8addaf504
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-15 15:58 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/d2f8addaf504

assertion in GraalCompiler (don't parse @Test methods)

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

Changeset: ae3d070ab223
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-15 16:36 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/ae3d070ab223

make ValueNode.stamp() final, fix WordTypeRewriterPhase

! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ProxyNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java
! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java
! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java

Changeset: 3a044e575466
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-15 17:32 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/3a044e575466

add ValueProxy interface to FixedValueAnchorNode

! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/FixedValueAnchorNode.java

Changeset: 88d0dc388450
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-15 17:52 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/88d0dc388450

let ConditionalEliminationPhase change invokes to InvokeKind.Special based on type information

! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ConditionalEliminationTest.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java

Changeset: 058abc2b59a5
Author:    Lukas Stadler <lukas.stadler at jku.at>
Date:      2013-07-15 17:54 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/058abc2b59a5

Merge

! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java

Changeset: 395d34c10e26
Author:    Doug Simon <doug.simon at oracle.com>
Date:      2013-07-15 18:22 +0200
URL:       http://hg.openjdk.java.net/graal/graal/rev/395d34c10e26

HSAIL backend changes
Contributed-by: Tom Deneau <tom.deneau at amd.com>

* stackslot mapping was incorrect when combinations of 32-bit and
 64-bit stores were generated.  StackSlot alignment in
 HSAILTargetDescription set to 8.

* compressedOops support in various heap size configurations (with or
 without either of shift or heap base).  So we don't need
 XX:-UseCompressedOops anymore.

* some support for unsigned shifts, long shifts, logical ops for long
 datatype.

* a new GraalOption, InlineEverything.  Some HSAIL targets are not
 able to handle HSAIL function calls yet, plus we are still working
 on emitting HSAIL function calls in the compiler.

* hack for emitForeignCall special cases of createOutOfBoundsException
 or createNullPointerException.  (We just emit a comment.  Real
 exception handling still pending).  These nodes came about when we
 more aggressively inlined, although this has not been explained yet.

* support HSAILAddressValues as operands for arithmetic ops.  Use
 HSAIL lda instruction to get address into a register.  Used in
 particular for USHR for card-marking.

* Added some new junit tests. (some ported from their lambda versions)

  * StaticNBodyCallTest which would fail with default inlining (since
    we don't yet generate HSAIL calls).  It uses junit.assumeTrue and
    tests whether InlineEverything is set.  It (and also some
    lambda-based junit tests not part of this webrev) do pass nicely
    when InlineEverything is set true.

  * tests for storing an object, which test being able to handle the
    card-marking logic, as well as the encoding and decoding of a
    compressed oop.

  * some 2D matrix tests that showed a problem before the stackslot
    change above.  (have a mixture of 32-bit and 64-bit stackslot
    spills)

! graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/HSAILAssembler.java
! graal/com.oracle.graal.compiler.hsail.test.infra/src/com/oracle/graal/compiler/hsail/test/infra/GraalKernelTester.java
! graal/com.oracle.graal.compiler.hsail.test.infra/src/com/oracle/graal/compiler/hsail/test/infra/KernelTester.java
+ graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/Float2DMatrixBase.java
+ graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/Float2DMatrixMultiplyRangeFinalTest.java
+ graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/Float2DMatrixMultiplyTest.java
+ graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/ObjectStoreNullTest.java
+ graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/ObjectStoreTest.java
! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/StaticMandelTest.java
+ graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/StaticNBodyCallTest.java
! graal/com.oracle.graal.compiler.hsail/src/com/oracle/graal/compiler/hsail/HSAILCompilationResult.java
! graal/com.oracle.graal.compiler.hsail/src/com/oracle/graal/compiler/hsail/HSAILLIRGenerator.java
! graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILArithmetic.java
! graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILControlFlow.java
! graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILMove.java
! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java
! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java



More information about the graal-dev mailing list