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