graal/graal: 107 new changesets

Deneau, Tom tom.deneau at amd.com
Mon Jul 15 14:05:13 PDT 2013


Doug or others --

I was about to ask for help on a codegen problem we were seeing but after updating to the latest default,
I see that it is gone (so I'm assuming it was not in our backend :) ).  Of course it is possible that the bug
is just being hidden by some unrelated change.   Anyway, here is a brief description,
maybe you can tell which of the many changesets below would have fixed this, if any.

We were using String.contains as our test case, which was being nicely inlined, and we generated the following 
HSAIL code which led to the problem

	ld_global_u16 $s8, [$d3 + 24];         // read a u16 char from the test String
	ld_global_u16 $s9, [$d1 + 24];         // read a u16 char from the pattern  
	st_spill_s32 $s9, [%spillseg][24];     // register spill
	mov_b32 $s8, 0;                        // <<<<--- This code was causing the problem 
	cmp_ne_b1_s32 $c0, $s8, $s9;           // compare the two chars but s8 has been clobbered


When I did a -G:TraceLIRGeneratorLevel=2, I could see that the problematic instruction
 "mov_b32 $s8, 0"
was generated as part of something called
       MOVE TO PHI from 276|EndNode to 277|LoopBegin

as part of PhiResolver.dispose, the part that is commented with
  // generate move for move from non variable to arbitrary destination

Does the above sound like something that was purposely fixed?

-- Tom Deneau




-----Original Message-----
From: graal-dev-bounces at openjdk.java.net [mailto:graal-dev-bounces at openjdk.java.net] On Behalf Of doug.simon at oracle.com
Sent: Monday, July 15, 2013 11:56 AM
To: graal-dev at openjdk.java.net
Subject: hg: graal/graal: 107 new changesets

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