From doug.simon at oracle.com Wed Oct 1 01:00:11 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Wed, 01 Oct 2014 01:00:11 +0000 Subject: hg: graal/graal: 15 new changesets Message-ID: <201410010100.s9110C8P000430@aojmv0008> Changeset: d4fe68441072 Author: Doug Simon Date: 2014-09-30 08:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d4fe68441072 fixed regression in binary graph serialization ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/BinaryGraphPrinter.java Changeset: b641450c19ce Author: Bernhard Urban Date: 2014-09-30 10:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b641450c19ce mx: rename helper functions for cygwin support and update comments ! mx/mx_graal.py ! mxtool/mx.py Changeset: 9010170f942f Author: Lukas Stadler Date: 2014-09-30 11:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9010170f942f better stamps for I2F, I2D, L2F and L2D operations ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java Changeset: 324ab4ce5d43 Author: Lukas Stadler Date: 2014-09-30 11:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/324ab4ce5d43 reduce noise in CanonicalizerPhase log output ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java Changeset: 5c6c924abd49 Author: Lukas Stadler Date: 2014-09-30 11:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5c6c924abd49 small visibility change in EffectsClosure ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectsClosure.java Changeset: 00dd7b3c5aea Author: Lukas Stadler Date: 2014-09-30 11:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/00dd7b3c5aea float and double constants cannot be inlined ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Changeset: 4bf8f836bba5 Author: Lukas Stadler Date: 2014-09-30 11:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4bf8f836bba5 small fix to @GeneratedBy javadoc ! graal/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/GeneratedBy.java Changeset: 48c91ed917d8 Author: Lukas Stadler Date: 2014-09-30 14:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/48c91ed917d8 only consider ValuePhiNodes for basic induction variables ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/InductionVariables.java Changeset: 83ebc10fb5e9 Author: Roland Schatz Date: 2014-09-30 12:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/83ebc10fb5e9 Return empty ArithmeticOpTable for non-arithmetic stamps. ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java Changeset: 5b7b1cb838e9 Author: Roland Schatz Date: 2014-09-30 12:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5b7b1cb838e9 Remove unused method. ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/Stamp.java Changeset: fa3637e235b1 Author: Roland Schatz Date: 2014-09-30 14:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/fa3637e235b1 Make ArithmeticOpTable fields final. ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/FloatStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java Changeset: 9eb112c9337d Author: Doug Simon Date: 2014-09-30 15:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9eb112c9337d moved Node naming logic back to NodeClass (without impacting NodeClass constructor performance) ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StartNode.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/BinaryGraphPrinter.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Changeset: 43655130d0ab Author: Christian Humer Date: 2014-09-30 19:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/43655130d0ab Truffle: added a performance warning for number of nodes in a single Truffle cache entry. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java Changeset: 5c55441b4c62 Author: Doug Simon Date: 2014-09-30 21:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5c55441b4c62 fixed reported annotation parsing time in NodeClass ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchContext.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java Changeset: 846c059e3ecf Author: Andreas Woess Date: 2014-09-30 23:42 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/846c059e3ecf Truffle: allow interface types in child fields ! CHANGELOG.md + graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/InterfaceChildFieldTest.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java From gero.leinemann at oracle.com Wed Oct 1 13:22:51 2014 From: gero.leinemann at oracle.com (Gero Leinemann) Date: Wed, 01 Oct 2014 15:22:51 +0200 Subject: +TraceTruffleCompilation: More detailed infos on optimization In-Reply-To: <542ABE6B.8050208@jku.at> References: <542963FA.7020305@oracle.com> <542A8EBC.2000909@oracle.com> <542ABE6B.8050208@jku.at> Message-ID: <542C002B.8010902@oracle.com> Hi Andreas, first of all: Sorry if I my mail was a bit confusing. My question was solely about the logging output. > I'd argue a function is best identified by its source location and it's > useful to capture the name at function assignment as an identifier (at > parse time), which is not a property of the call site. If I understand > you correctly, then for this piece of code: > name = function() { bla }; other = name; other(); > you would identify "other" as the function name rather than "name"? Of course the concrete link "call site -> call target" is a language specific one, and I'm aware that there are several (mostly hacky) ways I could modify "rootNode.toString()" as language implementor to modify the output. Right. > I'm not convinced it is useful to refer to the call site that triggered the compile(). There can be any number of call sites per call target and which one triggers may depend on compilation policy. In theory: yes, the information is redundant, and may be misleading for beginners. If one's aware of the fact that compilation might be triggered from different call sites (and it's non-deterministic) this is no problem, but from the user point of view a very helpful (esp. time-saving) additional bit of information while skimming stdout for compiled functions. Basically my question is if you know a clean way to add the SourceSection of the CallNode to the "opt done" output in Truffle (maybe sth. like "TriggerHint: fun(a, b, c)"). If not, or an implementation does not make sense from the framework implementor point of view (unwanted changes to dependencies, API, etc.), I'll happily think about a FastR-specific solution. Best Regards, Gero From thezhangwei at gmail.com Wed Oct 1 22:58:57 2014 From: thezhangwei at gmail.com (Wei Zhang) Date: Wed, 1 Oct 2014 15:58:57 -0700 Subject: Recent Truffle DSL changes. In-Reply-To: <847832FA-2522-4A37-B3FC-75F0FC742739@stefan-marr.de> References: <54D3BDC5-2312-4542-946B-AE0866F6D57E@stefan-marr.de> <66A57E3F-2A78-497A-90F4-7456912E3520@stefan-marr.de> <847832FA-2522-4A37-B3FC-75F0FC742739@stefan-marr.de> Message-ID: Hi Christian, I finally merged with graal-0.5... It was very smooth. But I did run into one issue. https://bitbucket.org/ssllab/zippy/src/cd9ba144cc20c30181f5314584e148ea38e1fa45/graal/edu.uci.python.nodes/src/edu/uci/python/nodes/expression/BinaryArithmeticNode.java?at=default After merge in the AddNode of ZipPy, if I have multiple consecutive specializations with the rewriteOn attribute specified to ArithmeticException.class, the DSL processor complains. I currently disabled rewriteOn exception for doIntBoolean() and doBooleanInt in AddNode to get around the error. If I put them back on I get the following error msg: This specialiation is not a valid exceptional rewrite target for doBooleanInt(boolean, int). To fix this make doInteger(int, int) compatible to doBooleanInt(boolean, int) or remove the exceptional rewrite. Any though? Thanks, On Thu, Sep 18, 2014 at 10:00 AM, Stefan Marr wrote: > Hi Christian: > > On 18 Sep 2014, at 18:09, Christian Humer wrote: > >> Unfortunately there is no way to resolve this yet. But I am aware of that problem. We could do this if we declare a hint where to rewrite to next from all compatible specializations. Its on my TODO list.I already talked to Andreas a few weeks ago and we also should not use rewrite by exception for local variables. So we might invent a new pattern for that. > > Ok, I?ll keep it on my todo list as well. > > >> Yes this needs to be done at specialization level. The DSL implementation does this on this level (with my patch). All the inline cache implementation need to do the same. This is why we currently expose the "atomic(Callable)" API. Also nodes should not be respecialized twice as you mentioned. Instead they should be copied. > > Will probably not get to making TruffleSOM thread-safe this week. > But, I was wondering how the API could help me to know that I am doing something in a way I shouldn?t do it. > > How about adding a ReentrantLock object to the root node, removing the implicit lock acquisition from replace(), and instead putting an assertion on isHeldByCurrentThread() in there? I realize that it might be slightly inconvenient. But, it would make it explicit to the language implementer that one has to look out for those things. > As a compromise, a replaceLocked(.) could be introduced. > Generally, I would also prefer if the method names would tell me something about the concurrency properties. > > Another thing I was wondering about is whether some of those concepts in DSLShare could be promoted for general use. It kind of represents good standard practices, right? > And even if one needs to step outside the DSL, I presume the general structuring and concepts would still help to implement custom things. I was thinking about the notion of ?uninitialized? and the find and rewrite helper methods, for instance. > > Best regards > Stefan > > -- > Stefan Marr > INRIA Lille - Nord Europe > http://stefan-marr.de/research/ > > > From doug.simon at oracle.com Thu Oct 2 01:00:06 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Thu, 02 Oct 2014 01:00:06 +0000 Subject: hg: graal/graal: 37 new changesets Message-ID: <201410020100.s92107HV002509@aojmv0008> Changeset: ffb974bef674 Author: Doug Simon Date: 2014-10-01 07:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ffb974bef674 moved Node valueNumber and valueEquals logic (optionally) to generated nodes ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Edges.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractLocalNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/CallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java ! 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/IfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InfopointNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/KillingBeginNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConstantNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoweredCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryMapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ShortCircuitOrNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SimpleInfopointNode.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.nodes/src/com/oracle/graal/nodes/calc/AddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AbstractWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedAccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MembarNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.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/CompareAndSwapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorIdNode.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 ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java ! graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java Changeset: 730aa0eb20e5 Author: Josef Eisl Date: 2014-09-25 10:27 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/730aa0eb20e5 LIRIntrospection: rename forEach*(ValuePositionProcedure) to forEach*Pos. ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest3.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest4.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest2.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstructionClass.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java Changeset: 5cb1c3698809 Author: Josef Eisl Date: 2014-09-25 10:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5cb1c3698809 Make ValuePositionProcedure a FunctionalInterface. ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePositionProcedure.java Changeset: b8516934a9e5 Author: Josef Eisl Date: 2014-09-25 13:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b8516934a9e5 Make InstructionStateProcedure a FunctionalInterface. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionStateProcedure.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIR.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StateProcedure.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Changeset: 0acefec7231a Author: Josef Eisl Date: 2014-09-25 14:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0acefec7231a Make ValueProcedure/ValueConsumer methods public. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueProcedure.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueProcedure.java Changeset: 0f299d663944 Author: Josef Eisl Date: 2014-09-25 14:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0f299d663944 Remove InstructionValueProcedure.doValue(LIRInstruction, Value). ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest2.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueProcedure.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueProcedure.java Changeset: 0578dc1c1a62 Author: Josef Eisl Date: 2014-09-25 14:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0578dc1c1a62 Remove ValueProcedure.doValue(Value value). ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/backend/AllocatorTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueProcedure.java Changeset: e8b80721524d Author: Josef Eisl Date: 2014-09-25 14:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e8b80721524d Remove InstructionValueConsumer.visitValue(LIRInstruction, Value). ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest2.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java Changeset: d21962ea9617 Author: Josef Eisl Date: 2014-09-25 14:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d21962ea9617 Remove ValueConsumer.visitValue(Value). ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java Changeset: 3a834111a632 Author: Josef Eisl Date: 2014-09-25 17:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3a834111a632 Make [Instruction]ValueProcedure and [Instruction]ValueConsumer a FunctionalInterface. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionStateProcedure.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueProcedure.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueProcedureBase.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRFrameState.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstructionClass.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePositionProcedure.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueProcedure.java Changeset: afafc0aad977 Author: Josef Eisl Date: 2014-09-30 18:41 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/afafc0aad977 Make InstructionValueProcedureBase an interface. ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueProcedure.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueProcedureBase.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRFrameState.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueProcedure.java Changeset: 0f8b1fb632df Author: Josef Eisl Date: 2014-09-30 18:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0f8b1fb632df Remove InstructionValueProcedureBase (superseded by InstructionValueProcedure). ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotLIRFrameState.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValue.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValueClass.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueProcedure.java - graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueProcedureBase.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRFrameState.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstructionClass.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueConsumer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValueProcedure.java Changeset: db0ee78b1ad5 Author: Doug Simon Date: 2014-10-01 10:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/db0ee78b1ad5 prevent deadlock in HotSpotGraalRuntime.shutdown() by loading DebugValuesPrinter class eagerly ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/DebugValuesPrinter.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java Changeset: 4372344cf3d8 Author: Josef Eisl Date: 2014-09-29 13:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4372344cf3d8 Use Lambdas in CompositeValueReplacementTests. ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest2.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest3.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest4.java Changeset: 6f9285d71d62 Author: Josef Eisl Date: 2014-09-29 13:46 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6f9285d71d62 Use Lamdas in ValuePositionTests. ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest2.java Changeset: 182062f9739d Author: Josef Eisl Date: 2014-09-29 13:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/182062f9739d LSRA: replace anonymous InstructionValueProcedures with Lambdas. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java Changeset: 4c31d6e44c18 Author: Josef Eisl Date: 2014-09-29 14:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4c31d6e44c18 LSRA: replace anonymous ValueProcedures with Lambdas. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java Changeset: 6855e4c325d0 Author: Josef Eisl Date: 2014-09-29 14:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6855e4c325d0 LSRA: replace anonymous InstructionValueConsumers with Lambdas. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java Changeset: 6d85dfeb6981 Author: Josef Eisl Date: 2014-09-29 14:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6d85dfeb6981 LSRA: replace anonymous ValueConsumers with Lambdas. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java Changeset: ae0496f76cce Author: Josef Eisl Date: 2014-09-29 14:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ae0496f76cce LIRIntrospection: use Lambdas wherever possible. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/backend/AllocatorTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/RegisterVerifier.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java Changeset: e03a25f5a260 Author: Josef Eisl Date: 2014-09-29 15:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e03a25f5a260 Replace anonymous StateProcedures with Lambdas. ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIR.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Changeset: 07d5cf34b3c5 Author: Josef Eisl Date: 2014-10-01 13:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/07d5cf34b3c5 Work around uninitialized variables problem with javac and lambdas. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java Changeset: 831e96d0777d Author: Josef Eisl Date: 2014-10-01 13:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/831e96d0777d Better workaround for the uninitialized variable issue. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java Changeset: 072a25e613ba Author: Roland Schatz Date: 2014-10-01 14:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/072a25e613ba Use Arrays.hashCode for hashing array fields. ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java Changeset: a926a44acfc6 Author: Lukas Stadler Date: 2014-10-01 14:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a926a44acfc6 fix NPE in graph scheduling validation ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java Changeset: ed30fa9d37ac Author: Lukas Stadler Date: 2014-10-01 14:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ed30fa9d37ac Merge Changeset: 7c58f75be8d6 Author: Doug Simon Date: 2014-10-01 16:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7c58f75be8d6 fixed regression in debug value printing and removed unused support for printing per VM phase ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/DebugValuesPrinter.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java Changeset: ddc424ed8966 Author: Doug Simon Date: 2014-10-01 16:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ddc424ed8966 removed unused ResetDebugValuesAfterBoot option ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalDebugConfig.java Changeset: acee76c5f8a4 Author: Doug Simon Date: 2014-10-01 16:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/acee76c5f8a4 added metrics for value numberable caches hits and missues ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java Changeset: 8dcb64d6e987 Author: Lukas Stadler Date: 2014-10-01 18:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8dcb64d6e987 Backed out changeset: 00dd7b3c5aea ("float and double constants cannot be inlined") ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Changeset: 3bde3e643528 Author: Christian Humer Date: 2014-10-01 19:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3bde3e643528 Windows build: disable BrowseInformation for fastdebug and debug builds. The bscmake.exe tool for the BrowseInformation feature is not available in newer Windows SDK versions. ! src/share/tools/ProjectCreator/WinGammaPlatformVC10.java Changeset: 4bea75e99249 Author: Christian Humer Date: 2014-10-01 19:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4bea75e99249 Truffle: fixed callsite argument profiling was still done for inlined calls using context sensitive inlining. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java Changeset: 679612367e1a Author: Doug Simon Date: 2014-10-01 18:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/679612367e1a converted GeneratedNode to an interface to reduce annotation parsing when creating a NodeClass instance ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/CheckGraalInvariants.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java ! graal/com.oracle.graal.nodeinfo/src/com/oracle/graal/nodeinfo/GeneratedNode.java Changeset: 845e881ce054 Author: Doug Simon Date: 2014-10-01 20:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/845e881ce054 constructors in a Node class must be protected ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/NodePosIteratorTest.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeMapTest.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeUsagesTests.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EntryMarkerNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MembarNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/NullCheckNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRLocalNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRStartNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredAtomicReadAndWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/EdgesTest.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java Changeset: f0364a8ec40e Author: Doug Simon Date: 2014-10-01 21:13 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f0364a8ec40e force USE_CLANG when building on MacOS ! mx/mx_graal.py Changeset: 8b4364df9bd3 Author: Doug Simon Date: 2014-10-01 22:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8b4364df9bd3 Merge. Changeset: b1fc1ad0439e Author: Doug Simon Date: 2014-10-01 23:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b1fc1ad0439e removed value number cache ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java From christian.humer at gmail.com Thu Oct 2 13:55:30 2014 From: christian.humer at gmail.com (Christian Humer) Date: Thu, 2 Oct 2014 15:55:30 +0200 Subject: Recent Truffle DSL changes. In-Reply-To: References: <54D3BDC5-2312-4542-946B-AE0866F6D57E@stefan-marr.de> <66A57E3F-2A78-497A-90F4-7456912E3520@stefan-marr.de> <847832FA-2522-4A37-B3FC-75F0FC742739@stefan-marr.de> Message-ID: Hi Wei, Yes. The rewriteOn feature got bit more restrictive with the new version. The requirement os that the next specialization must be strictly more generic than the specialization that uses rewritesOn. This requirement also takes into account implicit casts. For example if there is an implicit cast boolean to int. You can do the following: @Specialization(rewriteOn=Exception.class) int doBoolean(boolean operand) {...} @Specialization int doInt(int operand) {...} But if there is no implicit cast (like it is the case for your AddNode) you need to do the following: @Specialization(rewriteOn=Exception.class) int doBoolean(boolean operand) {...} @Specialization int doBooleanNoOverflow(boolean operand) {...} @Specialization int doInt(int operand) {...} I'd recommend you to add an implicit cast boolean -> int and define the specializations as follows: @Specialization int doBoolean(boolean left, boolean right) { final int leftInt = left ? 1 : 0; final int rightInt = right ? 1 : 0; return leftInt + rightInt; } @Specialization(rewriteOn = ArithmeticException.class) int doInteger(int left, int right) { return ExactMath.addExact(left, right); } I'd like to add that the new DSL version guarantees that the doBoolean specialization is always used if you get two boolean values as input. Previously the doInteger might also have been used in polymorphic cases. This is now fixed. Without implicit casts this definition gets quite cumbersome (previous definition also had its problems but the old DSL did not complain). To resolve it you need to define a follow up specialization with the same signature but without rewriteOn like I already described with my second example. After enabling all the implicit casts that were already defined in PythonTypes, I had these specializations left for the numeric types: @Specialization int doBoolean(boolean left, boolean right) { final int leftInt = left ? 1 : 0; final int rightInt = right ? 1 : 0; return leftInt + rightInt; } @Specialization(rewriteOn = ArithmeticException.class) int doInteger(int left, int right) { return ExactMath.addExact(left, right); } @Specialization BigInteger doBigInteger(BigInteger left, BigInteger right) { return left.add(right); } @Specialization double doDouble(double left, double right) { return left + right; } @Specialization PComplex doComplex(PComplex left, PComplex right) { return left.add(right); } I think this is as good as it gets. All the combination of types are now implicetly there. Let me know if this helps. - Christian Humer On Thu, Oct 2, 2014 at 12:58 AM, Wei Zhang wrote: > Hi Christian, > > I finally merged with graal-0.5... It was very smooth. > But I did run into one issue. > > > https://bitbucket.org/ssllab/zippy/src/cd9ba144cc20c30181f5314584e148ea38e1fa45/graal/edu.uci.python.nodes/src/edu/uci/python/nodes/expression/BinaryArithmeticNode.java?at=default > After merge in the AddNode of ZipPy, if I have multiple consecutive > specializations with the rewriteOn attribute specified to > ArithmeticException.class, the DSL processor complains. > I currently disabled rewriteOn exception for doIntBoolean() and > doBooleanInt in AddNode to get around the error. > If I put them back on I get the following error msg: > This specialiation is not a valid exceptional rewrite target for > doBooleanInt(boolean, int). To fix this make doInteger(int, int) > compatible to doBooleanInt(boolean, int) or remove the exceptional > rewrite. > > Any though? > > Thanks, > > On Thu, Sep 18, 2014 at 10:00 AM, Stefan Marr wrote: > > Hi Christian: > > > > On 18 Sep 2014, at 18:09, Christian Humer > wrote: > > > >> Unfortunately there is no way to resolve this yet. But I am aware of > that problem. We could do this if we declare a hint where to rewrite to > next from all compatible specializations. Its on my TODO list.I already > talked to Andreas a few weeks ago and we also should not use rewrite by > exception for local variables. So we might invent a new pattern for that. > > > > Ok, I?ll keep it on my todo list as well. > > > > > >> Yes this needs to be done at specialization level. The DSL > implementation does this on this level (with my patch). All the inline > cache implementation need to do the same. This is why we currently expose > the "atomic(Callable)" API. Also nodes should not be respecialized twice as > you mentioned. Instead they should be copied. > > > > Will probably not get to making TruffleSOM thread-safe this week. > > But, I was wondering how the API could help me to know that I am doing > something in a way I shouldn?t do it. > > > > How about adding a ReentrantLock object to the root node, removing the > implicit lock acquisition from replace(), and instead putting an assertion > on isHeldByCurrentThread() in there? I realize that it might be slightly > inconvenient. But, it would make it explicit to the language implementer > that one has to look out for those things. > > As a compromise, a replaceLocked(.) could be introduced. > > Generally, I would also prefer if the method names would tell me > something about the concurrency properties. > > > > Another thing I was wondering about is whether some of those concepts in > DSLShare could be promoted for general use. It kind of represents good > standard practices, right? > > And even if one needs to step outside the DSL, I presume the general > structuring and concepts would still help to implement custom things. I was > thinking about the notion of ?uninitialized? and the find and rewrite > helper methods, for instance. > > > > Best regards > > Stefan > > > > -- > > Stefan Marr > > INRIA Lille - Nord Europe > > http://stefan-marr.de/research/ > > > > > > > From eregontp at gmail.com Thu Oct 2 14:26:37 2014 From: eregontp at gmail.com (Benoit Daloze) Date: Thu, 2 Oct 2014 16:26:37 +0200 Subject: Truffle and mlvm In-Reply-To: References: Message-ID: Hello Charles and Thomas, On 31 August 2014 00:04, Thomas Wuerthinger wrote: > Thanks a lot, Charlie, for this very detailed feedback! In fact, this is > probably the most comprehensive feedback we?ve received for Truffle so far > :). > > There are some valid points, some points where I?d like to add a comment, > and some where Graal and Truffle may have been misunderstood. I?ll try to > address them in a similarly structured form: > > Regarding disadvantage 1 ?AST is not enough?: > A. Yes, you need to provide specialisations for your operations for better > performance. This makes it harder to implement a Truffle AST interpreter > than a simple AST interpreter. It has however the advantage that it gives > you more predictable performance for the different usages of your dynamic > language operation. We are currently working on source code visualisations > for Truffle ASTs so that users can see what nodes are specialised and to > what types. > B. Yes, it is necessary to store your local variables in a Truffle frame > object. This object can however contain pointers to arbitrary extra data > necessary for your guest language. > C. We did a lot of improvements to Truffle, Graal, and also TruffleRuby > since January. Inlining works without any problems and independent of the > guest language, also in TruffleRuby. > > Regarding disadvantage 2 ?Long startup and warmup times?: > The benefit of the system is absolutely *not* lost when the compiler > (Graal) and the Truffle guest language interpreter are AOT compiled. It > gives you decent startup and high peak. The interpreter is immediately > available in highly optimized machine code. Hot guest language methods are > dynamically compiled to machine code by the precompiled Graal. > > Regarding disadvantage 3 ?Limited concurrency?: > There is no deeper reason why TruffleRuby is single threaded right now. > For sure none that has to do with the fundamentals of the Truffle approach. > We are planning to support 100% multi-threading also in TruffleRuby. One of > the explorations we are currently doing is to support guest language level > safepoints such that guest language developers themselves can easier deal > with concurrency without compromising any peak performance. > I plan to work on concurrency in Truffle during my PhD in Linz. Making Truffle thread-safe is a priority and some work is already done for AST replacements. I am also interested in supporting different concurrency primitives such as threads and fibers for the guest languages. Benoit Regarding disadvantage 4 ?Limited availability?: > Yes, this is indeed a chicken and egg problem. Truffle is however not as > closely tied to Graal as you suggest here. I believe that it is fairly > straightforward to create a Truffle front-end for C2 (or any other compiler > supporting deoptimization). There are only 3k LOC in Graal that are > specific to Truffle. I think that they could be ported in a reasonable time > frame. The Truffle interpreters themselves run on any Java system even if > it has only very limited features - this is actually an advantage over a > pure bytecode generation approach. They can also be AOT compiled for > devices that do not support a full JVM and have strong footprint > requirements. This would of course be slower execution than in a full > fledged VM, but it would at least run correctly. I furthermore think that > it is possible to do the Truffle partial evaluation via bytecode generation > for backwards compatibility. > > Regarding disadvantage 5 "Unclear benefits for real-world applications?: > This kind of argument can hardly be countered before a system is 100% > finished and shipped. The term ?real world? is also somewhat loosely > defined. I would very much support the development of a JRuby benchmark > suite that tries to reflect ?real world? as close as possible. > There is absolutely no reason to believe that a Truffle-based Ruby > implementation would not have benefits for ?real-world applications?. Or > that it would not be able to run a large application for a long time. It is > clear that the TruffleRuby prototype needs more completeness work both at > the language and the library level. We are very happy with the results we > got so far with Chris working for about a year. We are planning to increase > the number of people working on this, and would also be grateful for any > help we can get from the Ruby community. > > Regarding Graal: Did you ever try to benchmark JRuby without Truffle with > the latest Graal binaries available at > http://lafo.ssw.uni-linz.ac.at/builds/? We would be looking forward to > see the peak performance results on a couple of workloads. We are not > speculating about Graal becoming part of a particular OpenJDK release (as > experimental or regular option). This is the sovereign decision of the > OpenJDK community. All we can do is to demonstrate and inform about Graal?s > performance and stability. > > We recognise that there is a long road ahead. But in particular in this > context, I would like to emphasize that we are looking for more people to > support this effort for a new language implementation platform. I strongly > believe that Truffle is the best currently available vehicle to make Ruby > competitive in terms of performance with node.js. We are happy to try to > *prove* you wrong - even happier about support of any kind along the road > ;). I am also looking forward to continue this discussion at JavaOne (as > part of the TruffleRuby session or elsewhere). > > Regards, thomas > > On 30 Aug 2014, at 21:21, Charles Oliver Nutter > wrote: > > > Removing all context, so it's clear this is just my opinions and > thoughts... > > > > As most of you know, we've opened up our codebase and incorporated the > > graciously-donated RubyTruffle directly into JRuby. It's available on > > JRuby master and we are planning to ship Truffle support with JRuby > > 9000, our next major version (due out in the next couple months). > > > > At the same time, we have been developing our own next-gen IR-based > > compiler, which will run unmodified on any JVM (with or without > > invokedynamic, though I still have to implement the "without" side). > > Why are we doing this when Truffle shows such promise? > > > > I'll try to enumerate the benefits and problems of Truffle here. > > > > * Benefits of using Truffle > > > > 1. Simpler implementation. > > > > From day 1, the most obvious benefit of Truffle is that you just have > > to write an AST interpreter. Anyone who has implemented a programming > > language can do this easily. This specific benefit doesn't help us > > implement JRuby, since we already have an AST interpreter, but it did > > make Chris Seaton's job easier building RubyTruffle initially. This > > also means a Truffle-based language is more approachable than one with > > a complicated compiler pipeline of its own. > > > > 2. Better communication with the JIT. > > > > Truffle, via Graal, has potential to pass much more information on to > > the JIT. Things like type shape, escaped references, frame access, > > type specialization, and so on can be communicated directly, rather > > than hoping and praying they'll be inferred by the shape of bytecodes. > > This is probably the largest benefit; much of my time optimizing JRuby > > has been spend trying to "trick" C2 into doing the right thing, since > > I don't have a direct way to communicate intent. > > > > The peak performance numbers for Truffle-based languages have been > > extremely impressive. If it's possible to get those numbers reasonably > > quickly and with predictable steady-state behavior in large, > > heterogeneous codebases, this is definitely the quickest path (on any > > runtime) to a high-performance language implementation. > > > > 3. OSS and pure Java > > > > Truffle and Graal are just OpenJDK projects under OpenJDK licenses, > > and anyone can build, hack, or distribute them. In addition, both > > Truffle and Graal are 100% Java, so for the first time a plain old > > Java developer can see (and manipulate) exactly how the JIT works > > without getting lost in a sea of plus plus. > > > > * Problems with Truffle > > > > I want to emphasize that regardless of its warts, we love Truffle and > > Graal and we see great potential here. But we need a dose of reality > > once in a while, too. > > > > 1. AST is not enough. > > > > In order to make that AST fly, you can't just implement a dumb generic > > interpreter. You need to know about (and generously annotate your AST > > for) many advanced compiler optimization techniques: > > > > A. Type specialization plus guarded fallbacks: Truffle will NOT > > specialize your code for you. You must provide every specialized path > > in your AST nodes as well as annotating "slow path", "transfer to > > interpreter", etc. > > > > B. Frame access and reification: In order to have cross-call access to > > frames or to squash frames created for multiple inlined calls, you > > must use Truffle's representation of a frame. This means loads/stores > > within your AST must be done against a Truffle object, not against an > > arbitrary object of your own creation. > > > > C. Method invocation and inlining: Up until fairly recently, if you > > wanted to inline methods you had to essentially build your own call > > site logic, profiling, deopt paths within your Truffle AST. When I did > > a little hacking on RubyTruffle around OSS time (December/January) it > > did *no* inlining of Ruby-to-Ruby calls. I hacked in inlining using > > existing classes and managed to get it to work, but I was doing all > > the plumbing myself. I know this has improved in the Truffle codebase > > since then, but I have my concerns about production readiness when the > > inlining call site parts of Truffle were just recently added and are > > still in flux. > > > > And there's plenty of other cases. Building a basic language for > > Truffle is pretty easy (I did a micro-language in about two hours at > > JVMLS last year), but building a high-performance language for Truffle > > still takes a fair investment of effort and working knowledge of > > dynamic compiler optimizations. > > > > 2. Long startup and warmup times. > > > > As Thomas pointed out in the other thread, because Truffle and Graal > > are normally run as plain Java libraries, they can actually aggravate > > startup time issues. Now, not only would all of JRuby have to warm up, > > but the eventual native code JIT has to warm up too. This is not > > surprising, really. It is possible to mitigate this by doing some form > > of AOT against Graal, but for every case I have seen the Truffle/Graal > > approach makes startup time much, much worse compared to just running > > atop JVM. > > > > Warmup time is also worsened significantly. > > > > The AST you create for Truffle must be heavily mutated while running > > in order to produce a specialized version of that AST. This must > > happen before the AST is eventually fed into Graal, which means you > > have a self-modifying interpreter spinning AST objects like mad while > > executing the early phases of your application. Compare to a dumb > > interpreter as in JRuby's old AST, where interpreting the AST produces > > no additional objects other than those necessary for execution of the > > code. > > > > The Truffle approach itself adds overhead too. Until optimized, the > > fully-reified frame objects, specialization markup (which triggers AST > > rewriting), deoptimization guards, and so on are all done manually > > against heap-level data structures. This is in addition to the > > JVM-level overhead of executing an AST (native frame-per-node, boxing > > and type-widening, poor inlining profile). > > > > Some amount of AOT *might* be applicable here, but the benefit of > > Truffle and Graal is lost in the AOT case if we're not getting > > real-world profile information. The Substrate VM has ben brought up to > > aid startup and warmup too...but that direction produces a > > closed-world executable based on optimizing all code up front...not > > exactly what we're looking for in a general-purpose language runtime. > > > > 3. Limited concurrency > > > > The RubyTruffle runtime currently has to execute code under the > > watchful eye of a global lock. Yes, you read that right...RubyTruffle > > is single-threaded right now. > > > > I would like to know if there's a deeper reason for this, but the > > obvious shallow reason is that you can't have multiple threads > > executing at the same time if they're making thread-unsafe mutations > > to the executing code. This is similar to the major stumbling block > > for e.g. Pypy, which rewrites currently-executing assembly > > instructions at deopt/reopt safe points. > > > > I believe once the code has transitioned to native, you can execute > > that safely across threads...but this is opaque to your Truffle-based > > language, and it's unclear how you'd manage re-acquiring some sort of > > lock when transferring back to the interpreter. > > > > The fact that concurrency has so far been hand-waved (or so it seems > > to me from the outside) scares the living hell out of me, especially > > when there's talk about rolling this stuff into Java 9. > > > > Obviously some of this could be mitigated with an immutable AST > > structure or other thread-friendly tree-transformation algorithm, but > > making the Truffle AST thread-safe may also make it even more > > object-heavy during interpretation, aggravating startup time further. > > > > 4. Limited availability > > > > This is the chicken-and-egg issue. Truffle is just a library, so we > > can ignore that for the moment (given any JVM, you can run a Truffle > > language). > > > > Graal is required for Truffle to perform well at all. The Truffle > > interpreter is without a doubt the slowest interpreter we've ever had > > for JRuby, and that's saying something (there could be startup/warmup > > effects in play here too). In order for us to go 100% Truffle, we'd > > need a Graal VM. That limits us to either pre-release or hand-made > > builds of Graal/OpenJDK. Even if Graal somehow did get into Java 9, > > we'd still have legions of users on 8, 7, ... even 6 in some cases, > > though we're probably leaving them behind with JRuby 9000. Ignoring > > other platforms (non-OpenJDK, Android) and assuming Graal in Java 9, > > I'd conservatively estimate JRuby could still not go 100% Truffle > > until 2017 or later. > > > > And it gets worse. Graal will probably never exist on other JVMs. > > Graal will probably never exist in an Android VM. Graal may not even > > be available in other non-Oracle OpenJDK derivatives for a very long > > time. We have users on dozens of different platform/JVM combinations, > > so there's really no practical way for us to abandon our JVM bytecode > > runtimes in the near future. > > > > Now of course if Graal became essential to users, it would be > > available in more places. We recognize the potential of Truffle and > > Graal, which is why we've been thrilled to work with Oracle on a > > RubyTruffle that's part of JRuby. We also recognize that the > > Truffle/Graal approach has some very compelling features for our > > users, and that our users may often be comfortable running custom > > JVMs. We're allowing all flowers to bloom and our users will pick the > > ones that work for them. > > > > 5. Unclear benefits for real-world applications > > > > There have been many published microbenchmarks for Truffle-based > > languages, but very few benchmarks of real-world applications > > performing significantly better than custom-made VMs (JS versus V8). > > There have been practically no studies of a Truffle-based language > > running a large application for a long period of time...and by long I > > mean server-scale. > > > > Chris Seaton has pushed this forward recently for Ruby, getting > > general-purpose, numeric-heavy libraries to run and optimize very well > > (a png library and a psd library). Going deeper requires having more > > of the language's standard libraries to be available, and I believe > > this is where Chris has spent much of his time (RubyTruffle currently > > requires mostly-custom versions of JRuby's core classes...versions > > that Truffle can recognize, specialize, and escape-analyze away). > > > > * Conclusion > > > > I again want to emphasize that we think Truffle and Graal are really > > awesome technology. I spent years with my nose smooshed against the > > glass, watching the Pypy guys add optimizations I wanted and make good > > on their promise of "just implement an interpreter...we'll do the > > rest". Finally we have what I wanted: a Pypy for JVM (in Truffle) and > > an LLVM for JVM (in Graal). These are exciting times indeed. > > > > But reality steps in. There's a long road ahead. > > > > I think we need to separate the questions about Truffle from questions > > about Graal. Truffle is ultimately just a library that uses Graal. > > > > Graal is promising JIT technology. Graal is simpler than C2 and may be > > able to match or beat its performance. Graal provides a better way to > > communicate intent to the JIT. These facts are not in question. > > > > However, Graal is not (other than when used as the JVM's JIT) a JVM. > > Targeting Graal directly acts against the promise of a standard, > > platform-and-VM-agnostic bytecode -- and that's the promise that > > brought most of us here. Graal is not yet ready to replace C2, which > > would mean adding to the size and complexity of Java 9. And Graal is > > almost completely untested in large production settings. > > > > I personally would love to see Graal get into a Java release soon as > > an experimental feature, but Java 9 seems ambitious but any standard. > > It *might* be possible/reasonable to include Graal as experimental in > > 9. Java 10 is certainly feasible for experimental, and may be feasible > > for product. But even if Graal got into mainstream OpenJDK and Java, > > there's a very long adoption tail ahead. > > > > I'd like to hear more from folks on the Graal and Truffle teams. Prove > > me wrong :-) > > > > - Charlie > > _______________________________________________ > > mlvm-dev mailing list > > mlvm-dev at openjdk.java.net > > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > > From thezhangwei at gmail.com Thu Oct 2 18:59:39 2014 From: thezhangwei at gmail.com (Wei Zhang) Date: Thu, 2 Oct 2014 11:59:39 -0700 Subject: Recent Truffle DSL changes. In-Reply-To: References: <54D3BDC5-2312-4542-946B-AE0866F6D57E@stefan-marr.de> <66A57E3F-2A78-497A-90F4-7456912E3520@stefan-marr.de> <847832FA-2522-4A37-B3FC-75F0FC742739@stefan-marr.de> Message-ID: Hi Christian, Thanks for your explanation. If I go back to using @ImplicitCast then we reopen the old discussion we had a while ago... Thing is @ImplicitCast makes specialization ambiguous as you suggested. Say an AddNode taking a boolean and an int is specialized to doInt(int, int). If the boolean became an int, the AddNode rewrite itself by looking for a match from the *next* specialization available. Consequently it will rewrite to doBigInteger, which is kind of wrong... But for my case I guess I could only enable @ImplicitCast from boolean to int. That should do it. Just want to remind you a perhaps better way to implement type coercion using Truffle DSL is very desirable ;). Thanks, On Thu, Oct 2, 2014 at 6:55 AM, Christian Humer wrote: > Hi Wei, > > > Yes. The rewriteOn feature got bit more restrictive with the new version. > The requirement os that the next specialization must be strictly more > generic than the specialization that uses rewritesOn. This requirement also > takes into account implicit casts. For example if there is an implicit cast > boolean to int. You can do the following: > > > @Specialization(rewriteOn=Exception.class) int doBoolean(boolean operand) > {...} > @Specialization int doInt(int operand) {...} > > > > But if there is no implicit cast (like it is the case for your AddNode) you > need to do the following: > > @Specialization(rewriteOn=Exception.class) int doBoolean(boolean operand) > {...} > @Specialization int doBooleanNoOverflow(boolean operand) {...} > @Specialization int doInt(int operand) {...} > > > I'd recommend you to add an implicit cast boolean -> int and define the > specializations as follows: > > @Specialization > int doBoolean(boolean left, boolean right) { > final int leftInt = left ? 1 : 0; > final int rightInt = right ? 1 : 0; > return leftInt + rightInt; > } > > @Specialization(rewriteOn = ArithmeticException.class) > int doInteger(int left, int right) { > return ExactMath.addExact(left, right); > } > > I'd like to add that the new DSL version guarantees that the doBoolean > specialization is always used if you get two boolean values as input. > Previously the doInteger might also have been used in polymorphic cases. > This is now fixed. > > Without implicit casts this definition gets quite cumbersome (previous > definition also had its problems but the old DSL did not complain). To > resolve it you need to define a follow up specialization with the same > signature but without rewriteOn like I already described with my second > example. > > After enabling all the implicit casts that were already defined in > PythonTypes, I had these specializations left for the numeric types: > > @Specialization > int doBoolean(boolean left, boolean right) { > final int leftInt = left ? 1 : 0; > final int rightInt = right ? 1 : 0; > return leftInt + rightInt; > } > > @Specialization(rewriteOn = ArithmeticException.class) > int doInteger(int left, int right) { > return ExactMath.addExact(left, right); > } > > @Specialization > BigInteger doBigInteger(BigInteger left, BigInteger right) { > return left.add(right); > } > > @Specialization > double doDouble(double left, double right) { > return left + right; > } > > @Specialization > PComplex doComplex(PComplex left, PComplex right) { > return left.add(right); > } > > I think this is as good as it gets. All the combination of types are now > implicetly there. > > Let me know if this helps. > > > > - Christian Humer > > On Thu, Oct 2, 2014 at 12:58 AM, Wei Zhang wrote: > >> Hi Christian, >> >> I finally merged with graal-0.5... It was very smooth. >> But I did run into one issue. >> >> >> https://bitbucket.org/ssllab/zippy/src/cd9ba144cc20c30181f5314584e148ea38e1fa45/graal/edu.uci.python.nodes/src/edu/uci/python/nodes/expression/BinaryArithmeticNode.java?at=default >> After merge in the AddNode of ZipPy, if I have multiple consecutive >> specializations with the rewriteOn attribute specified to >> ArithmeticException.class, the DSL processor complains. >> I currently disabled rewriteOn exception for doIntBoolean() and >> doBooleanInt in AddNode to get around the error. >> If I put them back on I get the following error msg: >> This specialiation is not a valid exceptional rewrite target for >> doBooleanInt(boolean, int). To fix this make doInteger(int, int) >> compatible to doBooleanInt(boolean, int) or remove the exceptional >> rewrite. >> >> Any though? >> >> Thanks, >> >> On Thu, Sep 18, 2014 at 10:00 AM, Stefan Marr wrote: >> > Hi Christian: >> > >> > On 18 Sep 2014, at 18:09, Christian Humer >> wrote: >> > >> >> Unfortunately there is no way to resolve this yet. But I am aware of >> that problem. We could do this if we declare a hint where to rewrite to >> next from all compatible specializations. Its on my TODO list.I already >> talked to Andreas a few weeks ago and we also should not use rewrite by >> exception for local variables. So we might invent a new pattern for that. >> > >> > Ok, I?ll keep it on my todo list as well. >> > >> > >> >> Yes this needs to be done at specialization level. The DSL >> implementation does this on this level (with my patch). All the inline >> cache implementation need to do the same. This is why we currently expose >> the "atomic(Callable)" API. Also nodes should not be respecialized twice as >> you mentioned. Instead they should be copied. >> > >> > Will probably not get to making TruffleSOM thread-safe this week. >> > But, I was wondering how the API could help me to know that I am doing >> something in a way I shouldn?t do it. >> > >> > How about adding a ReentrantLock object to the root node, removing the >> implicit lock acquisition from replace(), and instead putting an assertion >> on isHeldByCurrentThread() in there? I realize that it might be slightly >> inconvenient. But, it would make it explicit to the language implementer >> that one has to look out for those things. >> > As a compromise, a replaceLocked(.) could be introduced. >> > Generally, I would also prefer if the method names would tell me >> something about the concurrency properties. >> > >> > Another thing I was wondering about is whether some of those concepts in >> DSLShare could be promoted for general use. It kind of represents good >> standard practices, right? >> > And even if one needs to step outside the DSL, I presume the general >> structuring and concepts would still help to implement custom things. I was >> thinking about the notion of ?uninitialized? and the find and rewrite >> helper methods, for instance. >> > >> > Best regards >> > Stefan >> > >> > -- >> > Stefan Marr >> > INRIA Lille - Nord Europe >> > http://stefan-marr.de/research/ >> > >> > >> > >> From christian.humer at gmail.com Thu Oct 2 21:34:52 2014 From: christian.humer at gmail.com (Christian Humer) Date: Thu, 2 Oct 2014 23:34:52 +0200 Subject: Recent Truffle DSL changes. In-Reply-To: References: <54D3BDC5-2312-4542-946B-AE0866F6D57E@stefan-marr.de> <66A57E3F-2A78-497A-90F4-7456912E3520@stefan-marr.de> <847832FA-2522-4A37-B3FC-75F0FC742739@stefan-marr.de> Message-ID: On Thu, Oct 2, 2014 at 8:59 PM, Wei Zhang wrote: > Thing is @ImplicitCast makes specialization ambiguous as you suggested. > > Say an AddNode taking a boolean and an int is specialized to doInt(int, > int). > If the boolean became an int, the AddNode rewrite itself by looking > for a match from the *next* specialization available. > Consequently it will rewrite to doBigInteger, which is kind of wrong... > Probably I made myself not really clear in my last email. That is exactly what I fixed with this new version of the DSL. Its not the *next* specialization that is used anymore. It now always looks top to bottom for any state of the operation. - Christian Humer From thezhangwei at gmail.com Thu Oct 2 21:44:03 2014 From: thezhangwei at gmail.com (Wei Zhang) Date: Thu, 2 Oct 2014 14:44:03 -0700 Subject: Recent Truffle DSL changes. In-Reply-To: References: <54D3BDC5-2312-4542-946B-AE0866F6D57E@stefan-marr.de> <66A57E3F-2A78-497A-90F4-7456912E3520@stefan-marr.de> <847832FA-2522-4A37-B3FC-75F0FC742739@stefan-marr.de> Message-ID: Ahh... I see. Now I can remove some of the specializations that is not necessary anymore. Thanks, On Thu, Oct 2, 2014 at 2:34 PM, Christian Humer wrote: > On Thu, Oct 2, 2014 at 8:59 PM, Wei Zhang wrote: > >> Thing is @ImplicitCast makes specialization ambiguous as you suggested. >> >> Say an AddNode taking a boolean and an int is specialized to doInt(int, >> int). >> If the boolean became an int, the AddNode rewrite itself by looking >> for a match from the *next* specialization available. >> Consequently it will rewrite to doBigInteger, which is kind of wrong... >> > > Probably I made myself not really clear in my last email. That is exactly > what I fixed with this new version of the DSL. Its not the *next* > specialization that is used anymore. It now always looks top to bottom for > any state of the operation. > > > - Christian Humer From doug.simon at oracle.com Fri Oct 3 01:00:06 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Fri, 03 Oct 2014 01:00:06 +0000 Subject: hg: graal/graal: 8 new changesets Message-ID: <201410030100.s93106mb010553@aojmv0008> Changeset: d6e4c9031ff6 Author: Christian Humer Date: 2014-10-02 10:36 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d6e4c9031ff6 Truffle: fixed OptimizedCallTarget.callDirect was marked as not inlinable even if context sensitive inlining was not used. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java Changeset: 3b6759c384a9 Author: Roland Schatz Date: 2014-10-02 10:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3b6759c384a9 Introduce emitLoadConstant in LIRGeneratorTool. ! graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java ! graal/com.oracle.graal.compiler.hsail/src/com/oracle/graal/compiler/hsail/HSAILLIRGenerator.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGeneratorTool.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java Changeset: 979bf76f0fe3 Author: Christian Humer Date: 2014-10-02 13:13 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/979bf76f0fe3 Truffle: fixed passed wrong arguments to the frame in callBoundary. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Changeset: e6e678c3818f Author: Doug Simon Date: 2014-10-02 14:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e6e678c3818f only generate data fields equality method for leaf ValueNumberable nodes; no longer generate Node.isLeafNode() ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java Changeset: f434913f9cba Author: Bernhard Urban Date: 2014-10-02 05:23 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f434913f9cba mx: buildvms should inherit verbosity ! mx/mx_graal.py Changeset: c75bb9cd1994 Author: Bernhard Urban Date: 2014-10-02 06:33 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c75bb9cd1994 mx: force installation of distrubtion on windows on other platforms, the HotSpot Makefile calls back to mx in order to install the JARs ! mx/mx_graal.py Changeset: 57b6965524a2 Author: Doug Simon Date: 2014-10-02 06:35 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/57b6965524a2 graal init: fail if Factory class cannot be resolved ! src/share/vm/graal/graalRuntime.cpp Changeset: 3c39e028b931 Author: Bernhard Urban Date: 2014-10-02 08:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3c39e028b931 mx: convert path for unittest file on cygwin ! mx/mx_graal.py From headius at headius.com Fri Oct 3 20:02:49 2014 From: headius at headius.com (Charles Oliver Nutter) Date: Fri, 3 Oct 2014 13:02:49 -0700 Subject: Truffle and mlvm In-Reply-To: References: Message-ID: Congrats on the fun gig, Benoit! Your goals sound like good ones. If there's potential to get lightweight coroutines, that could be a huge advantage for the truffle approach. We are also interested in pushing harder to share more impl between RubyTruffle and JRuby. This may mean pulling common code out to shared utilities, or converging the two core class hierarchies in some way. Glad to have you on board (again)...and how convenient: you were already a committer too :-D - Charlie (mobile) On Oct 2, 2014 7:57 AM, "Benoit Daloze" wrote: > Hello Charles and Thomas, > > On 31 August 2014 00:04, Thomas Wuerthinger > > wrote: > > > Thanks a lot, Charlie, for this very detailed feedback! In fact, this is > > probably the most comprehensive feedback we?ve received for Truffle so > far > > :). > > > > There are some valid points, some points where I?d like to add a comment, > > and some where Graal and Truffle may have been misunderstood. I?ll try to > > address them in a similarly structured form: > > > > Regarding disadvantage 1 ?AST is not enough?: > > A. Yes, you need to provide specialisations for your operations for > better > > performance. This makes it harder to implement a Truffle AST interpreter > > than a simple AST interpreter. It has however the advantage that it gives > > you more predictable performance for the different usages of your dynamic > > language operation. We are currently working on source code > visualisations > > for Truffle ASTs so that users can see what nodes are specialised and to > > what types. > > B. Yes, it is necessary to store your local variables in a Truffle frame > > object. This object can however contain pointers to arbitrary extra data > > necessary for your guest language. > > C. We did a lot of improvements to Truffle, Graal, and also TruffleRuby > > since January. Inlining works without any problems and independent of the > > guest language, also in TruffleRuby. > > > > Regarding disadvantage 2 ?Long startup and warmup times?: > > The benefit of the system is absolutely *not* lost when the compiler > > (Graal) and the Truffle guest language interpreter are AOT compiled. It > > gives you decent startup and high peak. The interpreter is immediately > > available in highly optimized machine code. Hot guest language methods > are > > dynamically compiled to machine code by the precompiled Graal. > > > > Regarding disadvantage 3 ?Limited concurrency?: > > There is no deeper reason why TruffleRuby is single threaded right now. > > For sure none that has to do with the fundamentals of the Truffle > approach. > > We are planning to support 100% multi-threading also in TruffleRuby. One > of > > the explorations we are currently doing is to support guest language > level > > safepoints such that guest language developers themselves can easier deal > > with concurrency without compromising any peak performance. > > > > I plan to work on concurrency in Truffle during my PhD in Linz. > Making Truffle thread-safe is a priority and some work is already done for > AST replacements. > I am also interested in supporting different concurrency primitives such as > threads and fibers for the guest languages. > > Benoit > > Regarding disadvantage 4 ?Limited availability?: > > Yes, this is indeed a chicken and egg problem. Truffle is however not as > > closely tied to Graal as you suggest here. I believe that it is fairly > > straightforward to create a Truffle front-end for C2 (or any other > compiler > > supporting deoptimization). There are only 3k LOC in Graal that are > > specific to Truffle. I think that they could be ported in a reasonable > time > > frame. The Truffle interpreters themselves run on any Java system even if > > it has only very limited features - this is actually an advantage over a > > pure bytecode generation approach. They can also be AOT compiled for > > devices that do not support a full JVM and have strong footprint > > requirements. This would of course be slower execution than in a full > > fledged VM, but it would at least run correctly. I furthermore think that > > it is possible to do the Truffle partial evaluation via bytecode > generation > > for backwards compatibility. > > > > Regarding disadvantage 5 "Unclear benefits for real-world applications?: > > This kind of argument can hardly be countered before a system is 100% > > finished and shipped. The term ?real world? is also somewhat loosely > > defined. I would very much support the development of a JRuby benchmark > > suite that tries to reflect ?real world? as close as possible. > > There is absolutely no reason to believe that a Truffle-based Ruby > > implementation would not have benefits for ?real-world applications?. Or > > that it would not be able to run a large application for a long time. It > is > > clear that the TruffleRuby prototype needs more completeness work both at > > the language and the library level. We are very happy with the results we > > got so far with Chris working for about a year. We are planning to > increase > > the number of people working on this, and would also be grateful for any > > help we can get from the Ruby community. > > > > Regarding Graal: Did you ever try to benchmark JRuby without Truffle > with > > the latest Graal binaries available at > > http://lafo.ssw.uni-linz.ac.at/builds/? We would be looking forward to > > see the peak performance results on a couple of workloads. We are not > > speculating about Graal becoming part of a particular OpenJDK release (as > > experimental or regular option). This is the sovereign decision of the > > OpenJDK community. All we can do is to demonstrate and inform about > Graal?s > > performance and stability. > > > > We recognise that there is a long road ahead. But in particular in this > > context, I would like to emphasize that we are looking for more people to > > support this effort for a new language implementation platform. I > strongly > > believe that Truffle is the best currently available vehicle to make Ruby > > competitive in terms of performance with node.js. We are happy to try to > > *prove* you wrong - even happier about support of any kind along the road > > ;). I am also looking forward to continue this discussion at JavaOne (as > > part of the TruffleRuby session or elsewhere). > > > > Regards, thomas > > > > On 30 Aug 2014, at 21:21, Charles Oliver Nutter > > wrote: > > > > > Removing all context, so it's clear this is just my opinions and > > thoughts... > > > > > > As most of you know, we've opened up our codebase and incorporated the > > > graciously-donated RubyTruffle directly into JRuby. It's available on > > > JRuby master and we are planning to ship Truffle support with JRuby > > > 9000, our next major version (due out in the next couple months). > > > > > > At the same time, we have been developing our own next-gen IR-based > > > compiler, which will run unmodified on any JVM (with or without > > > invokedynamic, though I still have to implement the "without" side). > > > Why are we doing this when Truffle shows such promise? > > > > > > I'll try to enumerate the benefits and problems of Truffle here. > > > > > > * Benefits of using Truffle > > > > > > 1. Simpler implementation. > > > > > > From day 1, the most obvious benefit of Truffle is that you just have > > > to write an AST interpreter. Anyone who has implemented a programming > > > language can do this easily. This specific benefit doesn't help us > > > implement JRuby, since we already have an AST interpreter, but it did > > > make Chris Seaton's job easier building RubyTruffle initially. This > > > also means a Truffle-based language is more approachable than one with > > > a complicated compiler pipeline of its own. > > > > > > 2. Better communication with the JIT. > > > > > > Truffle, via Graal, has potential to pass much more information on to > > > the JIT. Things like type shape, escaped references, frame access, > > > type specialization, and so on can be communicated directly, rather > > > than hoping and praying they'll be inferred by the shape of bytecodes. > > > This is probably the largest benefit; much of my time optimizing JRuby > > > has been spend trying to "trick" C2 into doing the right thing, since > > > I don't have a direct way to communicate intent. > > > > > > The peak performance numbers for Truffle-based languages have been > > > extremely impressive. If it's possible to get those numbers reasonably > > > quickly and with predictable steady-state behavior in large, > > > heterogeneous codebases, this is definitely the quickest path (on any > > > runtime) to a high-performance language implementation. > > > > > > 3. OSS and pure Java > > > > > > Truffle and Graal are just OpenJDK projects under OpenJDK licenses, > > > and anyone can build, hack, or distribute them. In addition, both > > > Truffle and Graal are 100% Java, so for the first time a plain old > > > Java developer can see (and manipulate) exactly how the JIT works > > > without getting lost in a sea of plus plus. > > > > > > * Problems with Truffle > > > > > > I want to emphasize that regardless of its warts, we love Truffle and > > > Graal and we see great potential here. But we need a dose of reality > > > once in a while, too. > > > > > > 1. AST is not enough. > > > > > > In order to make that AST fly, you can't just implement a dumb generic > > > interpreter. You need to know about (and generously annotate your AST > > > for) many advanced compiler optimization techniques: > > > > > > A. Type specialization plus guarded fallbacks: Truffle will NOT > > > specialize your code for you. You must provide every specialized path > > > in your AST nodes as well as annotating "slow path", "transfer to > > > interpreter", etc. > > > > > > B. Frame access and reification: In order to have cross-call access to > > > frames or to squash frames created for multiple inlined calls, you > > > must use Truffle's representation of a frame. This means loads/stores > > > within your AST must be done against a Truffle object, not against an > > > arbitrary object of your own creation. > > > > > > C. Method invocation and inlining: Up until fairly recently, if you > > > wanted to inline methods you had to essentially build your own call > > > site logic, profiling, deopt paths within your Truffle AST. When I did > > > a little hacking on RubyTruffle around OSS time (December/January) it > > > did *no* inlining of Ruby-to-Ruby calls. I hacked in inlining using > > > existing classes and managed to get it to work, but I was doing all > > > the plumbing myself. I know this has improved in the Truffle codebase > > > since then, but I have my concerns about production readiness when the > > > inlining call site parts of Truffle were just recently added and are > > > still in flux. > > > > > > And there's plenty of other cases. Building a basic language for > > > Truffle is pretty easy (I did a micro-language in about two hours at > > > JVMLS last year), but building a high-performance language for Truffle > > > still takes a fair investment of effort and working knowledge of > > > dynamic compiler optimizations. > > > > > > 2. Long startup and warmup times. > > > > > > As Thomas pointed out in the other thread, because Truffle and Graal > > > are normally run as plain Java libraries, they can actually aggravate > > > startup time issues. Now, not only would all of JRuby have to warm up, > > > but the eventual native code JIT has to warm up too. This is not > > > surprising, really. It is possible to mitigate this by doing some form > > > of AOT against Graal, but for every case I have seen the Truffle/Graal > > > approach makes startup time much, much worse compared to just running > > > atop JVM. > > > > > > Warmup time is also worsened significantly. > > > > > > The AST you create for Truffle must be heavily mutated while running > > > in order to produce a specialized version of that AST. This must > > > happen before the AST is eventually fed into Graal, which means you > > > have a self-modifying interpreter spinning AST objects like mad while > > > executing the early phases of your application. Compare to a dumb > > > interpreter as in JRuby's old AST, where interpreting the AST produces > > > no additional objects other than those necessary for execution of the > > > code. > > > > > > The Truffle approach itself adds overhead too. Until optimized, the > > > fully-reified frame objects, specialization markup (which triggers AST > > > rewriting), deoptimization guards, and so on are all done manually > > > against heap-level data structures. This is in addition to the > > > JVM-level overhead of executing an AST (native frame-per-node, boxing > > > and type-widening, poor inlining profile). > > > > > > Some amount of AOT *might* be applicable here, but the benefit of > > > Truffle and Graal is lost in the AOT case if we're not getting > > > real-world profile information. The Substrate VM has ben brought up to > > > aid startup and warmup too...but that direction produces a > > > closed-world executable based on optimizing all code up front...not > > > exactly what we're looking for in a general-purpose language runtime. > > > > > > 3. Limited concurrency > > > > > > The RubyTruffle runtime currently has to execute code under the > > > watchful eye of a global lock. Yes, you read that right...RubyTruffle > > > is single-threaded right now. > > > > > > I would like to know if there's a deeper reason for this, but the > > > obvious shallow reason is that you can't have multiple threads > > > executing at the same time if they're making thread-unsafe mutations > > > to the executing code. This is similar to the major stumbling block > > > for e.g. Pypy, which rewrites currently-executing assembly > > > instructions at deopt/reopt safe points. > > > > > > I believe once the code has transitioned to native, you can execute > > > that safely across threads...but this is opaque to your Truffle-based > > > language, and it's unclear how you'd manage re-acquiring some sort of > > > lock when transferring back to the interpreter. > > > > > > The fact that concurrency has so far been hand-waved (or so it seems > > > to me from the outside) scares the living hell out of me, especially > > > when there's talk about rolling this stuff into Java 9. > > > > > > Obviously some of this could be mitigated with an immutable AST > > > structure or other thread-friendly tree-transformation algorithm, but > > > making the Truffle AST thread-safe may also make it even more > > > object-heavy during interpretation, aggravating startup time further. > > > > > > 4. Limited availability > > > > > > This is the chicken-and-egg issue. Truffle is just a library, so we > > > can ignore that for the moment (given any JVM, you can run a Truffle > > > language). > > > > > > Graal is required for Truffle to perform well at all. The Truffle > > > interpreter is without a doubt the slowest interpreter we've ever had > > > for JRuby, and that's saying something (there could be startup/warmup > > > effects in play here too). In order for us to go 100% Truffle, we'd > > > need a Graal VM. That limits us to either pre-release or hand-made > > > builds of Graal/OpenJDK. Even if Graal somehow did get into Java 9, > > > we'd still have legions of users on 8, 7, ... even 6 in some cases, > > > though we're probably leaving them behind with JRuby 9000. Ignoring > > > other platforms (non-OpenJDK, Android) and assuming Graal in Java 9, > > > I'd conservatively estimate JRuby could still not go 100% Truffle > > > until 2017 or later. > > > > > > And it gets worse. Graal will probably never exist on other JVMs. > > > Graal will probably never exist in an Android VM. Graal may not even > > > be available in other non-Oracle OpenJDK derivatives for a very long > > > time. We have users on dozens of different platform/JVM combinations, > > > so there's really no practical way for us to abandon our JVM bytecode > > > runtimes in the near future. > > > > > > Now of course if Graal became essential to users, it would be > > > available in more places. We recognize the potential of Truffle and > > > Graal, which is why we've been thrilled to work with Oracle on a > > > RubyTruffle that's part of JRuby. We also recognize that the > > > Truffle/Graal approach has some very compelling features for our > > > users, and that our users may often be comfortable running custom > > > JVMs. We're allowing all flowers to bloom and our users will pick the > > > ones that work for them. > > > > > > 5. Unclear benefits for real-world applications > > > > > > There have been many published microbenchmarks for Truffle-based > > > languages, but very few benchmarks of real-world applications > > > performing significantly better than custom-made VMs (JS versus V8). > > > There have been practically no studies of a Truffle-based language > > > running a large application for a long period of time...and by long I > > > mean server-scale. > > > > > > Chris Seaton has pushed this forward recently for Ruby, getting > > > general-purpose, numeric-heavy libraries to run and optimize very well > > > (a png library and a psd library). Going deeper requires having more > > > of the language's standard libraries to be available, and I believe > > > this is where Chris has spent much of his time (RubyTruffle currently > > > requires mostly-custom versions of JRuby's core classes...versions > > > that Truffle can recognize, specialize, and escape-analyze away). > > > > > > * Conclusion > > > > > > I again want to emphasize that we think Truffle and Graal are really > > > awesome technology. I spent years with my nose smooshed against the > > > glass, watching the Pypy guys add optimizations I wanted and make good > > > on their promise of "just implement an interpreter...we'll do the > > > rest". Finally we have what I wanted: a Pypy for JVM (in Truffle) and > > > an LLVM for JVM (in Graal). These are exciting times indeed. > > > > > > But reality steps in. There's a long road ahead. > > > > > > I think we need to separate the questions about Truffle from questions > > > about Graal. Truffle is ultimately just a library that uses Graal. > > > > > > Graal is promising JIT technology. Graal is simpler than C2 and may be > > > able to match or beat its performance. Graal provides a better way to > > > communicate intent to the JIT. These facts are not in question. > > > > > > However, Graal is not (other than when used as the JVM's JIT) a JVM. > > > Targeting Graal directly acts against the promise of a standard, > > > platform-and-VM-agnostic bytecode -- and that's the promise that > > > brought most of us here. Graal is not yet ready to replace C2, which > > > would mean adding to the size and complexity of Java 9. And Graal is > > > almost completely untested in large production settings. > > > > > > I personally would love to see Graal get into a Java release soon as > > > an experimental feature, but Java 9 seems ambitious but any standard. > > > It *might* be possible/reasonable to include Graal as experimental in > > > 9. Java 10 is certainly feasible for experimental, and may be feasible > > > for product. But even if Graal got into mainstream OpenJDK and Java, > > > there's a very long adoption tail ahead. > > > > > > I'd like to hear more from folks on the Graal and Truffle teams. Prove > > > me wrong :-) > > > > > > - Charlie > > > _______________________________________________ > > > mlvm-dev mailing list > > > mlvm-dev at openjdk.java.net > > > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > > > > > From doug.simon at oracle.com Sat Oct 4 01:00:07 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Sat, 04 Oct 2014 01:00:07 +0000 Subject: hg: graal/graal: 18 new changesets Message-ID: <201410040100.s941088d022188@aojmv0008> Changeset: 95b879bdce67 Author: Doug Simon Date: 2014-10-03 11:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/95b879bdce67 mx: added -XX:-UseGraalClassLoader to JMH executions ! mx/mx_graal.py Changeset: 8a2a809110ba Author: Josef Eisl Date: 2014-10-03 11:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8a2a809110ba Add ValuePositionTest3 to test ValuePosition.getFlags(). + graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest3.java Changeset: 5d4749f9c5f6 Author: Josef Eisl Date: 2014-10-03 13:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5d4749f9c5f6 merge ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest3.java - graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InstructionValueProcedureBase.java Changeset: 012277a579ca Author: Josef Eisl Date: 2014-10-03 13:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/012277a579ca LIRIntrospection: pass the right Values to ValuePositions. ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java Changeset: cd3d56423261 Author: Josef Eisl Date: 2014-10-03 13:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cd3d56423261 ValuePosition: restrict access. ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePosition.java Changeset: 0b8483cd42c0 Author: Josef Eisl Date: 2014-10-03 14:34 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0b8483cd42c0 ValuePosition: add documentation. ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePosition.java Changeset: 655f3e6b467b Author: Doug Simon Date: 2014-10-03 14:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/655f3e6b467b made all Node data (i.e. non-edge) fields non-final and protected to support generating a copy "constructor" using Unsafe.allocateInstance ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/Fields.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MonitorGraphTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Edges.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeList.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeSuccessorList.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotDebugInfoBuilder.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractLocalNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java ! 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/InfopointNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConstantNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoweredCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryMapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AbstractWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MembarNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.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/CompareAndSwapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.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 ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java ! graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/ObjectAccessTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/PointerTest.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java Changeset: c9bb0da795d4 Author: Doug Simon Date: 2014-10-03 14:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c9bb0da795d4 Backed out of changeset 17322:655f3e6b467b ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/Fields.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MonitorGraphTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Edges.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeList.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeSuccessorList.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotNodeLIRBuilder.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotDebugInfoBuilder.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractFixedGuardNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractLocalNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java ! 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/InfopointNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConstantNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoweredCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryMapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AbstractWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MembarNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.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/CompareAndSwapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.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 ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java ! graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/ObjectAccessTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/PointerTest.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java Changeset: 1e7e354e407f Author: Doug Simon Date: 2014-10-03 15:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1e7e354e407f use Unsafe.allocateInstance in Node.clone(Graph into, boolean clearInputsAndSuccessors) to avoid initializing fields twice ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/Fields.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Edges.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeSuccessorList.java Changeset: 106f78219955 Author: Doug Simon Date: 2014-10-03 15:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/106f78219955 Merge. Changeset: 7b6e829e995a Author: Christian Humer Date: 2014-10-03 16:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7b6e829e995a Truffle: improve inlining performance warnings. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedDirectCallNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Changeset: 6e590e01ecf9 Author: Christian Humer Date: 2014-10-03 16:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6e590e01ecf9 Truffle: make preliminary inlining decisions with the best possible characteristics to avoid the exploration of unneccessary pathes in the inlining tree for context sensitive inlining. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/ContextSensitiveInlining.java Changeset: fa821ca2611a Author: Tom Rodriguez Date: 2014-10-02 10:54 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/fa821ca2611a Cache converted classfile name in debug mode ! graal/com.oracle.graal.debug/src/com/oracle/graal/debug/Debug.java Changeset: 0563b652c052 Author: Tom Rodriguez Date: 2014-10-02 10:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0563b652c052 Unify parsing of graal and hotspot Stable annotations ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/vmSymbols.hpp Changeset: 508e88b5f1d3 Author: Tom Rodriguez Date: 2014-10-02 10:59 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/508e88b5f1d3 Don't hang onto code install references after install finished ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalCodeInstaller.hpp Changeset: 329eee851ee1 Author: Tom Rodriguez Date: 2014-10-03 09:56 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/329eee851ee1 Merge Changeset: 8043c997764d Author: Christian Humer Date: 2014-10-03 23:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8043c997764d Truffle: fix dump output for truffle compilations. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleTreeDumpHandler.java Changeset: 1778c3208bc5 Author: Doug Simon Date: 2014-10-04 01:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1778c3208bc5 reduce or eliminate redundant writes during Node cloning ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Edges.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java From doug.simon at oracle.com Sun Oct 5 01:00:05 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Sun, 05 Oct 2014 01:00:05 +0000 Subject: hg: graal/graal: disabled use of Unsafe.allocateInstance based mechanism for Node cloning (to measure impact on compile-time benchmarks) Message-ID: <201410050100.s95106kS018382@aojmv0008> Changeset: 43cd0fc25ccb Author: Doug Simon Date: 2014-10-04 01:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/43cd0fc25ccb disabled use of Unsafe.allocateInstance based mechanism for Node cloning (to measure impact on compile-time benchmarks) ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java From thomas.wuerthinger at oracle.com Sun Oct 5 11:04:54 2014 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Sun, 5 Oct 2014 04:04:54 -0700 Subject: Truffle and mlvm In-Reply-To: References: Message-ID: Welcome to the team of compiler wizardry students at JKU Linz! Reading through all the productisation concerns and adoption issues in this thread is probably not a good starting point for your PhD. Thinking primarily about opportunities and blinding out problems is the only way to make larger steps forward without getting distracted. Enjoy the time while you have the privilege to do so :). - thomas On 02 Oct 2014, at 07:26, Benoit Daloze wrote: > I plan to work on concurrency in Truffle during my PhD in Linz. > Making Truffle thread-safe is a priority and some work is already done for AST replacements. > I am also interested in supporting different concurrency primitives such as threads and fibers for the guest languages. > > Benoit From doug.simon at oracle.com Mon Oct 6 08:58:41 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Mon, 06 Oct 2014 08:58:41 +0000 Subject: hg: graal/graal: 3 new changesets Message-ID: <201410060858.s968wg7T022345@aojmv0008> Changeset: 53e91025205f Author: Lukas Stadler Date: 2014-10-06 09:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/53e91025205f don't skip ValueProxy nodes while looking for ArrayLengthProviders ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicObjectCloneNode.java Changeset: e3f3233ec6cd Author: Lukas Stadler Date: 2014-10-06 09:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e3f3233ec6cd refactor BailoutException to include information about non-permanent errors ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/BailoutException.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/OnStackReplacementPhase.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/AbstractBytecodeParser.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IterativeConditionalEliminationPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/IterativeFlowSensitiveReductionPhase.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Changeset: a690ca62772c Author: Lukas Stadler Date: 2014-10-06 09:46 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a690ca62772c add array length information in PartialEvaluator before expanding @ExplodeLoop ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java From tom.enebo at gmail.com Mon Oct 6 15:13:43 2014 From: tom.enebo at gmail.com (Thomas E Enebo) Date: Mon, 6 Oct 2014 08:13:43 -0700 Subject: Truffle and mlvm In-Reply-To: References: Message-ID: Benoit, Always a pleasure working with you :) If you have any questions or need assistance you can IM me or talk on #jruby on irc. Concurrency in Ruby+Truffle is a pretty big missing item; so it will be great to see this implemented. -Tom On Thu, Oct 2, 2014 at 7:26 AM, Benoit Daloze wrote: > Hello Charles and Thomas, > > On 31 August 2014 00:04, Thomas Wuerthinger > wrote: > >> Thanks a lot, Charlie, for this very detailed feedback! In fact, this is >> probably the most comprehensive feedback we?ve received for Truffle so far >> :). >> >> There are some valid points, some points where I?d like to add a comment, >> and some where Graal and Truffle may have been misunderstood. I?ll try to >> address them in a similarly structured form: >> >> Regarding disadvantage 1 ?AST is not enough?: >> A. Yes, you need to provide specialisations for your operations for >> better performance. This makes it harder to implement a Truffle AST >> interpreter than a simple AST interpreter. It has however the advantage >> that it gives you more predictable performance for the different usages of >> your dynamic language operation. We are currently working on source code >> visualisations for Truffle ASTs so that users can see what nodes are >> specialised and to what types. >> B. Yes, it is necessary to store your local variables in a Truffle frame >> object. This object can however contain pointers to arbitrary extra data >> necessary for your guest language. >> C. We did a lot of improvements to Truffle, Graal, and also TruffleRuby >> since January. Inlining works without any problems and independent of the >> guest language, also in TruffleRuby. >> >> Regarding disadvantage 2 ?Long startup and warmup times?: >> The benefit of the system is absolutely *not* lost when the compiler >> (Graal) and the Truffle guest language interpreter are AOT compiled. It >> gives you decent startup and high peak. The interpreter is immediately >> available in highly optimized machine code. Hot guest language methods are >> dynamically compiled to machine code by the precompiled Graal. >> >> Regarding disadvantage 3 ?Limited concurrency?: >> There is no deeper reason why TruffleRuby is single threaded right now. >> For sure none that has to do with the fundamentals of the Truffle approach. >> We are planning to support 100% multi-threading also in TruffleRuby. One of >> the explorations we are currently doing is to support guest language level >> safepoints such that guest language developers themselves can easier deal >> with concurrency without compromising any peak performance. >> > > I plan to work on concurrency in Truffle during my PhD in Linz. > Making Truffle thread-safe is a priority and some work is already done for > AST replacements. > I am also interested in supporting different concurrency primitives such > as threads and fibers for the guest languages. > > Benoit > > Regarding disadvantage 4 ?Limited availability?: >> Yes, this is indeed a chicken and egg problem. Truffle is however not as >> closely tied to Graal as you suggest here. I believe that it is fairly >> straightforward to create a Truffle front-end for C2 (or any other compiler >> supporting deoptimization). There are only 3k LOC in Graal that are >> specific to Truffle. I think that they could be ported in a reasonable time >> frame. The Truffle interpreters themselves run on any Java system even if >> it has only very limited features - this is actually an advantage over a >> pure bytecode generation approach. They can also be AOT compiled for >> devices that do not support a full JVM and have strong footprint >> requirements. This would of course be slower execution than in a full >> fledged VM, but it would at least run correctly. I furthermore think that >> it is possible to do the Truffle partial evaluation via bytecode generation >> for backwards compatibility. >> >> Regarding disadvantage 5 "Unclear benefits for real-world applications?: >> This kind of argument can hardly be countered before a system is 100% >> finished and shipped. The term ?real world? is also somewhat loosely >> defined. I would very much support the development of a JRuby benchmark >> suite that tries to reflect ?real world? as close as possible. >> There is absolutely no reason to believe that a Truffle-based Ruby >> implementation would not have benefits for ?real-world applications?. Or >> that it would not be able to run a large application for a long time. It is >> clear that the TruffleRuby prototype needs more completeness work both at >> the language and the library level. We are very happy with the results we >> got so far with Chris working for about a year. We are planning to increase >> the number of people working on this, and would also be grateful for any >> help we can get from the Ruby community. >> >> Regarding Graal: Did you ever try to benchmark JRuby without Truffle >> with the latest Graal binaries available at >> http://lafo.ssw.uni-linz.ac.at/builds/? We would be looking forward to >> see the peak performance results on a couple of workloads. We are not >> speculating about Graal becoming part of a particular OpenJDK release (as >> experimental or regular option). This is the sovereign decision of the >> OpenJDK community. All we can do is to demonstrate and inform about Graal?s >> performance and stability. >> >> We recognise that there is a long road ahead. But in particular in this >> context, I would like to emphasize that we are looking for more people to >> support this effort for a new language implementation platform. I strongly >> believe that Truffle is the best currently available vehicle to make Ruby >> competitive in terms of performance with node.js. We are happy to try to >> *prove* you wrong - even happier about support of any kind along the road >> ;). I am also looking forward to continue this discussion at JavaOne (as >> part of the TruffleRuby session or elsewhere). >> >> Regards, thomas >> >> On 30 Aug 2014, at 21:21, Charles Oliver Nutter >> wrote: >> >> > Removing all context, so it's clear this is just my opinions and >> thoughts... >> > >> > As most of you know, we've opened up our codebase and incorporated the >> > graciously-donated RubyTruffle directly into JRuby. It's available on >> > JRuby master and we are planning to ship Truffle support with JRuby >> > 9000, our next major version (due out in the next couple months). >> > >> > At the same time, we have been developing our own next-gen IR-based >> > compiler, which will run unmodified on any JVM (with or without >> > invokedynamic, though I still have to implement the "without" side). >> > Why are we doing this when Truffle shows such promise? >> > >> > I'll try to enumerate the benefits and problems of Truffle here. >> > >> > * Benefits of using Truffle >> > >> > 1. Simpler implementation. >> > >> > From day 1, the most obvious benefit of Truffle is that you just have >> > to write an AST interpreter. Anyone who has implemented a programming >> > language can do this easily. This specific benefit doesn't help us >> > implement JRuby, since we already have an AST interpreter, but it did >> > make Chris Seaton's job easier building RubyTruffle initially. This >> > also means a Truffle-based language is more approachable than one with >> > a complicated compiler pipeline of its own. >> > >> > 2. Better communication with the JIT. >> > >> > Truffle, via Graal, has potential to pass much more information on to >> > the JIT. Things like type shape, escaped references, frame access, >> > type specialization, and so on can be communicated directly, rather >> > than hoping and praying they'll be inferred by the shape of bytecodes. >> > This is probably the largest benefit; much of my time optimizing JRuby >> > has been spend trying to "trick" C2 into doing the right thing, since >> > I don't have a direct way to communicate intent. >> > >> > The peak performance numbers for Truffle-based languages have been >> > extremely impressive. If it's possible to get those numbers reasonably >> > quickly and with predictable steady-state behavior in large, >> > heterogeneous codebases, this is definitely the quickest path (on any >> > runtime) to a high-performance language implementation. >> > >> > 3. OSS and pure Java >> > >> > Truffle and Graal are just OpenJDK projects under OpenJDK licenses, >> > and anyone can build, hack, or distribute them. In addition, both >> > Truffle and Graal are 100% Java, so for the first time a plain old >> > Java developer can see (and manipulate) exactly how the JIT works >> > without getting lost in a sea of plus plus. >> > >> > * Problems with Truffle >> > >> > I want to emphasize that regardless of its warts, we love Truffle and >> > Graal and we see great potential here. But we need a dose of reality >> > once in a while, too. >> > >> > 1. AST is not enough. >> > >> > In order to make that AST fly, you can't just implement a dumb generic >> > interpreter. You need to know about (and generously annotate your AST >> > for) many advanced compiler optimization techniques: >> > >> > A. Type specialization plus guarded fallbacks: Truffle will NOT >> > specialize your code for you. You must provide every specialized path >> > in your AST nodes as well as annotating "slow path", "transfer to >> > interpreter", etc. >> > >> > B. Frame access and reification: In order to have cross-call access to >> > frames or to squash frames created for multiple inlined calls, you >> > must use Truffle's representation of a frame. This means loads/stores >> > within your AST must be done against a Truffle object, not against an >> > arbitrary object of your own creation. >> > >> > C. Method invocation and inlining: Up until fairly recently, if you >> > wanted to inline methods you had to essentially build your own call >> > site logic, profiling, deopt paths within your Truffle AST. When I did >> > a little hacking on RubyTruffle around OSS time (December/January) it >> > did *no* inlining of Ruby-to-Ruby calls. I hacked in inlining using >> > existing classes and managed to get it to work, but I was doing all >> > the plumbing myself. I know this has improved in the Truffle codebase >> > since then, but I have my concerns about production readiness when the >> > inlining call site parts of Truffle were just recently added and are >> > still in flux. >> > >> > And there's plenty of other cases. Building a basic language for >> > Truffle is pretty easy (I did a micro-language in about two hours at >> > JVMLS last year), but building a high-performance language for Truffle >> > still takes a fair investment of effort and working knowledge of >> > dynamic compiler optimizations. >> > >> > 2. Long startup and warmup times. >> > >> > As Thomas pointed out in the other thread, because Truffle and Graal >> > are normally run as plain Java libraries, they can actually aggravate >> > startup time issues. Now, not only would all of JRuby have to warm up, >> > but the eventual native code JIT has to warm up too. This is not >> > surprising, really. It is possible to mitigate this by doing some form >> > of AOT against Graal, but for every case I have seen the Truffle/Graal >> > approach makes startup time much, much worse compared to just running >> > atop JVM. >> > >> > Warmup time is also worsened significantly. >> > >> > The AST you create for Truffle must be heavily mutated while running >> > in order to produce a specialized version of that AST. This must >> > happen before the AST is eventually fed into Graal, which means you >> > have a self-modifying interpreter spinning AST objects like mad while >> > executing the early phases of your application. Compare to a dumb >> > interpreter as in JRuby's old AST, where interpreting the AST produces >> > no additional objects other than those necessary for execution of the >> > code. >> > >> > The Truffle approach itself adds overhead too. Until optimized, the >> > fully-reified frame objects, specialization markup (which triggers AST >> > rewriting), deoptimization guards, and so on are all done manually >> > against heap-level data structures. This is in addition to the >> > JVM-level overhead of executing an AST (native frame-per-node, boxing >> > and type-widening, poor inlining profile). >> > >> > Some amount of AOT *might* be applicable here, but the benefit of >> > Truffle and Graal is lost in the AOT case if we're not getting >> > real-world profile information. The Substrate VM has ben brought up to >> > aid startup and warmup too...but that direction produces a >> > closed-world executable based on optimizing all code up front...not >> > exactly what we're looking for in a general-purpose language runtime. >> > >> > 3. Limited concurrency >> > >> > The RubyTruffle runtime currently has to execute code under the >> > watchful eye of a global lock. Yes, you read that right...RubyTruffle >> > is single-threaded right now. >> > >> > I would like to know if there's a deeper reason for this, but the >> > obvious shallow reason is that you can't have multiple threads >> > executing at the same time if they're making thread-unsafe mutations >> > to the executing code. This is similar to the major stumbling block >> > for e.g. Pypy, which rewrites currently-executing assembly >> > instructions at deopt/reopt safe points. >> > >> > I believe once the code has transitioned to native, you can execute >> > that safely across threads...but this is opaque to your Truffle-based >> > language, and it's unclear how you'd manage re-acquiring some sort of >> > lock when transferring back to the interpreter. >> > >> > The fact that concurrency has so far been hand-waved (or so it seems >> > to me from the outside) scares the living hell out of me, especially >> > when there's talk about rolling this stuff into Java 9. >> > >> > Obviously some of this could be mitigated with an immutable AST >> > structure or other thread-friendly tree-transformation algorithm, but >> > making the Truffle AST thread-safe may also make it even more >> > object-heavy during interpretation, aggravating startup time further. >> > >> > 4. Limited availability >> > >> > This is the chicken-and-egg issue. Truffle is just a library, so we >> > can ignore that for the moment (given any JVM, you can run a Truffle >> > language). >> > >> > Graal is required for Truffle to perform well at all. The Truffle >> > interpreter is without a doubt the slowest interpreter we've ever had >> > for JRuby, and that's saying something (there could be startup/warmup >> > effects in play here too). In order for us to go 100% Truffle, we'd >> > need a Graal VM. That limits us to either pre-release or hand-made >> > builds of Graal/OpenJDK. Even if Graal somehow did get into Java 9, >> > we'd still have legions of users on 8, 7, ... even 6 in some cases, >> > though we're probably leaving them behind with JRuby 9000. Ignoring >> > other platforms (non-OpenJDK, Android) and assuming Graal in Java 9, >> > I'd conservatively estimate JRuby could still not go 100% Truffle >> > until 2017 or later. >> > >> > And it gets worse. Graal will probably never exist on other JVMs. >> > Graal will probably never exist in an Android VM. Graal may not even >> > be available in other non-Oracle OpenJDK derivatives for a very long >> > time. We have users on dozens of different platform/JVM combinations, >> > so there's really no practical way for us to abandon our JVM bytecode >> > runtimes in the near future. >> > >> > Now of course if Graal became essential to users, it would be >> > available in more places. We recognize the potential of Truffle and >> > Graal, which is why we've been thrilled to work with Oracle on a >> > RubyTruffle that's part of JRuby. We also recognize that the >> > Truffle/Graal approach has some very compelling features for our >> > users, and that our users may often be comfortable running custom >> > JVMs. We're allowing all flowers to bloom and our users will pick the >> > ones that work for them. >> > >> > 5. Unclear benefits for real-world applications >> > >> > There have been many published microbenchmarks for Truffle-based >> > languages, but very few benchmarks of real-world applications >> > performing significantly better than custom-made VMs (JS versus V8). >> > There have been practically no studies of a Truffle-based language >> > running a large application for a long period of time...and by long I >> > mean server-scale. >> > >> > Chris Seaton has pushed this forward recently for Ruby, getting >> > general-purpose, numeric-heavy libraries to run and optimize very well >> > (a png library and a psd library). Going deeper requires having more >> > of the language's standard libraries to be available, and I believe >> > this is where Chris has spent much of his time (RubyTruffle currently >> > requires mostly-custom versions of JRuby's core classes...versions >> > that Truffle can recognize, specialize, and escape-analyze away). >> > >> > * Conclusion >> > >> > I again want to emphasize that we think Truffle and Graal are really >> > awesome technology. I spent years with my nose smooshed against the >> > glass, watching the Pypy guys add optimizations I wanted and make good >> > on their promise of "just implement an interpreter...we'll do the >> > rest". Finally we have what I wanted: a Pypy for JVM (in Truffle) and >> > an LLVM for JVM (in Graal). These are exciting times indeed. >> > >> > But reality steps in. There's a long road ahead. >> > >> > I think we need to separate the questions about Truffle from questions >> > about Graal. Truffle is ultimately just a library that uses Graal. >> > >> > Graal is promising JIT technology. Graal is simpler than C2 and may be >> > able to match or beat its performance. Graal provides a better way to >> > communicate intent to the JIT. These facts are not in question. >> > >> > However, Graal is not (other than when used as the JVM's JIT) a JVM. >> > Targeting Graal directly acts against the promise of a standard, >> > platform-and-VM-agnostic bytecode -- and that's the promise that >> > brought most of us here. Graal is not yet ready to replace C2, which >> > would mean adding to the size and complexity of Java 9. And Graal is >> > almost completely untested in large production settings. >> > >> > I personally would love to see Graal get into a Java release soon as >> > an experimental feature, but Java 9 seems ambitious but any standard. >> > It *might* be possible/reasonable to include Graal as experimental in >> > 9. Java 10 is certainly feasible for experimental, and may be feasible >> > for product. But even if Graal got into mainstream OpenJDK and Java, >> > there's a very long adoption tail ahead. >> > >> > I'd like to hear more from folks on the Graal and Truffle teams. Prove >> > me wrong :-) >> > >> > - Charlie >> > _______________________________________________ >> > mlvm-dev mailing list >> > mlvm-dev at openjdk.java.net >> > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev >> >> > > _______________________________________________ > mlvm-dev mailing list > mlvm-dev at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > > -- blog: http://blog.enebo.com twitter: tom_enebo mail: tom.enebo at gmail.com From doug.simon at oracle.com Tue Oct 7 01:00:06 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Tue, 07 Oct 2014 01:00:06 +0000 Subject: hg: graal/graal: 13 new changesets Message-ID: <201410070100.s97106dY029545@aojmv0008> Changeset: da1f5b9ccac6 Author: Roland Schatz Date: 2014-10-06 10:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/da1f5b9ccac6 Support private constructors on nodes. ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java Changeset: 98e60bdf6d05 Author: Roland Schatz Date: 2014-10-06 11:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/98e60bdf6d05 Use ArithmeticOpTable for primitive convert operations. ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/FloatStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLoweringProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java ! graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/IntegerStampTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampTool.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64ConvertSnippets.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Changeset: 3152f72f5cda Author: Bernhard Urban Date: 2014-10-06 12:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3152f72f5cda mx: follow redirects in URLConnectionDownload util ! mxtool/URLConnectionDownload.java Changeset: 97198814de41 Author: Doug Simon Date: 2014-10-06 13:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/97198814de41 re-enabled use of Unsafe.allocateInstance based mechanism for Node cloning (based on JMH benchmarks) ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Changeset: 63780e37b7b9 Author: Doug Simon Date: 2014-10-06 14:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/63780e37b7b9 re-added support for cloning a node without adding it to a graph ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Changeset: 0ba1a6745070 Author: Bernhard Urban Date: 2014-10-06 04:50 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0ba1a6745070 unittest: fix newline issue on windows ! graal/com.oracle.graal.debug.test/src/com/oracle/graal/debug/test/DebugHistogramTest.java Changeset: d45951ac3ce9 Author: Bernhard Urban Date: 2014-10-06 05:02 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d45951ac3ce9 SL: use line separator of current platform ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLStackTraceBuiltin.java Changeset: 95663a6385cf Author: Bernhard Urban Date: 2014-10-06 06:33 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/95663a6385cf DebugTimerTest: ignore on windows for now ! graal/com.oracle.graal.debug.test/src/com/oracle/graal/debug/test/DebugTimerTest.java Changeset: 90dc742e8cc7 Author: Roland Schatz Date: 2014-10-06 16:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/90dc742e8cc7 Re-add insertIntoGraph argument to Node.copyWithInputs method. ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Changeset: ea7b8c7a6e5c Author: Doug Simon Date: 2014-10-06 17:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ea7b8c7a6e5c fixed reliability of DebugTimerTest ! graal/com.oracle.graal.debug.test/src/com/oracle/graal/debug/test/DebugTimerTest.java Changeset: 3457f147a24f Author: Doug Simon Date: 2014-10-06 17:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3457f147a24f made selectability of using generated node functionality more fine grained ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Changeset: 825b349a55f9 Author: Doug Simon Date: 2014-10-06 18:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/825b349a55f9 Merge. ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Changeset: e354b82355fc Author: Doug Simon Date: 2014-10-06 18:14 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e354b82355fc better defaults for use of generated node functionality based on JMH benchmarks ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java From doug.simon at oracle.com Wed Oct 8 01:00:05 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Wed, 08 Oct 2014 01:00:05 +0000 Subject: hg: graal/graal: 9 new changesets Message-ID: <201410080100.s98106YC017168@aojmv0008> Changeset: 7ef8091e3542 Author: Josef Eisl Date: 2014-10-03 15:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7ef8091e3542 ValuePosition: regenerate hashCode(), equals(), toString(). ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePosition.java Changeset: b1813910be78 Author: Josef Eisl Date: 2014-10-03 15:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b1813910be78 LIRInstruction: rename forEach{Temp,Output}(ValuePositionProcedure) to forEach{Temp,Output}Pos(). ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java Changeset: bf84afcd4b40 Author: Josef Eisl Date: 2014-10-03 15:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bf84afcd4b40 LIRIntrospection.Values: remove OperandMode mode. ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java Changeset: 115de469a26b Author: Doug Simon Date: 2014-10-07 11:42 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/115de469a26b support distributions in pom.mxdeps files ! mx/mx_graal.py Changeset: d044ca4a1cdc Author: Doug Simon Date: 2014-10-07 13:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d044ca4a1cdc more fixes for DebugTimerTest ! graal/com.oracle.graal.debug.test/src/com/oracle/graal/debug/test/DebugTimerTest.java Changeset: 6b1eed55ea66 Author: Doug Simon Date: 2014-10-07 13:46 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6b1eed55ea66 Merge. Changeset: 03eef43d364f Author: Bernhard Urban Date: 2014-10-07 02:56 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/03eef43d364f mx: fix {,scala}dacapo paths and parsing issues on windows ! mx/sanitycheck.py Changeset: 4f9633b83a24 Author: Bernhard Urban Date: 2014-10-07 16:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4f9633b83a24 mx: reduce size of exculde command line argument and fold it into package-star expressions ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsUtil.java ! mx/mx_graal.py Changeset: 9fb3791586e8 Author: Bernhard Urban Date: 2014-10-07 19:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9fb3791586e8 jacoco: add a few excludes to make some tests passing ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java ! graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/JStrictMath.java From christian.humer at gmail.com Wed Oct 8 16:30:26 2014 From: christian.humer at gmail.com (Christian Humer) Date: Wed, 8 Oct 2014 18:30:26 +0200 Subject: @SlowPath renaming discussion In-Reply-To: <542ADA6D.5040002@jku.at> References: <6A990121-0783-4EC4-8F43-5D0FC4194C66@oracle.com> <451C896D-6297-4432-9383-49C2EC803174@oracle.com> <54258192.2070909@oracle.com> <65392097-D035-45AA-8E97-22158EB4CB79@oracle.com> <54291AAA.6050609@oracle.com> <962792BE-B242-4653-89B3-C75CC7135B86@oracle.com> <54292A73.5030001@oracle.com> <66A41254-CA77-43AE-ABA6-E545916493CC@oracle.com> <542ADA6D.5040002@jku.at> Message-ID: Thanks for all the suggestions. The discussion seems to have stopped, so I think its time to take this for a vote now. (I won't count votes that were already posted) Here are the suggestions in the order of their submission: @Boundary @TruffleBoundary @PEBoundary @PartialEvaluationBoundary @TruffleInterpreted @TruffleInterpretOnly @NoPE @StopInlining @NotInlined @DontInline @StopPE @StopPartialEvaluation @CutoffPartialEvaluator @PartialEvaluationInvisible @NotExpanded @ExitPartialEvaluator @ExitPE @JavaCode @PlatformCode @CompilationBoundary @RuntimeCall My Vote: @CompilationBoundary +1 - Christian Humer On Tue, Sep 30, 2014 at 6:29 PM, Andreas Woess wrote: > I like @CompilationBoundary since "Compilation" is what we call it in > other places, too: @CompilationFinal, neverPartOfCompilation, > compilationConstant. We should be consistent here. > @RuntimeCall would be a good fit if it would mean always call, never > inline -- which is not the case with @SlowPath. I think we should have both > options anyway (maybe inline, don't inline), although that could simply be > a boolean parameter to the annotation ("forced"). > > - andreas > > On 2014-09-29 19:03, Thomas Wuerthinger wrote: > > > I think we should avoid abbreviations if possible. While I agree that a > Truffle language implementor needs to understand how the compilation > actually works, I?m still unsure whether the term ?partial evaluation? is > the right one. It is well understood in an academic context, but it is not > very intuitive. > > > > I?d like to propose two additional options: > > @CompilationBoundary > > @RuntimeCall > > > > The latter based on similar reasonings to @SlowPath. When implementing a > language without Truffle, the equivalent effect to this annotation is > achieved by emitting a call to the language runtime (either via bytecodes > or via machine code) as opposed to emitting the logic inline. It should > also make clear to language implementors the trade-off between using a > runtime call (small code size, faster startup, slower peak) as opposed to > emitting the logic inline (larger code size, slower startup, faster peak). > > > > Maybe we should collect all suggestions and make a majority vote ;). > > > > - thomas > > > > > > On 29 Sep 2014, at 02:46, Christian Wirth > wrote: > > > >> Hi, > >> > >> Michael, I agree. We will have to give a good description of e.g. > partial evaluation. Truffle developers need to understand the basic > concepts to achieve high performance. Every Truffle developer should know > what "PE" means and understand that concept. > >> > >> I vote for @PEBoundary. > >> > >> -- Christian Wirth > >> > >> > >> > >> Am 29.09.2014 11:29, schrieb Michael Haupt: > >>> Hi, > >>> > >>> @PEBoundary is non-threatening and apt, but heavy on jargon. The > documentation will have to explain part of the underlying concepts clearly. > >>> > >>> Best, > >>> > >>> Michael > >>> > >>> Am 29.09.2014 um 10:39 schrieb Laurent Daynes < > laurent.daynes at oracle.com>: > >>> > >>>> Alright, I'm sold. > >>>> However, I strongly encourage a more developed comment in the source > for the annotation that the current succinct one for SlowPath, which > >>>> doesn't reflect the subtleties hidden behind it. > >>>> > >>>> Laurent > >>>> On 9/29/2014 10:30 AM, Lukas Stadler wrote: > >>>>> I?m a big fan of @PEBoundary - because: > >>>>> - it?s concise > >>>>> - it says exactly what it is (entry into this method is a boundary > for partial evaluation) > >>>>> - it?s non-threatening (as opposed to stop, cut or exit) > >>>>> - ?inlining? and ?interpreted? are overloaded with too many > different meanings, so I think we should avoid these terms > >>>>> > >>>>> - Lukas > >>>>> > >>>>> On 26 Sep 2014, at 18:01, Bernhard Urban > wrote: > >>>>> > >>>>>> @ExitPartialEvaluator / @ExitPE > >>>>>> > >>>>>> fwiw, in pypy there's a @jit.dont_look_inside annotation. > >>>>>> > >>>>>> -Bernhard > >>>>>> On Sep 26, 2014 5:30 PM, "Christian Humer" < > christian.humer at gmail.com> > >>>>>> wrote: > >>>>>> > >>>>>>> I also agree not to use inline. I usually use "guest language > inlining" for > >>>>>>> 1), "expansion" for 2) and "host language inlining" for 3). > >>>>>>> > >>>>>>> Will keep the suggestions flowing and will wrap up a vote later on. > >>>>>>> > > From bernhard.urban at jku.at Wed Oct 8 17:14:11 2014 From: bernhard.urban at jku.at (Bernhard Urban) Date: Wed, 8 Oct 2014 19:14:11 +0200 Subject: @SlowPath renaming discussion In-Reply-To: References: <6A990121-0783-4EC4-8F43-5D0FC4194C66@oracle.com> <451C896D-6297-4432-9383-49C2EC803174@oracle.com> <54258192.2070909@oracle.com> <65392097-D035-45AA-8E97-22158EB4CB79@oracle.com> <54291AAA.6050609@oracle.com> <962792BE-B242-4653-89B3-C75CC7135B86@oracle.com> <54292A73.5030001@oracle.com> <66A41254-CA77-43AE-ABA6-E545916493CC@oracle.com> <542ADA6D.5040002@jku.at> Message-ID: let's make it with doodle: http://doodle.com/aszdcmw5v8avk7hv -Bernhard On Wed, Oct 8, 2014 at 6:30 PM, Christian Humer wrote: > Thanks for all the suggestions. > The discussion seems to have stopped, so I think its time to take this for > a vote now. (I won't count votes that were already posted) > > Here are the suggestions in the order of their submission: > > @Boundary > @TruffleBoundary > @PEBoundary > @PartialEvaluationBoundary > @TruffleInterpreted > @TruffleInterpretOnly > @NoPE > @StopInlining > @NotInlined > @DontInline > @StopPE > @StopPartialEvaluation > @CutoffPartialEvaluator > @PartialEvaluationInvisible > @NotExpanded > @ExitPartialEvaluator > @ExitPE > @JavaCode > @PlatformCode > @CompilationBoundary > @RuntimeCall > > > My Vote: > @CompilationBoundary +1 > > > - Christian Humer > > On Tue, Sep 30, 2014 at 6:29 PM, Andreas Woess > wrote: > > > I like @CompilationBoundary since "Compilation" is what we call it in > > other places, too: @CompilationFinal, neverPartOfCompilation, > > compilationConstant. We should be consistent here. > > @RuntimeCall would be a good fit if it would mean always call, never > > inline -- which is not the case with @SlowPath. I think we should have > both > > options anyway (maybe inline, don't inline), although that could simply > be > > a boolean parameter to the annotation ("forced"). > > > > - andreas > > > > On 2014-09-29 19:03, Thomas Wuerthinger wrote: > > > > > I think we should avoid abbreviations if possible. While I agree that a > > Truffle language implementor needs to understand how the compilation > > actually works, I?m still unsure whether the term ?partial evaluation? is > > the right one. It is well understood in an academic context, but it is > not > > very intuitive. > > > > > > I?d like to propose two additional options: > > > @CompilationBoundary > > > @RuntimeCall > > > > > > The latter based on similar reasonings to @SlowPath. When implementing > a > > language without Truffle, the equivalent effect to this annotation is > > achieved by emitting a call to the language runtime (either via bytecodes > > or via machine code) as opposed to emitting the logic inline. It should > > also make clear to language implementors the trade-off between using a > > runtime call (small code size, faster startup, slower peak) as opposed to > > emitting the logic inline (larger code size, slower startup, faster > peak). > > > > > > Maybe we should collect all suggestions and make a majority vote ;). > > > > > > - thomas > > > > > > > > > On 29 Sep 2014, at 02:46, Christian Wirth > > wrote: > > > > > >> Hi, > > >> > > >> Michael, I agree. We will have to give a good description of e.g. > > partial evaluation. Truffle developers need to understand the basic > > concepts to achieve high performance. Every Truffle developer should know > > what "PE" means and understand that concept. > > >> > > >> I vote for @PEBoundary. > > >> > > >> -- Christian Wirth > > >> > > >> > > >> > > >> Am 29.09.2014 11:29, schrieb Michael Haupt: > > >>> Hi, > > >>> > > >>> @PEBoundary is non-threatening and apt, but heavy on jargon. The > > documentation will have to explain part of the underlying concepts > clearly. > > >>> > > >>> Best, > > >>> > > >>> Michael > > >>> > > >>> Am 29.09.2014 um 10:39 schrieb Laurent Daynes < > > laurent.daynes at oracle.com>: > > >>> > > >>>> Alright, I'm sold. > > >>>> However, I strongly encourage a more developed comment in the source > > for the annotation that the current succinct one for SlowPath, which > > >>>> doesn't reflect the subtleties hidden behind it. > > >>>> > > >>>> Laurent > > >>>> On 9/29/2014 10:30 AM, Lukas Stadler wrote: > > >>>>> I?m a big fan of @PEBoundary - because: > > >>>>> - it?s concise > > >>>>> - it says exactly what it is (entry into this method is a boundary > > for partial evaluation) > > >>>>> - it?s non-threatening (as opposed to stop, cut or exit) > > >>>>> - ?inlining? and ?interpreted? are overloaded with too many > > different meanings, so I think we should avoid these terms > > >>>>> > > >>>>> - Lukas > > >>>>> > > >>>>> On 26 Sep 2014, at 18:01, Bernhard Urban > > wrote: > > >>>>> > > >>>>>> @ExitPartialEvaluator / @ExitPE > > >>>>>> > > >>>>>> fwiw, in pypy there's a @jit.dont_look_inside annotation. > > >>>>>> > > >>>>>> -Bernhard > > >>>>>> On Sep 26, 2014 5:30 PM, "Christian Humer" < > > christian.humer at gmail.com> > > >>>>>> wrote: > > >>>>>> > > >>>>>>> I also agree not to use inline. I usually use "guest language > > inlining" for > > >>>>>>> 1), "expansion" for 2) and "host language inlining" for 3). > > >>>>>>> > > >>>>>>> Will keep the suggestions flowing and will wrap up a vote later > on. > > >>>>>>> > > > > > > From doug.simon at oracle.com Thu Oct 9 01:00:07 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Thu, 09 Oct 2014 01:00:07 +0000 Subject: hg: graal/graal: 15 new changesets Message-ID: <201410090100.s99108Id005586@aojmv0008> Changeset: 4ab45518048b Author: Doug Simon Date: 2014-10-08 11:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4ab45518048b removed MemoryAwareScheduling option (since non-memory aware scheduling currently generates invalid code) ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/GraalOptions.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Changeset: 84f9c2baab1d Author: Roland Schatz Date: 2014-10-08 12:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/84f9c2baab1d Relax type signature in Graph.addDuplicates method. ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java Changeset: 08f69da64487 Author: Roland Schatz Date: 2014-10-08 12:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/08f69da64487 Support other stamps in Constant.forPrimitive(). ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java Changeset: a613bd4e6f67 Author: Roland Schatz Date: 2014-10-08 12:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a613bd4e6f67 Generic getters in ArithmeticOpTable. ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java Changeset: b3c10156d3d7 Author: Roland Schatz Date: 2014-10-08 12:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b3c10156d3d7 Update op fields when inferring stamps for arithmetic nodes. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java Changeset: 5c06895b1aec Author: Bernhard Urban Date: 2014-10-08 17:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5c06895b1aec sl inlining test: override default setting for max caller size to a smaller value ! graal/com.oracle.graal.truffle.test/sl/TestInliningMaxCallerSize.sl Changeset: ded2f1abfcda Author: Tom Rodriguez Date: 2014-10-08 11:41 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ded2f1abfcda LogCompilation should print metadata offset ! src/share/vm/code/nmethod.cpp Changeset: 4a6e24a8fc2c Author: Tom Rodriguez Date: 2014-10-08 11:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4a6e24a8fc2c Track code installation time ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/graal/graalCompiler.cpp ! src/share/vm/graal/graalCompiler.hpp ! src/share/vm/graal/graalCompilerToVM.cpp Changeset: 467ffc7f01cb Author: Tom Rodriguez Date: 2014-10-08 11:46 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/467ffc7f01cb print InstanceKlass information when graalJavaAccess can't find a field ! src/share/vm/graal/graalJavaAccess.cpp Changeset: 9928ad27a80e Author: Tom Rodriguez Date: 2014-10-08 11:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9928ad27a80e OopRecorder should check for duplicates ! src/share/vm/code/oopRecorder.cpp ! src/share/vm/code/oopRecorder.hpp Changeset: 44b83285b645 Author: Tom Rodriguez Date: 2014-10-08 11:50 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/44b83285b645 Deduplicate constant oops during code installation ! src/share/vm/code/oopRecorder.cpp ! src/share/vm/code/oopRecorder.hpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/utilities/growableArray.hpp Changeset: b888ded3ee42 Author: Tom Rodriguez Date: 2014-10-08 11:52 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b888ded3ee42 Be more aggressive about sharing of debug info ! src/share/vm/code/debugInfoRec.cpp ! src/share/vm/code/debugInfoRec.hpp Changeset: 58f45b63b802 Author: Doug Simon Date: 2014-10-09 00:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/58f45b63b802 CompileTheWorld compilations are no longer installed as default nmethods ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/MemoryUsageBenchmark.java ! 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/meta/HotSpotCodeCacheProvider.java Changeset: d42e11af980d Author: Doug Simon Date: 2014-10-09 00:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d42e11af980d mx: simplified ctw command ! mx/mx_graal.py ! mx/sanitycheck.py Changeset: 21015ffe0a1e Author: Doug Simon Date: 2014-10-09 00:23 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/21015ffe0a1e Merge. From doug.simon at oracle.com Thu Oct 9 14:59:21 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Thu, 09 Oct 2014 14:59:21 +0000 Subject: hg: graal/graal: 12 new changesets Message-ID: <201410091459.s99ExMaJ021453@aojmv0008> Changeset: 4b94e5f3d823 Author: Lukas Stadler Date: 2014-10-08 10:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4b94e5f3d823 BailoutException should default to a permanent error ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/BailoutException.java Changeset: 40dce17629ac Author: Lukas Stadler Date: 2014-10-08 10:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/40dce17629ac correct IfNode probabilities in If-Deopt situations ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Changeset: e1da729b3e4e Author: Lukas Stadler Date: 2014-10-08 10:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e1da729b3e4e make Truffle Node source section @CompilationFinal ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Changeset: ec56aea5c32d Author: Lukas Stadler Date: 2014-10-09 09:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ec56aea5c32d dump "After TruffleTier" at log level 1 ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Changeset: 26c88ce948c5 Author: Paul Woegerer Date: 2014-10-09 09:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/26c88ce948c5 Make downloads from maven more reliable and secure ! mx/suite.py + mx/suite_helper.py Changeset: 07462ba5a12a Author: Paul Woegerer Date: 2014-10-09 12:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/07462ba5a12a mxtools: automatically set system property https proxy Contributed-by: Laurent Daynes ! mxtool/URLConnectionDownload.java Changeset: 538cbc117324 Author: Christian Wirth Date: 2014-10-09 13:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/538cbc117324 Fix Windows compile error around OrderedPair in superword.hpp (C2 change!) ! src/share/vm/opto/superword.hpp Changeset: 0e120f2819ce Author: Christian Wirth Date: 2014-10-09 13:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0e120f2819ce Merged Changeset: 9e5abd0e7916 Author: Bernhard Urban Date: 2014-10-09 14:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9e5abd0e7916 mx/igv: fallback mechanism to work around a javac bug in jdk8u20 ! mx/mx_graal.py Changeset: 763a34f283f9 Author: Lukas Stadler Date: 2014-10-09 13:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/763a34f283f9 make Truffle Node parent @CompilationFinal, let getEncapsulatingSourceSection evaluate at compile time ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Changeset: 5949340cc50e Author: Lukas Stadler Date: 2014-10-09 14:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5949340cc50e only optimize identity-less comparisons for Integer and Long ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java Changeset: e890b86b397d Author: Lukas Stadler Date: 2014-10-09 14:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e890b86b397d default allocation profiling to AllocatedTypes ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java From doug.simon at oracle.com Fri Oct 10 01:00:06 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Fri, 10 Oct 2014 01:00:06 +0000 Subject: hg: graal/graal: 7 new changesets Message-ID: <201410100100.s9A107LF006780@aojmv0008> Changeset: 9c241dc74cfc Author: Doug Simon Date: 2014-10-09 15:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9c241dc74cfc mx: specify jar of classes differently depending on whether Graal is hosted or not ! mx/mx_graal.py Changeset: a8186c7f73e9 Author: Doug Simon Date: 2014-10-09 15:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a8186c7f73e9 added table to speed up mapping JVM_CONSTANT tag value to JVM_CONSTANT enum object ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java Changeset: f520089af480 Author: Doug Simon Date: 2014-10-09 15:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f520089af480 made HotSpotConstantPool.loadReferencedType handle attempts to resolve constant pool indexes that do not refer to a type ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java Changeset: c8bd29658465 Author: Doug Simon Date: 2014-10-09 15:58 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c8bd29658465 be more verbose about class resolution during CTW ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompileTheWorld.java Changeset: 83bbc0e5891a Author: Doug Simon Date: 2014-10-09 16:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/83bbc0e5891a removed suite_helper.py and inlined common maven URL prefix ! mx/suite.py - mx/suite_helper.py ! mxtool/mx.py Changeset: 0c8442b0d4c4 Author: Doug Simon Date: 2014-10-09 16:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0c8442b0d4c4 Merge. Changeset: 9e1ec84d2899 Author: Tom Rodriguez Date: 2014-10-09 11:32 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9e1ec84d2899 fix privileged check for Stable ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/Stable.java ! src/share/vm/classfile/classFileParser.cpp From eregontp at gmail.com Fri Oct 10 09:36:57 2014 From: eregontp at gmail.com (Benoit Daloze) Date: Fri, 10 Oct 2014 11:36:57 +0200 Subject: @SlowPath renaming discussion In-Reply-To: References: <6A990121-0783-4EC4-8F43-5D0FC4194C66@oracle.com> <451C896D-6297-4432-9383-49C2EC803174@oracle.com> <54258192.2070909@oracle.com> <65392097-D035-45AA-8E97-22158EB4CB79@oracle.com> <54291AAA.6050609@oracle.com> <962792BE-B242-4653-89B3-C75CC7135B86@oracle.com> <54292A73.5030001@oracle.com> <66A41254-CA77-43AE-ABA6-E545916493CC@oracle.com> <542ADA6D.5040002@jku.at> Message-ID: Don't let @CompilationBoundary win! For me, it sounds as negative as @SlowPath (that is "slow", like there is no more compilation after the annotation) and new Truffle users might just think the same. - Benoit On 8 October 2014 18:30, Christian Humer wrote: > Thanks for all the suggestions. > The discussion seems to have stopped, so I think its time to take this for > a vote now. (I won't count votes that were already posted) > > Here are the suggestions in the order of their submission: > > @Boundary > @TruffleBoundary > @PEBoundary > @PartialEvaluationBoundary > @TruffleInterpreted > @TruffleInterpretOnly > @NoPE > @StopInlining > @NotInlined > @DontInline > @StopPE > @StopPartialEvaluation > @CutoffPartialEvaluator > @PartialEvaluationInvisible > @NotExpanded > @ExitPartialEvaluator > @ExitPE > @JavaCode > @PlatformCode > @CompilationBoundary > @RuntimeCall > > > My Vote: > @CompilationBoundary +1 > > > - Christian Humer > > On Tue, Sep 30, 2014 at 6:29 PM, Andreas Woess > wrote: > > > I like @CompilationBoundary since "Compilation" is what we call it in > > other places, too: @CompilationFinal, neverPartOfCompilation, > > compilationConstant. We should be consistent here. > > @RuntimeCall would be a good fit if it would mean always call, never > > inline -- which is not the case with @SlowPath. I think we should have > both > > options anyway (maybe inline, don't inline), although that could simply > be > > a boolean parameter to the annotation ("forced"). > > > > - andreas > > > > On 2014-09-29 19:03, Thomas Wuerthinger wrote: > > > > > I think we should avoid abbreviations if possible. While I agree that a > > Truffle language implementor needs to understand how the compilation > > actually works, I?m still unsure whether the term ?partial evaluation? is > > the right one. It is well understood in an academic context, but it is > not > > very intuitive. > > > > > > I?d like to propose two additional options: > > > @CompilationBoundary > > > @RuntimeCall > > > > > > The latter based on similar reasonings to @SlowPath. When implementing > a > > language without Truffle, the equivalent effect to this annotation is > > achieved by emitting a call to the language runtime (either via bytecodes > > or via machine code) as opposed to emitting the logic inline. It should > > also make clear to language implementors the trade-off between using a > > runtime call (small code size, faster startup, slower peak) as opposed to > > emitting the logic inline (larger code size, slower startup, faster > peak). > > > > > > Maybe we should collect all suggestions and make a majority vote ;). > > > > > > - thomas > > > > > > > > > On 29 Sep 2014, at 02:46, Christian Wirth > > wrote: > > > > > >> Hi, > > >> > > >> Michael, I agree. We will have to give a good description of e.g. > > partial evaluation. Truffle developers need to understand the basic > > concepts to achieve high performance. Every Truffle developer should know > > what "PE" means and understand that concept. > > >> > > >> I vote for @PEBoundary. > > >> > > >> -- Christian Wirth > > >> > > >> > > >> > > >> Am 29.09.2014 11:29, schrieb Michael Haupt: > > >>> Hi, > > >>> > > >>> @PEBoundary is non-threatening and apt, but heavy on jargon. The > > documentation will have to explain part of the underlying concepts > clearly. > > >>> > > >>> Best, > > >>> > > >>> Michael > > >>> > > >>> Am 29.09.2014 um 10:39 schrieb Laurent Daynes < > > laurent.daynes at oracle.com>: > > >>> > > >>>> Alright, I'm sold. > > >>>> However, I strongly encourage a more developed comment in the source > > for the annotation that the current succinct one for SlowPath, which > > >>>> doesn't reflect the subtleties hidden behind it. > > >>>> > > >>>> Laurent > > >>>> On 9/29/2014 10:30 AM, Lukas Stadler wrote: > > >>>>> I?m a big fan of @PEBoundary - because: > > >>>>> - it?s concise > > >>>>> - it says exactly what it is (entry into this method is a boundary > > for partial evaluation) > > >>>>> - it?s non-threatening (as opposed to stop, cut or exit) > > >>>>> - ?inlining? and ?interpreted? are overloaded with too many > > different meanings, so I think we should avoid these terms > > >>>>> > > >>>>> - Lukas > > >>>>> > > >>>>> On 26 Sep 2014, at 18:01, Bernhard Urban > > wrote: > > >>>>> > > >>>>>> @ExitPartialEvaluator / @ExitPE > > >>>>>> > > >>>>>> fwiw, in pypy there's a @jit.dont_look_inside annotation. > > >>>>>> > > >>>>>> -Bernhard > > >>>>>> On Sep 26, 2014 5:30 PM, "Christian Humer" < > > christian.humer at gmail.com> > > >>>>>> wrote: > > >>>>>> > > >>>>>>> I also agree not to use inline. I usually use "guest language > > inlining" for > > >>>>>>> 1), "expansion" for 2) and "host language inlining" for 3). > > >>>>>>> > > >>>>>>> Will keep the suggestions flowing and will wrap up a vote later > on. > > >>>>>>> > > > > > From christian.humer at gmail.com Fri Oct 10 11:08:11 2014 From: christian.humer at gmail.com (Christian Humer) Date: Fri, 10 Oct 2014 13:08:11 +0200 Subject: @SlowPath renaming discussion In-Reply-To: References: <6A990121-0783-4EC4-8F43-5D0FC4194C66@oracle.com> <451C896D-6297-4432-9383-49C2EC803174@oracle.com> <54258192.2070909@oracle.com> <65392097-D035-45AA-8E97-22158EB4CB79@oracle.com> <54291AAA.6050609@oracle.com> <962792BE-B242-4653-89B3-C75CC7135B86@oracle.com> <54292A73.5030001@oracle.com> <66A41254-CA77-43AE-ABA6-E545916493CC@oracle.com> <542ADA6D.5040002@jku.at> Message-ID: I do not agree. @CompilationBoundary fits the current terminology very well. For example: CompilerAsserts.compilationConstant(...), CompilerDirectives.inCompiledCode(), ... For these APIs we already use compilation as a word for Truffle compilation and partial evaluation. And behind compilation boundaries the code is treated the same way as if it would be executed just in the interpreter (in Truffle terminology). - Christian Humer On Fri, Oct 10, 2014 at 11:36 AM, Benoit Daloze wrote: > Don't let @CompilationBoundary win! > For me, it sounds as negative as @SlowPath (that is "slow", like there is > no more compilation after the annotation) > and new Truffle users might just think the same. > > - Benoit > > On 8 October 2014 18:30, Christian Humer > wrote: > > > Thanks for all the suggestions. > > The discussion seems to have stopped, so I think its time to take this > for > > a vote now. (I won't count votes that were already posted) > > > > Here are the suggestions in the order of their submission: > > > > @Boundary > > @TruffleBoundary > > @PEBoundary > > @PartialEvaluationBoundary > > @TruffleInterpreted > > @TruffleInterpretOnly > > @NoPE > > @StopInlining > > @NotInlined > > @DontInline > > @StopPE > > @StopPartialEvaluation > > @CutoffPartialEvaluator > > @PartialEvaluationInvisible > > @NotExpanded > > @ExitPartialEvaluator > > @ExitPE > > @JavaCode > > @PlatformCode > > @CompilationBoundary > > @RuntimeCall > > > > > > My Vote: > > @CompilationBoundary +1 > > > > > > - Christian Humer > > > > On Tue, Sep 30, 2014 at 6:29 PM, Andreas Woess > > wrote: > > > > > I like @CompilationBoundary since "Compilation" is what we call it in > > > other places, too: @CompilationFinal, neverPartOfCompilation, > > > compilationConstant. We should be consistent here. > > > @RuntimeCall would be a good fit if it would mean always call, never > > > inline -- which is not the case with @SlowPath. I think we should have > > both > > > options anyway (maybe inline, don't inline), although that could simply > > be > > > a boolean parameter to the annotation ("forced"). > > > > > > - andreas > > > > > > On 2014-09-29 19:03, Thomas Wuerthinger wrote: > > > > > > > I think we should avoid abbreviations if possible. While I agree > that a > > > Truffle language implementor needs to understand how the compilation > > > actually works, I?m still unsure whether the term ?partial evaluation? > is > > > the right one. It is well understood in an academic context, but it is > > not > > > very intuitive. > > > > > > > > I?d like to propose two additional options: > > > > @CompilationBoundary > > > > @RuntimeCall > > > > > > > > The latter based on similar reasonings to @SlowPath. When > implementing > > a > > > language without Truffle, the equivalent effect to this annotation is > > > achieved by emitting a call to the language runtime (either via > bytecodes > > > or via machine code) as opposed to emitting the logic inline. It should > > > also make clear to language implementors the trade-off between using a > > > runtime call (small code size, faster startup, slower peak) as opposed > to > > > emitting the logic inline (larger code size, slower startup, faster > > peak). > > > > > > > > Maybe we should collect all suggestions and make a majority vote ;). > > > > > > > > - thomas > > > > > > > > > > > > On 29 Sep 2014, at 02:46, Christian Wirth < > christian.wirth at oracle.com> > > > wrote: > > > > > > > >> Hi, > > > >> > > > >> Michael, I agree. We will have to give a good description of e.g. > > > partial evaluation. Truffle developers need to understand the basic > > > concepts to achieve high performance. Every Truffle developer should > know > > > what "PE" means and understand that concept. > > > >> > > > >> I vote for @PEBoundary. > > > >> > > > >> -- Christian Wirth > > > >> > > > >> > > > >> > > > >> Am 29.09.2014 11:29, schrieb Michael Haupt: > > > >>> Hi, > > > >>> > > > >>> @PEBoundary is non-threatening and apt, but heavy on jargon. The > > > documentation will have to explain part of the underlying concepts > > clearly. > > > >>> > > > >>> Best, > > > >>> > > > >>> Michael > > > >>> > > > >>> Am 29.09.2014 um 10:39 schrieb Laurent Daynes < > > > laurent.daynes at oracle.com>: > > > >>> > > > >>>> Alright, I'm sold. > > > >>>> However, I strongly encourage a more developed comment in the > source > > > for the annotation that the current succinct one for SlowPath, which > > > >>>> doesn't reflect the subtleties hidden behind it. > > > >>>> > > > >>>> Laurent > > > >>>> On 9/29/2014 10:30 AM, Lukas Stadler wrote: > > > >>>>> I?m a big fan of @PEBoundary - because: > > > >>>>> - it?s concise > > > >>>>> - it says exactly what it is (entry into this method is a > boundary > > > for partial evaluation) > > > >>>>> - it?s non-threatening (as opposed to stop, cut or exit) > > > >>>>> - ?inlining? and ?interpreted? are overloaded with too many > > > different meanings, so I think we should avoid these terms > > > >>>>> > > > >>>>> - Lukas > > > >>>>> > > > >>>>> On 26 Sep 2014, at 18:01, Bernhard Urban > > > wrote: > > > >>>>> > > > >>>>>> @ExitPartialEvaluator / @ExitPE > > > >>>>>> > > > >>>>>> fwiw, in pypy there's a @jit.dont_look_inside annotation. > > > >>>>>> > > > >>>>>> -Bernhard > > > >>>>>> On Sep 26, 2014 5:30 PM, "Christian Humer" < > > > christian.humer at gmail.com> > > > >>>>>> wrote: > > > >>>>>> > > > >>>>>>> I also agree not to use inline. I usually use "guest language > > > inlining" for > > > >>>>>>> 1), "expansion" for 2) and "host language inlining" for 3). > > > >>>>>>> > > > >>>>>>> Will keep the suggestions flowing and will wrap up a vote later > > on. > > > >>>>>>> > > > > > > > > > From doug.simon at oracle.com Sat Oct 11 01:00:06 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Sat, 11 Oct 2014 01:00:06 +0000 Subject: hg: graal/graal: 13 new changesets Message-ID: <201410110100.s9B1073n015564@aojmv0008> Changeset: 5787218bad91 Author: Christian Humer Date: 2014-10-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5787218bad91 Truffle: implemented recursive node iterator and node streams for the graal runtime. ! graal/com.oracle.graal.truffle.test/sl/TestInliningMaxCallerSize.sl ! graal/com.oracle.graal.truffle.test/sl/TestInliningRecursive2.sl ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLIsInlinedBuiltin.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java + graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/nodes/NodeUtilTest.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeCost.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java Changeset: e3dd05527c2f Author: Christian Humer Date: 2014-10-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e3dd05527c2f Truffle: enabled context sensitive inlining by default. removed old inlining structures. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/PartialEvaluationTest.java - graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/ContextSensitiveInlining.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/DefaultTruffleSplittingStrategy.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalFrameInstance.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallUtils.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedDirectCallNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedIndirectCallNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInliningDecision.java - graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInliningHandler.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInliningProfile.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultDirectCallNode.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/DirectCallNode.java Changeset: c0f71f81708a Author: Christian Humer Date: 2014-10-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c0f71f81708a Truffle: fixes to the call tree logging. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleTreeDumpHandler.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/GraphPrintVisitor.java Changeset: ce7058005115 Author: Christian Humer Date: 2014-10-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ce7058005115 Truffle: fix TraceTruffleExpansion for context sensitive inlining. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleExpansionLogger.java Changeset: 79ac83ff7a99 Author: Christian Humer Date: 2014-10-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/79ac83ff7a99 Truffle: fix TraceTruffleCompilationCallTree for context sensitive inlining. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java Changeset: b725292b8a11 Author: Christian Humer Date: 2014-10-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b725292b8a11 Truffle: updated TruffleCallTargetProfiling ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/CompilationProfile.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/CounterBasedCompilationPolicy.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java Changeset: 04d6bb76cfb3 Author: Christian Humer Date: 2014-10-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/04d6bb76cfb3 Truffle: update callUntilOptimized to wait for the compilation and call it once optimized. ! graal/com.oracle.graal.truffle.test/sl/TestInliningMaxCallerSize.sl ! graal/com.oracle.graal.truffle.test/sl/TestInliningRecursive1.sl ! graal/com.oracle.graal.truffle.test/sl/TestInliningRecursive2.sl ! graal/com.oracle.graal.truffle.test/sl/TestSlowPath01.sl ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLCallUntilOptimizedBuiltin.java Changeset: 1615d78a9d35 Author: Christian Humer Date: 2014-10-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1615d78a9d35 Truffle: add some documentation for TurffleCallTargetProfiling. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java Changeset: c4cdee8566a4 Author: Christian Humer Date: 2014-10-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c4cdee8566a4 Truffle: rename PrintTrufflePerformanceWarnings to TraceTrufflePerformanceWarnings. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java Changeset: f0792f868d7d Author: Christian Humer Date: 2014-10-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f0792f868d7d Truffle: improve documentation for compiler options. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/CounterBasedCompilationPolicy.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TraceCompilationProfile.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java Changeset: 4c0dcd164718 Author: Christian Humer Date: 2014-10-10 10:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4c0dcd164718 Truffle: fix potential null dereference error in partial evaluator. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Changeset: c58171f94377 Author: Christian Humer Date: 2014-10-10 10:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c58171f94377 Truffle: fix potential null dereferences in call tree visitor. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java Changeset: 6d82c240d83e Author: Doug Simon Date: 2014-10-10 11:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6d82c240d83e use -G:CompileTheWorldClasspath instead of -Xbootclasspath/p when doing Graal CTW on a Graal enabled VM ! mx/mx_graal.py From eric.caspole at amd.com Mon Oct 13 21:30:05 2014 From: eric.caspole at amd.com (Eric Caspole) Date: Mon, 13 Oct 2014 17:30:05 -0400 Subject: Assert in oopRecorder while compiling Graal Message-ID: <543C445D.2040300@amd.com> Hi everybody, Since about last Thursday night my nightly Jenkins is getting new asserts like this: # Internal Error (/home/ecaspole/views/graal-default/graal/src/share/vm/code/oopRecorder.cpp:42), pid=21514, tid=140271113053952 # assert(false) failed: duplicate found This is happening in C2 while compiling Graal code itself, while running the HSAIL tests. Usually: Current CompileTask: C2: 90345 17862 4 com.oracle.graal.compiler.alloc.LinearScan::assignLocations (224 bytes) Occasionally: Current CompileTask: C2: 91131 17255 ! 4 com.oracle.graal.compiler.gen.NodeLIRBuilder::doBlock (478 bytes) This happens about half the time when I run the tests like below with debug or fastdebug build: ./mx.sh --vm server --vmbuild debug unittest -server -ea -esa -XX:-UseHSAILDeoptimization -XX:-UseCompressedOops hsail.test We haven't changed anything lately. Thanks for any advice. Eric From tom.rodriguez at oracle.com Mon Oct 13 21:37:28 2014 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 13 Oct 2014 14:37:28 -0700 Subject: Assert in oopRecorder while compiling Graal In-Reply-To: <543C445D.2040300@amd.com> References: <543C445D.2040300@amd.com> Message-ID: <55AC4A04-2A77-4105-8C5A-98E41AA11239@oracle.com> This is an assert I recently added while fixing long code install times for graal. It should be true for graal generated code now and seemed to be true for c1/c2 code so I left it in there. It looks like in certain conditions it isn?t Anyway, I?ll modify the assert. tom On Oct 13, 2014, at 2:30 PM, Eric Caspole wrote: > Hi everybody, > Since about last Thursday night my nightly Jenkins is getting new asserts like this: > > # Internal Error (/home/ecaspole/views/graal-default/graal/src/share/vm/code/oopRecorder.cpp:42), pid=21514, tid=140271113053952 > # assert(false) failed: duplicate found > > > This is happening in C2 while compiling Graal code itself, while running the HSAIL tests. > > Usually: > > Current CompileTask: > C2: 90345 17862 4 com.oracle.graal.compiler.alloc.LinearScan::assignLocations (224 bytes) > > > Occasionally: > > Current CompileTask: > C2: 91131 17255 ! 4 com.oracle.graal.compiler.gen.NodeLIRBuilder::doBlock (478 bytes) > > > This happens about half the time when I run the tests like below with debug or fastdebug build: > > ./mx.sh --vm server --vmbuild debug unittest -server -ea -esa -XX:-UseHSAILDeoptimization -XX:-UseCompressedOops hsail.test > > We haven't changed anything lately. Thanks for any advice. > Eric From doug.simon at oracle.com Tue Oct 14 01:00:07 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Tue, 14 Oct 2014 01:00:07 +0000 Subject: hg: graal/graal: 17 new changesets Message-ID: <201410140100.s9E107HH000893@aojmv0008> Changeset: e28f20279ec8 Author: Lukas Stadler Date: 2014-10-13 09:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e28f20279ec8 truffle virtual frames do have an identity ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java Changeset: 0a2e65e74a9c Author: Josef Eisl Date: 2014-10-09 18:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0a2e65e74a9c LRSA: minor clean ups around debugInfoProcedure(). ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java Changeset: abf34bd11ba3 Author: Josef Eisl Date: 2014-10-13 10:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/abf34bd11ba3 Remove LIRIntrospection.Values.toString(). ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java Changeset: e30f38c2ee16 Author: Andreas Woess Date: 2014-10-13 12:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e30f38c2ee16 TruffleReturnTypeSpeculation should be a stable option ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java Changeset: f7ba2423fbc3 Author: Andreas Woess Date: 2014-10-13 12:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f7ba2423fbc3 Truffle: make TraceTruffleTransferToInterpreter and TraceTruffleAssumptions stack trace limit configurable ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedAssumption.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java Changeset: 2915eff532d4 Author: Roland Schatz Date: 2014-10-13 15:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2915eff532d4 Fix code generation problem with sub-int Constants. ! graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGeneratorTool.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java Changeset: 393fe459eadc Author: Roland Schatz Date: 2014-10-13 15:36 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/393fe459eadc Don't cache op field in arithmetic nodes. ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopEx.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64ConvertSnippets.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java Changeset: 83c3dd41ca64 Author: Roland Schatz Date: 2014-10-13 16:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/83c3dd41ca64 Simplify ArithmeticOpTable implementation and make it type safe. ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/FloatStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/BasicInductionVariable.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/CountedLoopInfo.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/DerivedOffsetInductionVariable.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/InductionVariables.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopEx.java ! graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/IntegerStampTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java Changeset: e98150919577 Author: Christian Humer Date: 2014-10-13 17:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e98150919577 Truffle: cleanup compilation profile fields. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/CompilationProfile.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TraceCompilationProfile.java Changeset: 87ea195b66ff Author: Christian Humer Date: 2014-10-13 17:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/87ea195b66ff Truffle: Make BranchProfile constructor private and introduce a factory Method BranchProfile.create(). ! CHANGELOG.md ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/utilities/BranchProfileTest.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/BranchProfile.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/controlflow/SLFunctionBodyNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/controlflow/SLRepeatingNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/local/SLReadArgumentNode.java Changeset: 89f801a9b4d4 Author: Christian Humer Date: 2014-10-13 17:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/89f801a9b4d4 Truffle: fix headers. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallUtils.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TraceCompilationProfile.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInliningDecision.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInliningProfile.java Changeset: 5c8660c0e760 Author: Chris Seaton Date: 2014-10-13 18:03 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/5c8660c0e760 Truffle: TruffleCompilationExceptionsAreThrown implies synchronous compilation. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Changeset: 34f6995b1d90 Author: Chris Seaton Date: 2014-10-13 18:04 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/34f6995b1d90 Truffle: don't silently ignore exceptions in the compiler if we want to throw them. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java Changeset: 4263c17d4b8c Author: Chris Seaton Date: 2014-10-13 18:04 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/4263c17d4b8c Merge. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Changeset: de120499a936 Author: Christian Humer Date: 2014-10-13 21:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/de120499a936 Truffle: minor cleanups. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Changeset: 307b26f8b5d1 Author: Christian Humer Date: 2014-10-13 21:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/307b26f8b5d1 Truffle: fixed inlining performance regression. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java Changeset: 50942f016967 Author: Tom Rodriguez Date: 2014-10-13 15:52 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/50942f016967 remove duplicate check in OopRecorder ! src/share/vm/code/oopRecorder.cpp ! src/share/vm/code/oopRecorder.hpp From tom.rodriguez at oracle.com Tue Oct 14 18:32:54 2014 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 14 Oct 2014 11:32:54 -0700 Subject: Assert in oopRecorder while compiling Graal In-Reply-To: <55AC4A04-2A77-4105-8C5A-98E41AA11239@oracle.com> References: <543C445D.2040300@amd.com> <55AC4A04-2A77-4105-8C5A-98E41AA11239@oracle.com> Message-ID: I removed the duplicate check so it should be ok now. tom On Oct 13, 2014, at 2:37 PM, Tom Rodriguez wrote: > This is an assert I recently added while fixing long code install times for graal. It should be true for graal generated code now and seemed to be true for c1/c2 code so I left it in there. It looks like in certain conditions it isn?t Anyway, I?ll modify the assert. > > tom > > On Oct 13, 2014, at 2:30 PM, Eric Caspole wrote: > >> Hi everybody, >> Since about last Thursday night my nightly Jenkins is getting new asserts like this: >> >> # Internal Error (/home/ecaspole/views/graal-default/graal/src/share/vm/code/oopRecorder.cpp:42), pid=21514, tid=140271113053952 >> # assert(false) failed: duplicate found >> >> >> This is happening in C2 while compiling Graal code itself, while running the HSAIL tests. >> >> Usually: >> >> Current CompileTask: >> C2: 90345 17862 4 com.oracle.graal.compiler.alloc.LinearScan::assignLocations (224 bytes) >> >> >> Occasionally: >> >> Current CompileTask: >> C2: 91131 17255 ! 4 com.oracle.graal.compiler.gen.NodeLIRBuilder::doBlock (478 bytes) >> >> >> This happens about half the time when I run the tests like below with debug or fastdebug build: >> >> ./mx.sh --vm server --vmbuild debug unittest -server -ea -esa -XX:-UseHSAILDeoptimization -XX:-UseCompressedOops hsail.test >> >> We haven't changed anything lately. Thanks for any advice. >> Eric > From eric.caspole at amd.com Tue Oct 14 18:53:08 2014 From: eric.caspole at amd.com (Eric Caspole) Date: Tue, 14 Oct 2014 14:53:08 -0400 Subject: Assert in oopRecorder while compiling Graal In-Reply-To: References: <543C445D.2040300@amd.com> <55AC4A04-2A77-4105-8C5A-98E41AA11239@oracle.com> Message-ID: <543D7114.8000000@amd.com> Thanks Tom! On 10/14/2014 02:32 PM, Tom Rodriguez wrote: > I removed the duplicate check so it should be ok now. > > tom > > On Oct 13, 2014, at 2:37 PM, Tom Rodriguez wrote: > >> This is an assert I recently added while fixing long code install times for graal. It should be true for graal generated code now and seemed to be true for c1/c2 code so I left it in there. It looks like in certain conditions it isn?t Anyway, I?ll modify the assert. >> >> tom >> >> On Oct 13, 2014, at 2:30 PM, Eric Caspole wrote: >> >>> Hi everybody, >>> Since about last Thursday night my nightly Jenkins is getting new asserts like this: >>> >>> # Internal Error (/home/ecaspole/views/graal-default/graal/src/share/vm/code/oopRecorder.cpp:42), pid=21514, tid=140271113053952 >>> # assert(false) failed: duplicate found >>> >>> >>> This is happening in C2 while compiling Graal code itself, while running the HSAIL tests. >>> >>> Usually: >>> >>> Current CompileTask: >>> C2: 90345 17862 4 com.oracle.graal.compiler.alloc.LinearScan::assignLocations (224 bytes) >>> >>> >>> Occasionally: >>> >>> Current CompileTask: >>> C2: 91131 17255 ! 4 com.oracle.graal.compiler.gen.NodeLIRBuilder::doBlock (478 bytes) >>> >>> >>> This happens about half the time when I run the tests like below with debug or fastdebug build: >>> >>> ./mx.sh --vm server --vmbuild debug unittest -server -ea -esa -XX:-UseHSAILDeoptimization -XX:-UseCompressedOops hsail.test >>> >>> We haven't changed anything lately. Thanks for any advice. >>> Eric >> > From eric.caspole at amd.com Tue Oct 14 21:19:41 2014 From: eric.caspole at amd.com (Eric Caspole) Date: Tue, 14 Oct 2014 17:19:41 -0400 Subject: trying to compile filter().forEach() for HSAIL Message-ID: <543D936D.5030301@amd.com> I am trying to offload a multi-step stream of lambdas with Sumatra, where I would compile both the filter and the forEach into 1 kernel. Here is my test code I want to offload: MyPoint[] inputs; int[] data; int[] data2; Arrays.stream(inputs). parallel(). filter(p -> ((p.x > 6) && (data2 != null))). forEach(p -> { p.y = data[p.x] + data2[p.x]; }); I am trying to do it by using a helper method that will become the "main" of the kernel so to speak: public static final void accept(Predicate predicate, Consumer forEachConsumer, S iterationVariable) { if (predicate.test(iterationVariable)) { forEachConsumer.accept(iterationVariable); } } In the kernel args, the iterationVariable is replaced by the stream source array so each GPU workitem gets its own unique array element to work on. Since the HSA runtime does not have actual method/function call support yet, everything will have to get inlined into this method for the time being. In this naive prototype, I "train" this method 500 times through the normal CPU execution to get some profile, then divert to HSAIL. With my junit for this work my actual types are: predicate class: com.oracle.graal.compiler.hsail.test.lambda.MultiTest$$Lambda$1/1606304070 consumer class : com.oracle.graal.compiler.hsail.test.lambda.MultiTest$$Lambda$2/1525409936 The problem I have met is that the compilation dependency checks fail on "abstract_with_unique_concrete_subtype" because there is more than 1 Predicate implementor loaded in the system, because Graal itself uses some Stream API, for example. Is there a legitimate way to bypass this dependency check when compiling for HSAIL, where everything is funnelled through an offload pipeline under our control? Or is there a graceful solution to narrow the types going into the method? I am compiling this method specifically for HSAIL and it is sort of not really exposed to all the other types in the CPU side system. Thanks, Eric From doug.simon at oracle.com Wed Oct 15 01:00:07 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Wed, 15 Oct 2014 01:00:07 +0000 Subject: hg: graal/graal: 18 new changesets Message-ID: <201410150100.s9F10Ad6001137@aojmv0008> Changeset: f609dff05ea0 Author: Roland Schatz Date: 2014-10-14 11:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f609dff05ea0 Output correct register names in register maps in CFGPrinter. ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeUtil.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CompilationPrinter.java Changeset: ad62445b46b0 Author: Roland Schatz Date: 2014-10-14 12:12 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ad62445b46b0 Revert 9010170f942f: better stamps for I2F, I2D, L2F and L2D operations ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java Changeset: df548b06c259 Author: Andreas Woess Date: 2014-10-14 13:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/df548b06c259 Truffle: always store values of primitive types as long values in the frame array. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/FrameWithoutBoxing.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java Changeset: dab7852da7d7 Author: Bernhard Urban Date: 2014-10-14 14:42 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/dab7852da7d7 truffle pe: re-enable SimplePartialEvaluationTest ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/PartialEvaluationTest.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/SimplePartialEvaluationTest.java Changeset: f503236c022e Author: Bernhard Urban Date: 2014-10-14 13:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f503236c022e hotspot/graal: fix indent ! src/share/vm/runtime/javaCalls.cpp Changeset: 64325207a1a1 Author: Bernhard Urban Date: 2014-10-14 14:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/64325207a1a1 truffle pe: re-enable AssumptionPartialEvaluationTest ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/AssumptionPartialEvaluationTest.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/PartialEvaluationTest.java Changeset: 2ea20d64ab5c Author: Bernhard Urban Date: 2014-10-14 14:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2ea20d64ab5c truffle pe: re-enable ControlFlowExceptionPartialEvaluationTest ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/ControlFlowExceptionPartialEvaluationTest.java Changeset: b0e8bc17af1b Author: Roland Schatz Date: 2014-10-14 16:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b0e8bc17af1b Remove unused method from ArithmeticOperation interface. ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/ArithmeticOperation.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java ! graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/NegateNodeCanonicalizationTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java ! graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulHighNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/UnsignedMulHighNode.java Changeset: d65ca887868d Author: Bernhard Urban Date: 2014-10-14 17:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d65ca887868d mx igv: make a copy of env and fix minor cygwin path issue ! mx/mx_graal.py Changeset: b8d89559915d Author: Bernhard Urban Date: 2014-10-14 17:46 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b8d89559915d mx: implement with support for Task() ! mx/mx_graal.py Changeset: e9c8742148c1 Author: Chris Seaton Date: 2014-10-14 15:06 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/e9c8742148c1 Truffle: NeverValidAssumption can be invalidated. ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/utilities/NeverValidAssumptionTest.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/NeverValidAssumption.java Changeset: 935de03661c1 Author: Chris Seaton Date: 2014-10-14 15:10 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/935de03661c1 Truffle: clearer comment in AssumedValue. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/AssumedValue.java Changeset: 3a586c78a807 Author: Chris Seaton Date: 2014-10-14 16:48 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/3a586c78a807 Merge. Changeset: ecc27b9d2510 Author: Chris Seaton Date: 2014-10-14 18:12 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/ecc27b9d2510 Merge. Changeset: 90c6a996f9cd Author: Christian Humer Date: 2014-10-14 20:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/90c6a996f9cd Truffle: add new callFunctionsWith builtin for SL Truffle tests. ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/SLTruffleGraalTestSuite.java + graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLCallFunctionsWithBuiltin.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SLNodeFactory.java Changeset: 2834b4432586 Author: Christian Humer Date: 2014-10-14 20:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2834b4432586 Truffle: introduce CompilerDirectives.isCompilationConstant. + graal/com.oracle.graal.truffle.test/sl/TestIsCompilationConstant1.sl + graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLIsCompilationConstantBuiltin.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/IsCompilationConstantNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/CompilerDirectivesSubstitutions.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java Changeset: 8cc283ce4bd1 Author: Christian Humer Date: 2014-10-14 20:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8cc283ce4bd1 Truffle: fix TraceTruffleCompilationAST. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallUtils.java Changeset: 9a804ec7f707 Author: Doug Simon Date: 2014-10-15 01:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9a804ec7f707 converted Constant and Value to be interfaces (GRAAL-874) ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/VirtualObject.java + graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/AbstractConstant.java + graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/AbstractValue.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/AllocatableValue.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/NullConstant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/PrimitiveConstant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Value.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/ComplexMatchValue.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCompressedNullConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMonitorValue.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest2.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest3.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest4.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest2.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValue.java ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalJavaAccess.hpp From doug.simon at oracle.com Wed Oct 15 12:16:09 2014 From: doug.simon at oracle.com (Doug Simon) Date: Wed, 15 Oct 2014 14:16:09 +0200 Subject: trying to compile filter().forEach() for HSAIL In-Reply-To: <543D936D.5030301@amd.com> References: <543D936D.5030301@amd.com> Message-ID: On Oct 14, 2014, at 11:19 PM, Eric Caspole wrote: > I am trying to offload a multi-step stream of lambdas with Sumatra, where I would compile both the filter and the forEach into 1 kernel. > > Here is my test code I want to offload: > > MyPoint[] inputs; > int[] data; > int[] data2; > > Arrays.stream(inputs). > parallel(). > filter(p -> ((p.x > 6) && (data2 != null))). > forEach(p -> { > p.y = data[p.x] + data2[p.x]; > }); > > I am trying to do it by using a helper method that will become the "main" of the kernel so to speak: > > public static final void accept(Predicate predicate, > Consumer forEachConsumer, > S iterationVariable) { > if (predicate.test(iterationVariable)) { > forEachConsumer.accept(iterationVariable); > } > } > > In the kernel args, the iterationVariable is replaced by the stream source array so each GPU workitem gets its own unique array element to work on. > > Since the HSA runtime does not have actual method/function call support yet, everything will have to get inlined into this method for the time being. In this naive prototype, I "train" this method 500 times through the normal CPU execution to get some profile, then divert to HSAIL. > > With my junit for this work my actual types are: > > predicate class: com.oracle.graal.compiler.hsail.test.lambda.MultiTest$$Lambda$1/1606304070 > consumer class : com.oracle.graal.compiler.hsail.test.lambda.MultiTest$$Lambda$2/1525409936 > > The problem I have met is that the compilation dependency checks fail on "abstract_with_unique_concrete_subtype" because there is more than 1 Predicate implementor loaded in the system, because Graal itself uses some Stream API, for example. > > Is there a legitimate way to bypass this dependency check when compiling for HSAIL, where everything is funnelled through an offload pipeline under our control? Or is there a graceful solution to narrow the types going into the method? I am compiling this method specifically for HSAIL and it is sort of not really exposed to all the other types in the CPU side system. The problem is that the compilation of the kernel can not (currently) know that since it does not have the context of the caller. Based on the profile resulting from your training, I assume Graal will do guarded inlining for the Predicate and Consumer types you trained on. The ?else? branch should result in a deopt and hence no need to worry about doing a call. Sounds like that is not happening? -Doug From doug.simon at oracle.com Thu Oct 16 01:00:15 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Thu, 16 Oct 2014 01:00:15 +0000 Subject: hg: graal/graal: 153 new changesets Message-ID: <201410160100.s9G10HpI012517@aojmv0008> Changeset: f861021b49b8 Author: Roland Schatz Date: 2014-10-15 11:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f861021b49b8 Restructure CodeCacheProvider hierarchy. ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackendFactory.java - graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCodeCacheProvider.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotCodeCacheProvider.java ! graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotCodeCacheProvider.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackendFactory.java - graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotCodeCacheProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java Changeset: a38357f170c0 Author: Roland Schatz Date: 2014-10-15 11:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a38357f170c0 Make data section patching extensible. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/data/DataSection.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/data/PatchedData.java Changeset: cca154b1bf91 Author: Doug Simon Date: 2014-10-15 13:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cca154b1bf91 removed unnecessary (and incorrectly implemented) method ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/NullConstant.java Changeset: 45b45f902bed Author: Doug Simon Date: 2014-10-15 15:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/45b45f902bed removed Node generation (GRAAL-857) ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/CheckGraalInvariants.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/NodePosIteratorTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchPattern.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeMapTest.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeUsagesTests.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILWorkItemAbsIdNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EndLockScopeNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EnterUnpackFramesStackFrameNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePostWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotDirectCallTargetNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveCurrentStackFrameNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveDeoptimizedStackFrameNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveUnpackFramesStackFrameNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PatchReturnAddressNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PrefetchAllocateNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PushInterpreterFrameNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialArrayRangeWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetLocationProxyNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectGetClassNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java - graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeGenerator.java ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeProcessor.java + graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeVerifier.java - graal/com.oracle.graal.nodeinfo/src/com/oracle/graal/nodeinfo/GeneratedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EntryMarkerNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FullInfopointNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardPhiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardProxyNode.java ! 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/IfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/KillingBeginNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConstantNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNegationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopExitNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryMapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ParameterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SafepointNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ShortCircuitOrNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SimpleInfopointNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StartNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatEqualsNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerBelowNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerRemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedDivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MembarNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/NullCheckNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRLocalNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRStartNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.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/CompareAndSwapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredAtomicReadAndWriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorIdNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.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 ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/UseTrappingNullChecksPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/ComputeInliningRelevance.java - graal/com.oracle.graal.phases/src/com/oracle/graal/phases/verify/VerifyNoNodeClassLiteralIdentityTests.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/IdealGraphPrinter.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java ! graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/EdgesTest.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicArrayCopyNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicObjectCloneNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DeferredPiNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MemoryAnchorNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/IsCompilationConstantNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/LoadIndexedFinalNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactSplitNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactSplitNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulHighNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactSplitNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/UnsignedMulHighNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/CompilationConstantNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverInlineMacroNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/ForceMaterializeNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/MaterializeFrameNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializedObjectState.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/VirtualObjectState.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java Changeset: 990e920dcec7 Author: katleman Date: 2013-12-19 17:23 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/990e920dcec7 Added tag jdk8-b121 for changeset 5f07ec8bb982 ! .hgtags Changeset: 7469c9ca967a Author: amurillo Date: 2013-12-13 09:48 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/7469c9ca967a 8030062: new hotspot build - hs25-b64 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 9ecf408d4568 Author: iveresov Date: 2013-12-12 11:25 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9ecf408d4568 8029668: Kithcensink crashed with guarantee(Assembler::is_simm13(disp)) failed: Do not match large constant offsets Summary: Bailout if we try to reference a stack location that we can't encode Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/sparc.ad Changeset: 68ec0a75ee22 Author: iignatyev Date: 2013-12-13 00:34 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/68ec0a75ee22 8026941: [TESTBUG] java.lang.ClassNotFoundException: java.lang.invoke.InvokeGeneric Reviewed-by: kvn, vlivanov ! test/compiler/jsr292/ConcurrentClassLoadingTest.java Changeset: 8beff993531a Author: iignatyev Date: 2013-12-12 18:57 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/8beff993531a Merge Changeset: 00bcb186fc5a Author: drchase Date: 2013-12-12 15:11 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/00bcb186fc5a 8029351: assert(bt != T_OBJECT) failed: Guard is incorrect in VM:defmeth Summary: replace test condition with reference to the proper predicate, encode folk wisdom into an assert Reviewed-by: twisti, coleenp ! src/share/vm/oops/generateOopMap.cpp Changeset: b00c6d846a0a Author: drchase Date: 2013-12-12 18:00 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/b00c6d846a0a Merge Changeset: ddcb2ac2900d Author: drchase Date: 2013-12-12 20:55 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/ddcb2ac2900d Merge Changeset: 22c88c127fa4 Author: roland Date: 2013-12-13 09:25 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/22c88c127fa4 8029383: assert(counter_changed) failed: failed dependencies, but counter didn't change Summary: no call to SystemDictionary::notice_modification() when class is defined through Unsafe.defineAnonymousClass() can caused missed dependency change. Reviewed-by: kvn, twisti ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: a632dd6ef1f9 Author: anoll Date: 2013-12-16 00:44 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/a632dd6ef1f9 Merge Changeset: 61ee6bab0763 Author: amurillo Date: 2013-12-20 08:43 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/61ee6bab0763 Merge Changeset: adcc814f792a Author: amurillo Date: 2013-12-20 08:43 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/adcc814f792a Added tag hs25-b64 for changeset 61ee6bab0763 ! .hgtags Changeset: 0b9c7eb6658b Author: amurillo Date: 2013-12-20 08:48 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/0b9c7eb6658b 8030752: new hotspot build - hs25-b65 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 5832cdaf89c6 Author: hseigel Date: 2013-12-16 08:24 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/5832cdaf89c6 8027804: JCK resolveMethod test fails expecting AbstractMethodError Summary: Create AME overpass methods and fix method search logic Reviewed-by: kamg, acorn, lfoltan, coleenp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klassVtable.cpp Changeset: 62e87648a4be Author: coleenp Date: 2013-12-19 20:28 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/62e87648a4be 8030633: nsk/jvmti/RedefineClasses/StressRedefine failed invalid method ordering length on Solaris Summary: A method with no declared methods was getting an AME overpass method with the latest change. The method_ordering array was not updated for the new methods. Reviewed-by: dcubed, acorn, dsamersoff, lfoltan, hseigel ! src/share/vm/classfile/defaultMethods.cpp Changeset: be840d0078bc Author: coleenp Date: 2013-12-20 14:03 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/be840d0078bc Merge Changeset: 55fb97c4c58d Author: mikael Date: 2013-12-24 11:48 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/55fb97c4c58d 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013 Summary: Copyright year updated for files modified during 2013 Reviewed-by: twisti, iveresov ! agent/make/Makefile ! agent/src/os/linux/libproc.h ! agent/src/os/linux/salibelf.c ! agent/src/os/linux/symtab.c ! agent/src/os/solaris/proc/saproc.cpp ! agent/src/os/win32/windbg/sawindbg.cpp ! agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HSDB.java ! agent/src/share/classes/sun/jvm/hotspot/LinuxVtblAccess.java ! agent/src/share/classes/sun/jvm/hotspot/asm/Disassembler.java ! agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java ! agent/src/share/classes/sun/jvm/hotspot/ci/ciMethod.java ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/CompileTask.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgCDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windows/amd64/WindowsAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windows/x86/WindowsX86CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/jdi/JVMTIThreadState.java ! agent/src/share/classes/sun/jvm/hotspot/memory/CMSCollector.java ! agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java ! agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodCounters.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java ! agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java ! agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java ! agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/ui/SAPanel.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js ! make/bsd/makefiles/adlc.make ! make/bsd/makefiles/minimal1.make ! make/hotspot.script ! make/linux/makefiles/adlc.make ! make/linux/makefiles/jsig.make ! make/linux/makefiles/minimal1.make ! make/linux/makefiles/saproc.make ! make/sa.files ! make/solaris/makefiles/adlc.make ! make/solaris/makefiles/gcc.make ! make/windows/build_vm_def.sh ! make/windows/makefiles/adlc.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/product.make ! make/windows/makefiles/rules.make ! make/windows/makefiles/sa.make ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_FrameMap_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/c1_globals_sparc.hpp ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/sparc/vm/c2_init_sparc.cpp ! src/cpu/sparc/vm/disassembler_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/sparc/vm/globalDefinitions_sparc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/jni_sparc.h ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/register_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.hpp ! src/cpu/sparc/vm/vmStructs_sparc.hpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/cpu/x86/vm/bytecodeInterpreter_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_FrameMap_x86.cpp ! src/cpu/x86/vm/c1_FrameMap_x86.hpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/c1_globals_x86.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp ! src/cpu/x86/vm/frame_x86.hpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/globalDefinitions_x86.hpp ! src/cpu/x86/vm/register_definitions_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86.hpp ! src/cpu/x86/vm/vmStructs_x86.hpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/entryFrame_zero.hpp ! src/cpu/zero/vm/frame_zero.cpp ! src/cpu/zero/vm/frame_zero.inline.hpp ! src/cpu/zero/vm/globals_zero.hpp ! src/cpu/zero/vm/icBuffer_zero.cpp ! src/cpu/zero/vm/interp_masm_zero.hpp ! src/cpu/zero/vm/interpreter_zero.cpp ! src/cpu/zero/vm/jni_zero.h ! src/cpu/zero/vm/nativeInst_zero.hpp ! src/cpu/zero/vm/register_zero.cpp ! src/cpu/zero/vm/relocInfo_zero.cpp ! src/cpu/zero/vm/sharedRuntime_zero.cpp ! src/cpu/zero/vm/sharkFrame_zero.hpp ! src/cpu/zero/vm/stubGenerator_zero.cpp ! src/cpu/zero/vm/vmStructs_zero.hpp ! src/cpu/zero/vm/vtableStubs_zero.cpp ! src/os/bsd/dtrace/jvm_dtrace.c ! src/os/posix/vm/os_posix.hpp ! src/os/solaris/dtrace/jvm_dtrace.c ! src/os/solaris/vm/globals_solaris.hpp ! src/os/windows/vm/decoder_windows.hpp ! src/os_cpu/bsd_x86/vm/bsd_x86_32.s ! src/os_cpu/bsd_x86/vm/bsd_x86_64.s ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ! src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp ! src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp ! src/os_cpu/bsd_zero/vm/thread_bsd_zero.hpp ! src/os_cpu/bsd_zero/vm/vmStructs_bsd_zero.hpp ! src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp ! src/os_cpu/linux_sparc/vm/linux_sparc.s ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/globals_linux_x86.hpp ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/linux_x86/vm/linux_x86_64.s ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.hpp ! src/os_cpu/linux_x86/vm/vmStructs_linux_x86.hpp ! src/os_cpu/linux_zero/vm/globals_linux_zero.hpp ! src/os_cpu/linux_zero/vm/os_linux_zero.cpp ! src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp ! src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.il ! src/os_cpu/solaris_sparc/vm/solaris_sparc.s ! src/os_cpu/solaris_sparc/vm/vmStructs_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.s ! src/os_cpu/solaris_x86/vm/solaris_x86_64.s ! src/os_cpu/solaris_x86/vm/vmStructs_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/globals_windows_x86.hpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.hpp ! src/os_cpu/windows_x86/vm/vmStructs_windows_x86.hpp ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java ! src/share/tools/ProjectCreator/WinGammaPlatformVC7.java ! src/share/tools/hsdis/hsdis.c ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/dfa.cpp ! src/share/vm/adlc/dict2.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compiler.cpp ! src/share/vm/c1/c1_Compiler.hpp ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_FrameMap.hpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_Instruction.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_RangeCheckElimination.cpp ! src/share/vm/c1/c1_RangeCheckElimination.hpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/c1/c1_ValueMap.cpp ! src/share/vm/c1/c1_ValueMap.hpp ! src/share/vm/c1/c1_globals.cpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/bcEscapeAnalyzer.hpp ! src/share/vm/ci/ciArray.cpp ! src/share/vm/ci/ciArray.hpp ! src/share/vm/ci/ciClassList.hpp ! src/share/vm/ci/ciConstant.hpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciFlags.hpp ! src/share/vm/ci/ciInstance.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/ci/ciKlass.cpp ! src/share/vm/ci/ciKlass.hpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/ci/ciMethodData.hpp ! src/share/vm/ci/ciObjArrayKlass.cpp ! src/share/vm/ci/ciObjArrayKlass.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/ci/ciObjectFactory.hpp ! src/share/vm/ci/ciStreams.hpp ! src/share/vm/ci/ciType.cpp ! src/share/vm/ci/ciType.hpp ! src/share/vm/ci/ciTypeArray.cpp ! src/share/vm/ci/ciTypeArrayKlass.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/ci/ciUtilities.hpp ! src/share/vm/classfile/bytecodeAssembler.cpp ! src/share/vm/classfile/classFileStream.cpp ! src/share/vm/classfile/classFileStream.hpp ! src/share/vm/classfile/classLoaderData.inline.hpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/code/compressedStream.cpp ! src/share/vm/code/debugInfo.hpp ! src/share/vm/code/icBuffer.hpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/stubs.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/compiler/abstractCompiler.cpp ! src/share/vm/compiler/abstractCompiler.hpp ! src/share/vm/compiler/compileLog.cpp ! src/share/vm/compiler/compileLog.hpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.hpp ! src/share/vm/gc_implementation/g1/g1AllocRegion.hpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.cpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp ! src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp ! src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/shared/allocationStats.cpp ! src/share/vm/gc_implementation/shared/concurrentGCThread.hpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.cpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.hpp ! src/share/vm/gc_implementation/shared/immutableSpace.cpp ! src/share/vm/gc_implementation/shared/isGCActiveMark.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp ! src/share/vm/gc_implementation/shared/spaceCounters.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/gc_interface/gcCause.cpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/cppInterpreter.hpp ! src/share/vm/interpreter/interpreter.hpp ! src/share/vm/interpreter/templateInterpreter.hpp ! src/share/vm/interpreter/templateInterpreterGenerator.hpp ! src/share/vm/interpreter/templateTable.hpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/memory/blockOffsetTable.cpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/freeList.hpp ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/genRemSet.cpp ! src/share/vm/memory/genRemSet.hpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/memory/heap.hpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/memory/metaspaceCounters.hpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/specialized_oop_closures.hpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayOop.hpp ! src/share/vm/oops/compiledICHolder.cpp ! src/share/vm/oops/fieldInfo.hpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceClassLoaderKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/instanceOop.hpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/klassPS.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/objArrayKlass.inline.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp ! src/share/vm/oops/oop.psgc.inline.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/oops/typeArrayKlass.hpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/buildOopMap.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/c2compiler.hpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/classes.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/coalesce.hpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/domgraph.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/live.hpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/multnode.cpp ! src/share/vm/opto/multnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/optoreg.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/output.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/phase.cpp ! src/share/vm/opto/phase.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/regalloc.cpp ! src/share/vm/opto/regalloc.hpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/subnode.hpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/superword.hpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/forte.cpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jvm_misc.hpp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiEnvThreadState.cpp ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiGetLoadedClasses.cpp ! src/share/vm/prims/jvmtiTrace.hpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/perf.cpp ! src/share/vm/prims/wbtestmethods/parserTests.hpp ! src/share/vm/prims/whitebox.hpp ! src/share/vm/runtime/advancedThresholdPolicy.hpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.hpp ! src/share/vm/runtime/compilationPolicy.hpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/handles.inline.hpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/perfData.hpp ! src/share/vm/runtime/reflection.hpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/signature.cpp ! src/share/vm/runtime/signature.hpp ! src/share/vm/runtime/stubCodeGenerator.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/unhandledOops.hpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp ! src/share/vm/runtime/vframeArray.hpp ! src/share/vm/runtime/virtualspace.hpp ! src/share/vm/runtime/vm_version.hpp ! src/share/vm/services/classLoadingService.hpp ! src/share/vm/services/dtraceAttacher.cpp ! src/share/vm/services/g1MemoryPool.hpp ! src/share/vm/services/memReporter.cpp ! src/share/vm/services/memReporter.hpp ! src/share/vm/services/memSnapshot.hpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp ! src/share/vm/services/memoryUsage.hpp ! src/share/vm/services/psMemoryPool.hpp ! src/share/vm/services/threadService.hpp ! src/share/vm/shark/sharkBlock.cpp ! src/share/vm/shark/sharkBuilder.cpp ! src/share/vm/shark/sharkCompiler.cpp ! src/share/vm/shark/sharkCompiler.hpp ! src/share/vm/shark/sharkConstant.cpp ! src/share/vm/shark/sharkFunction.cpp ! src/share/vm/shark/sharkInliner.cpp ! src/share/vm/shark/sharkInvariants.hpp ! src/share/vm/shark/sharkTopLevelBlock.cpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp ! src/share/vm/utilities/bitMap.inline.hpp ! src/share/vm/utilities/decoder.cpp ! src/share/vm/utilities/decoder.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/globalDefinitions.cpp ! src/share/vm/utilities/globalDefinitions_visCPP.hpp ! src/share/vm/utilities/growableArray.hpp ! src/share/vm/utilities/hashtable.hpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/numberSeq.cpp ! src/share/vm/utilities/ostream.hpp ! src/share/vm/utilities/top.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! test/Makefile ! test/TEST.ROOT ! test/compiler/5091921/Test7005594.sh ! test/compiler/6431242/Test.java ! test/compiler/6589834/Test_ia32.java ! test/compiler/6636138/Test1.java ! test/compiler/6636138/Test2.java ! test/compiler/6795161/Test.java ! test/compiler/6857159/Test6857159.sh ! test/compiler/7068051/Test7068051.sh ! test/compiler/7070134/Test7070134.sh ! test/compiler/7200264/Test7200264.sh ! test/compiler/8000805/Test8000805.java ! test/compiler/8005419/Test8005419.java ! test/gc/6941923/Test6941923.java ! test/gc/g1/TestHumongousAllocInitialMark.java ! test/runtime/6626217/Test6626217.sh ! test/runtime/7110720/Test7110720.sh ! test/runtime/7162488/Test7162488.sh ! test/runtime/RedefineObject/Agent.java ! test/runtime/RedefineObject/TestRedefineObject.java Changeset: d3521d8e562a Author: amurillo Date: 2013-12-27 07:32 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/d3521d8e562a Added tag hs25-b65 for changeset 55fb97c4c58d ! .hgtags Changeset: 591135a7d6f9 Author: katleman Date: 2014-01-03 11:54 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/591135a7d6f9 Added tag jdk8-b122 for changeset d3521d8e562a ! .hgtags Changeset: c89630a122b4 Author: katleman Date: 2014-01-10 08:31 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/c89630a122b4 Added tag jdk8-b123 for changeset 591135a7d6f9 ! .hgtags Changeset: 7ccce1a6fa4d Author: coleenp Date: 2013-09-05 10:29 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/7ccce1a6fa4d 8021266: Better life cycle for objects Summary: Improve life cycle for objects Reviewed-by: art, hseigel Contributed-by: gerard.ziemski at oracle.com ! src/share/vm/runtime/os.cpp Changeset: 2a907fd129cb Author: chegar Date: 2013-09-06 09:55 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/2a907fd129cb Merge ! src/share/vm/runtime/os.cpp - test/runtime/7051189/Xchecksig.sh Changeset: 9b4ce069642e Author: chegar Date: 2013-09-14 20:40 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/9b4ce069642e Merge ! src/share/vm/classfile/classFileParser.cpp - src/share/vm/classfile/genericSignatures.cpp - src/share/vm/classfile/genericSignatures.hpp ! src/share/vm/runtime/os.cpp Changeset: 6fa574bfd32a Author: chegar Date: 2013-10-03 19:13 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/6fa574bfd32a Merge ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/runtime/os.cpp - test/gc/metaspace/ClassMetaspaceSizeInJmapHeap.java - test/runtime/6878713/Test6878713.sh - test/runtime/6878713/testcase.jar - test/runtime/7020373/Test7020373.sh - test/runtime/7020373/testcase.jar Changeset: 6795fcebbf42 Author: chegar Date: 2013-10-21 14:08 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/6795fcebbf42 Merge ! src/share/vm/classfile/classFileParser.cpp - test/testlibrary/AssertsTest.java - test/testlibrary/OutputAnalyzerReportingTest.java - test/testlibrary/OutputAnalyzerTest.java Changeset: c31f0cbe6d9e Author: chegar Date: 2013-11-03 07:50 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/c31f0cbe6d9e Merge - src/share/vm/memory/metablock.cpp - src/share/vm/memory/metablock.hpp - test/compiler/8013496/Test8013496.sh - test/compiler/intrinsics/mathexact/CondTest.java - test/compiler/intrinsics/mathexact/ConstantTest.java - test/compiler/intrinsics/mathexact/LoadTest.java - test/compiler/intrinsics/mathexact/LoopDependentTest.java - test/compiler/intrinsics/mathexact/NonConstantTest.java - test/gc/7168848/HumongousAlloc.java Changeset: 0611ce949aaa Author: kizune Date: 2013-12-03 14:13 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/0611ce949aaa Merge ! src/share/vm/classfile/classFileParser.cpp Changeset: e254e5940c19 Author: kizune Date: 2013-12-05 16:37 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/e254e5940c19 Merge ! src/share/vm/classfile/classFileParser.cpp - test/compiler/jsr292/methodHandleExceptions/C.java - test/compiler/jsr292/methodHandleExceptions/I.java Changeset: 9063bd8808a7 Author: jrose Date: 2013-12-05 00:36 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9063bd8808a7 8029507: Enhance JVM method processing Summary: update MemberName.clazz correctly in MemberName.resolve; also pass lookupClass to MethodHandles::resolve_MemberName Reviewed-by: acorn, vlivanov ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp Changeset: 1b46c3672650 Author: kizune Date: 2013-12-13 22:13 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/1b46c3672650 Merge Changeset: 8dbd61445631 Author: asaha Date: 2013-12-17 15:46 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/8dbd61445631 Merge Changeset: ddff10b13587 Author: asaha Date: 2013-12-20 07:41 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/ddff10b13587 Merge Changeset: a902f789ea1f Author: asaha Date: 2014-01-02 15:19 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/a902f789ea1f Merge Changeset: 3b69a859e3f9 Author: asaha Date: 2014-01-03 15:58 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/3b69a859e3f9 Merge Changeset: f898fdfc08a5 Author: jeff Date: 2014-01-13 14:42 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/f898fdfc08a5 7129980: Third Party License Readme update for JDK8 Reviewed-by: lana, tbell ! THIRD_PARTY_README Changeset: b99955ea4b91 Author: lana Date: 2014-01-13 22:31 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/b99955ea4b91 Merge Changeset: 9d39e8a8ff61 Author: amurillo Date: 2013-12-27 07:51 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9d39e8a8ff61 8031060: new hotspot build - hs25-b66 Reviewed-by: jcoomes ! make/hotspot_version Changeset: c3f3cfd39184 Author: hseigel Date: 2014-01-10 12:11 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/c3f3cfd39184 8031059: invokestatic: ICCE trying to invoke static method when it clashes with an abstract method inherited from an interface Summary: Do not create AME overpass if there is a matching static method Reviewed-by: lfoltan, coleenp, kamg ! src/share/vm/classfile/defaultMethods.cpp Changeset: 9b9816164447 Author: amurillo Date: 2014-01-13 15:52 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9b9816164447 Merge Changeset: ac902fca803b Author: amurillo Date: 2014-01-13 15:52 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/ac902fca803b Added tag hs25-b66 for changeset 9b9816164447 ! .hgtags Changeset: 2c3130311ffa Author: amurillo Date: 2014-01-14 11:22 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/2c3130311ffa Merge Changeset: df333ee12bba Author: lana Date: 2014-01-15 10:48 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/df333ee12bba Merge Changeset: e2e6ca7e0ea6 Author: katleman Date: 2014-01-17 15:52 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/e2e6ca7e0ea6 Added tag jdk8-b124 for changeset df333ee12bba ! .hgtags Changeset: ce0320cdb075 Author: jeff Date: 2014-01-28 20:09 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/ce0320cdb075 8032816: THIRDPARTYREADME LittleCMS preamble missing JRE 8 & JDK 8 Reviewed-by: lana ! THIRD_PARTY_README Changeset: 16e0c6c84a91 Author: amurillo Date: 2014-01-13 16:00 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/16e0c6c84a91 8031553: new hotspot build - hs25-b67 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 12ad8db39f76 Author: roland Date: 2014-01-14 09:44 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/12ad8db39f76 8028764: dtrace/hotspot_jni/ALL/ALL001 crashes the vm on Solaris-amd64, SIGSEGV in MarkSweep::follow_stack()+0x8a Summary: C1 generates code to encode compressed oop into tmp register before runtime call for patching where GC may happen Reviewed-by: iveresov, twisti, kvn Contributed-by: mgerdin ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Changeset: 8b81451dc7f7 Author: twisti Date: 2014-01-16 16:18 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/8b81451dc7f7 8022395: java.util.zip.ZipException: Not in GZIP format in JT_JDK/test/java/util/zip/GZIP tests Reviewed-by: kvn, iveresov ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Changeset: 3585183c191a Author: amurillo Date: 2014-01-17 20:24 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/3585183c191a Merge Changeset: 5df2666e4573 Author: amurillo Date: 2014-01-17 20:24 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/5df2666e4573 Added tag hs25-b67 for changeset 3585183c191a ! .hgtags Changeset: 55ff9170e27d Author: katleman Date: 2014-01-22 12:53 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/55ff9170e27d Added tag jdk8-b125 for changeset df333ee12bba ! .hgtags Changeset: c8218f1072a0 Author: katleman Date: 2014-01-22 14:07 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/c8218f1072a0 Merge ! .hgtags Changeset: 9a11d5e679cf Author: katleman Date: 2014-01-24 15:07 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9a11d5e679cf Added tag jdk8-b126 for changeset c8218f1072a0 ! .hgtags Changeset: c2106608358b Author: amurillo Date: 2014-01-17 20:30 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/c2106608358b 8032015: new hotspot build - hs25-b68 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 709018897c81 Author: vlivanov Date: 2014-01-23 01:23 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/709018897c81 8031695: CHA ignores default methods during analysis leading to incorrect code generation Reviewed-by: jrose, acorn, hseigel, lfoltan ! src/share/vm/code/dependencies.cpp + test/compiler/inlining/DefaultAndConcreteMethodsCHA.java Changeset: f970454708b8 Author: iveresov Date: 2014-01-17 18:09 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/f970454708b8 8032207: C2: assert(VerifyOops || MachNode::size(ra_) <= (3+1)*4) failed: bad fixed size Summary: Fix the sizing of loadUS2L_immI16 and loadI2L_immI Reviewed-by: kvn, azeemj ! src/cpu/sparc/vm/sparc.ad + test/compiler/codegen/LoadWithMask.java Changeset: 984401824c5e Author: iveresov Date: 2014-01-21 20:05 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/984401824c5e 8031743: C2: loadI2L_immI broken for negative memory values Summary: Restrict loadI2L_imm optimizations to positive values of mask Reviewed-by: kvn, dlong ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad + test/compiler/codegen/LoadWithMask2.java Changeset: d45454002494 Author: amurillo Date: 2014-01-23 13:37 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/d45454002494 Merge Changeset: 2c564e329c87 Author: amurillo Date: 2014-01-23 13:37 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/2c564e329c87 Added tag hs25-b68 for changeset d45454002494 ! .hgtags Changeset: 58879cd9f8df Author: amurillo Date: 2014-01-28 09:51 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/58879cd9f8df Merge ! .hgtags Changeset: 7e412f95e310 Author: amurillo Date: 2014-01-23 13:53 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/7e412f95e310 8032608: new hotspot build - hs25-b69 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 2185d483f5f8 Author: kvn Date: 2014-01-27 10:20 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/2185d483f5f8 8032566: Crash in JIT when running Scala compiler (and compiling Scala std lib) Summary: Switch off EliminateAutoBox flag by default in jdk8 release. Reviewed-by: iveresov ! src/share/vm/opto/c2_globals.hpp Changeset: 32f017489ba5 Author: amurillo Date: 2014-01-28 15:00 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/32f017489ba5 Merge Changeset: 1d8728efc05f Author: amurillo Date: 2014-01-28 15:00 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/1d8728efc05f Added tag hs25-b69 for changeset 32f017489ba5 ! .hgtags Changeset: 35038da7bb9d Author: lana Date: 2014-01-29 11:11 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/35038da7bb9d Merge Changeset: 874c0b4a946c Author: katleman Date: 2014-01-30 12:16 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/874c0b4a946c Added tag jdk8-b127 for changeset 35038da7bb9d ! .hgtags Changeset: cb39165c4a65 Author: katleman Date: 2014-02-01 18:21 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/cb39165c4a65 Added tag jdk8-b128 for changeset 874c0b4a946c ! .hgtags Changeset: 1dbaf664a611 Author: katleman Date: 2014-02-06 17:34 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/1dbaf664a611 Added tag jdk8-b129 for changeset cb39165c4a65 ! .hgtags Changeset: b5e7ebfe185c Author: katleman Date: 2014-02-28 10:06 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/b5e7ebfe185c Added tag jdk8-b130 for changeset 1dbaf664a611 ! .hgtags Changeset: 5380dc5d007e Author: katleman Date: 2014-02-28 13:36 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/5380dc5d007e Added tag jdk8-b131 for changeset b5e7ebfe185c ! .hgtags Changeset: 54f0c207dc35 Author: amurillo Date: 2014-01-28 15:11 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/54f0c207dc35 8032984: new hotspot build - hs25-b70 Reviewed-by: jcoomes ! make/hotspot_version Changeset: e46f2ee62e78 Author: vlivanov Date: 2014-03-03 16:10 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/e46f2ee62e78 8036100: Default method returns true for a while, and then returns false Reviewed-by: kvn, jrose ! src/share/vm/ci/ciMethod.cpp + test/compiler/inlining/InlineDefaultMethod1.java Changeset: 9f9179e8f0cf Author: amurillo Date: 2014-03-03 17:48 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9f9179e8f0cf Merge Changeset: 0c94c41dcd70 Author: amurillo Date: 2014-03-03 17:48 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/0c94c41dcd70 Added tag hs25-b70 for changeset 9f9179e8f0cf ! .hgtags Changeset: 89152779163c Author: Gilles Duboscq Date: 2014-10-15 11:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/89152779163c Merge with jdk8-b132 ! .hgtags ! THIRD_PARTY_README ! agent/make/Makefile ! agent/src/os/linux/libproc.h ! agent/src/os/linux/salibelf.c ! agent/src/os/linux/symtab.c ! agent/src/os/solaris/proc/saproc.cpp ! agent/src/os/win32/windbg/sawindbg.cpp ! agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HSDB.java ! agent/src/share/classes/sun/jvm/hotspot/LinuxVtblAccess.java ! agent/src/share/classes/sun/jvm/hotspot/asm/Disassembler.java ! agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java ! agent/src/share/classes/sun/jvm/hotspot/ci/ciMethod.java ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/CompileTask.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxOopHandle.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgCDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windows/amd64/WindowsAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/windows/x86/WindowsX86CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/jdi/JVMTIThreadState.java ! agent/src/share/classes/sun/jvm/hotspot/memory/CMSCollector.java ! agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java ! agent/src/share/classes/sun/jvm/hotspot/memory/SymbolTable.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Klass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodCounters.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/tools/FinalizerInfo.java ! agent/src/share/classes/sun/jvm/hotspot/tools/FlagDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JSnap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JStack.java ! agent/src/share/classes/sun/jvm/hotspot/tools/ObjectHistogram.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.java ! agent/src/share/classes/sun/jvm/hotspot/tools/SysPropsDumper.java ! agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/JSDB.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/ui/SAPanel.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/AbstractHeapGraphWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js ! make/bsd/makefiles/adlc.make ! make/bsd/makefiles/minimal1.make ! make/hotspot.script ! make/hotspot_version ! make/linux/makefiles/adlc.make ! make/linux/makefiles/jsig.make ! make/linux/makefiles/minimal1.make ! make/linux/makefiles/saproc.make ! make/sa.files ! make/solaris/makefiles/adlc.make ! make/solaris/makefiles/gcc.make ! make/windows/build_vm_def.sh ! make/windows/makefiles/adlc.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/product.make ! make/windows/makefiles/rules.make ! make/windows/makefiles/sa.make ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_FrameMap_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/c1_globals_sparc.hpp ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/sparc/vm/c2_init_sparc.cpp ! src/cpu/sparc/vm/disassembler_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/sparc/vm/globalDefinitions_sparc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/jni_sparc.h ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/register_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.hpp ! src/cpu/sparc/vm/vmStructs_sparc.hpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/cpu/x86/vm/bytecodeInterpreter_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_FrameMap_x86.cpp ! src/cpu/x86/vm/c1_FrameMap_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/c1_globals_x86.hpp ! src/cpu/x86/vm/c2_globals_x86.hpp ! src/cpu/x86/vm/frame_x86.hpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/globalDefinitions_x86.hpp ! src/cpu/x86/vm/register_definitions_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86.hpp ! src/cpu/x86/vm/vmStructs_x86.hpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/entryFrame_zero.hpp ! src/cpu/zero/vm/frame_zero.cpp ! src/cpu/zero/vm/frame_zero.inline.hpp ! src/cpu/zero/vm/globals_zero.hpp ! src/cpu/zero/vm/icBuffer_zero.cpp ! src/cpu/zero/vm/interp_masm_zero.hpp ! src/cpu/zero/vm/interpreter_zero.cpp ! src/cpu/zero/vm/jni_zero.h ! src/cpu/zero/vm/nativeInst_zero.hpp ! src/cpu/zero/vm/register_zero.cpp ! src/cpu/zero/vm/relocInfo_zero.cpp ! src/cpu/zero/vm/sharedRuntime_zero.cpp ! src/cpu/zero/vm/sharkFrame_zero.hpp ! src/cpu/zero/vm/stubGenerator_zero.cpp ! src/cpu/zero/vm/vmStructs_zero.hpp ! src/cpu/zero/vm/vtableStubs_zero.cpp ! src/os/bsd/dtrace/jvm_dtrace.c ! src/os/posix/vm/os_posix.hpp ! src/os/solaris/dtrace/jvm_dtrace.c ! src/os/solaris/vm/globals_solaris.hpp ! src/os/windows/vm/decoder_windows.hpp ! src/os_cpu/bsd_x86/vm/bsd_x86_32.s ! src/os_cpu/bsd_x86/vm/bsd_x86_64.s ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ! src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp ! src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp ! src/os_cpu/bsd_zero/vm/thread_bsd_zero.hpp ! src/os_cpu/bsd_zero/vm/vmStructs_bsd_zero.hpp ! src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp ! src/os_cpu/linux_sparc/vm/linux_sparc.s ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/globals_linux_x86.hpp ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/linux_x86/vm/linux_x86_64.s ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.hpp ! src/os_cpu/linux_x86/vm/vmStructs_linux_x86.hpp ! src/os_cpu/linux_zero/vm/globals_linux_zero.hpp ! src/os_cpu/linux_zero/vm/os_linux_zero.cpp ! src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp ! src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.il ! src/os_cpu/solaris_sparc/vm/solaris_sparc.s ! src/os_cpu/solaris_sparc/vm/vmStructs_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.s ! src/os_cpu/solaris_x86/vm/solaris_x86_64.s ! src/os_cpu/solaris_x86/vm/vmStructs_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/globals_windows_x86.hpp ! src/os_cpu/windows_x86/vm/os_windows_x86.cpp ! src/os_cpu/windows_x86/vm/os_windows_x86.hpp ! src/os_cpu/windows_x86/vm/vmStructs_windows_x86.hpp ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java ! src/share/tools/ProjectCreator/WinGammaPlatformVC7.java ! src/share/tools/hsdis/hsdis.c ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/dfa.cpp ! src/share/vm/adlc/dict2.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/macroAssembler.hpp ! src/share/vm/asm/macroAssembler.inline.hpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compiler.cpp ! src/share/vm/c1/c1_Compiler.hpp ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_FrameMap.hpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_Instruction.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_RangeCheckElimination.cpp ! src/share/vm/c1/c1_RangeCheckElimination.hpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/c1/c1_ValueMap.cpp ! src/share/vm/c1/c1_ValueMap.hpp ! src/share/vm/c1/c1_globals.cpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/bcEscapeAnalyzer.hpp ! src/share/vm/ci/ciArray.cpp ! src/share/vm/ci/ciArray.hpp ! src/share/vm/ci/ciClassList.hpp ! src/share/vm/ci/ciConstant.hpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciFlags.hpp ! src/share/vm/ci/ciInstance.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/ci/ciKlass.cpp ! src/share/vm/ci/ciKlass.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/ci/ciMethodData.hpp ! src/share/vm/ci/ciObjArrayKlass.cpp ! src/share/vm/ci/ciObjArrayKlass.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/ci/ciObjectFactory.hpp ! src/share/vm/ci/ciStreams.hpp ! src/share/vm/ci/ciType.cpp ! src/share/vm/ci/ciType.hpp ! src/share/vm/ci/ciTypeArray.cpp ! src/share/vm/ci/ciTypeArrayKlass.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/ci/ciUtilities.hpp ! src/share/vm/classfile/bytecodeAssembler.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileStream.cpp ! src/share/vm/classfile/classFileStream.hpp ! src/share/vm/classfile/classLoaderData.inline.hpp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/code/compressedStream.cpp ! src/share/vm/code/debugInfo.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/icBuffer.hpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/stubs.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/compiler/abstractCompiler.cpp ! src/share/vm/compiler/abstractCompiler.hpp ! src/share/vm/compiler/compileLog.cpp ! src/share/vm/compiler/compileLog.hpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.hpp ! src/share/vm/gc_implementation/g1/g1AllocRegion.hpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.cpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp ! src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp ! src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/shared/allocationStats.cpp ! src/share/vm/gc_implementation/shared/concurrentGCThread.hpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.cpp ! src/share/vm/gc_implementation/shared/gSpaceCounters.hpp ! src/share/vm/gc_implementation/shared/gcAdaptivePolicyCounters.hpp ! src/share/vm/gc_implementation/shared/immutableSpace.cpp ! src/share/vm/gc_implementation/shared/isGCActiveMark.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp ! src/share/vm/gc_implementation/shared/spaceCounters.cpp ! src/share/vm/gc_implementation/shared/spaceCounters.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/gc_interface/gcCause.cpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/cppInterpreter.hpp ! src/share/vm/interpreter/interpreter.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/templateInterpreter.hpp ! src/share/vm/interpreter/templateInterpreterGenerator.hpp ! src/share/vm/interpreter/templateTable.hpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/memory/blockOffsetTable.cpp ! src/share/vm/memory/freeBlockDictionary.cpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/freeList.hpp ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/genRemSet.cpp ! src/share/vm/memory/genRemSet.hpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/generationSpec.cpp ! src/share/vm/memory/heap.hpp ! src/share/vm/memory/iterator.cpp ! src/share/vm/memory/iterator.hpp ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/memory/metaspaceCounters.hpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/specialized_oop_closures.hpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayOop.hpp ! src/share/vm/oops/compiledICHolder.cpp ! src/share/vm/oops/fieldInfo.hpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/oops/instanceClassLoaderKlass.cpp ! src/share/vm/oops/instanceClassLoaderKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/instanceOop.hpp ! src/share/vm/oops/instanceRefKlass.hpp ! src/share/vm/oops/klassPS.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/objArrayKlass.inline.hpp ! src/share/vm/oops/oop.pcgc.inline.hpp ! src/share/vm/oops/oop.psgc.inline.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/oops/typeArrayKlass.hpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/buildOopMap.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/c2compiler.hpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/classes.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/coalesce.hpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/domgraph.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/live.hpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/multnode.cpp ! src/share/vm/opto/multnode.hpp ! src/share/vm/opto/optoreg.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/output.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/phase.cpp ! src/share/vm/opto/phase.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/regalloc.cpp ! src/share/vm/opto/regalloc.hpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/subnode.hpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/superword.hpp ! src/share/vm/precompiled/precompiled.hpp ! src/share/vm/prims/forte.cpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jvm_misc.hpp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiEnvThreadState.cpp ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/prims/jvmtiGetLoadedClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiTrace.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/perf.cpp ! src/share/vm/prims/wbtestmethods/parserTests.hpp ! src/share/vm/prims/whitebox.hpp ! src/share/vm/runtime/advancedThresholdPolicy.hpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.hpp ! src/share/vm/runtime/compilationPolicy.hpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/globals_extension.hpp ! src/share/vm/runtime/handles.inline.hpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/perfData.hpp ! src/share/vm/runtime/reflection.hpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/signature.cpp ! src/share/vm/runtime/signature.hpp ! src/share/vm/runtime/stubCodeGenerator.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/runtime/unhandledOops.hpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp ! src/share/vm/runtime/vframeArray.hpp ! src/share/vm/runtime/virtualspace.hpp ! src/share/vm/runtime/vm_version.hpp ! src/share/vm/services/classLoadingService.hpp ! src/share/vm/services/dtraceAttacher.cpp ! src/share/vm/services/g1MemoryPool.hpp ! src/share/vm/services/memReporter.cpp ! src/share/vm/services/memReporter.hpp ! src/share/vm/services/memSnapshot.hpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp ! src/share/vm/services/memoryUsage.hpp ! src/share/vm/services/psMemoryPool.hpp ! src/share/vm/services/threadService.hpp ! src/share/vm/shark/sharkBlock.cpp ! src/share/vm/shark/sharkBuilder.cpp ! src/share/vm/shark/sharkCompiler.cpp ! src/share/vm/shark/sharkCompiler.hpp ! src/share/vm/shark/sharkConstant.cpp ! src/share/vm/shark/sharkFunction.cpp ! src/share/vm/shark/sharkInliner.cpp ! src/share/vm/shark/sharkInvariants.hpp ! src/share/vm/shark/sharkTopLevelBlock.cpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp ! src/share/vm/utilities/bitMap.inline.hpp ! src/share/vm/utilities/decoder.cpp ! src/share/vm/utilities/decoder.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/globalDefinitions.cpp ! src/share/vm/utilities/globalDefinitions_visCPP.hpp ! src/share/vm/utilities/growableArray.hpp ! src/share/vm/utilities/hashtable.hpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/numberSeq.cpp ! src/share/vm/utilities/ostream.hpp ! src/share/vm/utilities/top.hpp ! src/share/vm/utilities/yieldingWorkgroup.cpp ! test/Makefile ! test/TEST.ROOT ! test/compiler/5091921/Test7005594.sh ! test/compiler/6431242/Test.java ! test/compiler/6589834/Test_ia32.java ! test/compiler/6636138/Test1.java ! test/compiler/6636138/Test2.java ! test/compiler/6795161/Test.java ! test/compiler/6857159/Test6857159.sh ! test/compiler/7068051/Test7068051.sh ! test/compiler/7070134/Test7070134.sh ! test/compiler/7200264/Test7200264.sh ! test/compiler/8000805/Test8000805.java ! test/compiler/8005419/Test8005419.java ! test/compiler/jsr292/ConcurrentClassLoadingTest.java ! test/gc/6941923/Test6941923.java ! test/gc/g1/TestHumongousAllocInitialMark.java ! test/runtime/6626217/Test6626217.sh ! test/runtime/7110720/Test7110720.sh ! test/runtime/7162488/Test7162488.sh ! test/runtime/RedefineObject/Agent.java ! test/runtime/RedefineObject/TestRedefineObject.java Changeset: 87ee5ee27509 Author: katleman Date: 2014-03-04 11:51 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/87ee5ee27509 Added tag jdk8-b132 for changeset 0c94c41dcd70 ! .hgtags Changeset: 57e8ab42b57e Author: asaha Date: 2013-12-08 20:15 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/57e8ab42b57e 8029627: Allow duplicate bugid for changeset in jdk8 update forest Reviewed-by: jcoomes ! .jcheck/conf Changeset: 100ddcb2119f Author: asaha Date: 2013-12-08 21:59 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/100ddcb2119f Merge Changeset: 4e0d161dd1fb Author: asaha Date: 2013-12-09 12:36 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/4e0d161dd1fb Merge Changeset: 374b6d3ff1e3 Author: asaha Date: 2013-12-13 17:19 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/374b6d3ff1e3 Merge Changeset: 4a35ef38e2a7 Author: asaha Date: 2013-12-16 15:34 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/4a35ef38e2a7 8030359: Increment minor version of HSx for 8u5 and initialize the build number Reviewed-by: jcoomes ! make/hotspot_version Changeset: 25a5a05cc40e Author: asaha Date: 2013-12-16 15:40 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/25a5a05cc40e Added tag jdk8u5-b01 for changeset 4a35ef38e2a7 ! .hgtags Changeset: e5561d89fe8b Author: asaha Date: 2013-12-20 09:29 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/e5561d89fe8b Merge ! .hgtags ! make/hotspot_version Changeset: bf6415ab0f16 Author: katleman Date: 2013-12-24 14:13 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/bf6415ab0f16 Added tag jdk8u5-b02 for changeset e5561d89fe8b ! .hgtags Changeset: 2f9eb9fcab6c Author: asaha Date: 2014-01-06 13:10 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/2f9eb9fcab6c Merge ! .hgtags ! make/hotspot_version Changeset: 212a8089da49 Author: katleman Date: 2014-01-07 13:30 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/212a8089da49 Added tag jdk8u5-b03 for changeset 2f9eb9fcab6c ! .hgtags Changeset: b478fbd63109 Author: dsimms Date: 2014-01-10 11:15 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/b478fbd63109 8029858: Enhance array copies Summary: Just read the source element once Reviewed-by: coleenp, ahgross ! src/share/vm/oops/objArrayKlass.cpp Changeset: 5ac720d47ab8 Author: asaha Date: 2014-01-10 11:28 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/5ac720d47ab8 Merge ! .hgtags Changeset: 66ae48d0f855 Author: katleman Date: 2014-01-14 15:27 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/66ae48d0f855 Added tag jdk8u5-b04 for changeset 5ac720d47ab8 ! .hgtags Changeset: b90de55aca30 Author: asaha Date: 2014-01-17 22:36 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/b90de55aca30 Merge ! .hgtags ! make/hotspot_version Changeset: 2bac854670c0 Author: katleman Date: 2014-01-22 12:37 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/2bac854670c0 Added tag jdk8u5-b05 for changeset b90de55aca30 ! .hgtags Changeset: 4aa6fa2864af Author: asaha Date: 2014-01-23 14:50 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/4aa6fa2864af Merge ! .hgtags ! make/hotspot_version Changeset: 956c0e048ef2 Author: asaha Date: 2014-01-24 18:53 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/956c0e048ef2 Merge ! .hgtags Changeset: 2fdc8a2268d2 Author: katleman Date: 2014-01-28 14:56 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/2fdc8a2268d2 Added tag jdk8u5-b06 for changeset 956c0e048ef2 ! .hgtags Changeset: a9e1716111a7 Author: asaha Date: 2014-01-30 14:09 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/a9e1716111a7 Merge ! .hgtags ! make/hotspot_version Changeset: 4536a5ffd9b1 Author: jeff Date: 2014-01-31 22:18 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/4536a5ffd9b1 8032726: THIRD_PARTY_LICENSE_README Update for Little CMS to 2.5 Reviewed-by: lana, prr ! THIRD_PARTY_README Changeset: 46fa2940e686 Author: asaha Date: 2014-02-02 22:45 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/46fa2940e686 Merge ! .hgtags Changeset: d3b9c107366b Author: katleman Date: 2014-02-04 15:59 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/d3b9c107366b Added tag jdk8u5-b07 for changeset 46fa2940e686 ! .hgtags Changeset: 21c1dfbed277 Author: asaha Date: 2014-02-07 11:51 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/21c1dfbed277 Merge ! .hgtags Changeset: 6af9ce1c56a6 Author: katleman Date: 2014-02-11 14:35 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/6af9ce1c56a6 Added tag jdk8u5-b08 for changeset 21c1dfbed277 ! .hgtags Changeset: 629267e4f0b5 Author: katleman Date: 2014-02-18 13:22 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/629267e4f0b5 Added tag jdk8u5-b09 for changeset 6af9ce1c56a6 ! .hgtags Changeset: 42b28d481fb9 Author: katleman Date: 2014-02-25 12:22 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/42b28d481fb9 Added tag jdk8u5-b10 for changeset 629267e4f0b5 ! .hgtags Changeset: a7e6673a0f55 Author: asaha Date: 2014-02-28 11:00 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/a7e6673a0f55 Merge ! .hgtags Changeset: 17a75e692af3 Author: asaha Date: 2014-03-03 10:12 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/17a75e692af3 Merge ! .hgtags Changeset: 0e9ec6d910fe Author: katleman Date: 2014-03-04 12:01 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/0e9ec6d910fe Added tag jdk8u5-b11 for changeset 17a75e692af3 ! .hgtags Changeset: b5c47752d7cb Author: asaha Date: 2014-03-04 15:17 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/b5c47752d7cb Merge ! .hgtags ! make/hotspot_version Changeset: 559d297c72e9 Author: asaha Date: 2014-03-06 13:31 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/559d297c72e9 8036836: Increment hsx build to b02 for 8u5-b12 Reviewed-by: jcoomes ! make/hotspot_version Changeset: c96a3381e55e Author: poonam Date: 2014-02-28 02:43 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/c96a3381e55e 8035283: Second phase of branch shortening doesn't account for loop alignment Summary: added missing check for loop padding case. Reviewed-by: kvn, jrose ! src/share/vm/opto/output.cpp Changeset: 9b289963cb9a Author: hseigel Date: 2014-02-20 13:30 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/9b289963cb9a 8034926: Attribute classes properly Summary: Add check to prevent underflow Reviewed-by: coleenp, ahgross ! src/share/vm/classfile/classFileParser.cpp Changeset: 8a6717910608 Author: katleman Date: 2014-03-11 13:02 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8a6717910608 Added tag jdk8u5-b12 for changeset 9b289963cb9a ! .hgtags Changeset: 562643f42b65 Author: Gilles Duboscq Date: 2014-10-15 12:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/562643f42b65 Merge with jdk8u5-b13 ! .hgtags ! THIRD_PARTY_README ! make/hotspot_version ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/opto/output.cpp Changeset: 5c7ef8e39683 Author: katleman Date: 2014-03-18 13:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/5c7ef8e39683 Added tag jdk8u5-b13 for changeset 8a6717910608 ! .hgtags Changeset: 584e4016c810 Author: jeff Date: 2014-01-31 16:40 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/584e4016c810 8032726: THIRD_PARTY_LICENSE_README Update for Little CMS to 2.5 Reviewed-by: lana, prr ! THIRD_PARTY_README Changeset: 5ef63a79aedf Author: asaha Date: 2014-02-04 22:44 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/5ef63a79aedf Merge ! THIRD_PARTY_README Changeset: 85ae37107003 Author: asaha Date: 2014-02-11 17:28 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/85ae37107003 Merge Changeset: 27be1cc8329c Author: asaha Date: 2014-02-12 11:13 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/27be1cc8329c Added tag jdk8u11-b00 for changeset b90de55aca30 ! .hgtags Changeset: bf4dc2e29b5c Author: asaha Date: 2014-02-12 11:33 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/bf4dc2e29b5c Merge ! .hgtags Changeset: 5656140324ed Author: hseigel Date: 2014-02-13 11:28 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/5656140324ed 8030763: Validate global memory allocation Summary: Add length checks where necessary Reviewed-by: coleenp, mschoene ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/utilities/vmError.cpp Changeset: 1f59838e019d Author: asaha Date: 2014-02-18 14:19 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/1f59838e019d Merge ! .hgtags Changeset: 0964e6038231 Author: hseigel Date: 2014-02-20 13:30 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/0964e6038231 8034926: Attribute classes properly Summary: Add check to prevent underflow Reviewed-by: coleenp, ahgross ! src/share/vm/classfile/classFileParser.cpp Changeset: c28dffbb1d74 Author: asaha Date: 2014-02-26 22:07 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/c28dffbb1d74 Merge ! .hgtags Changeset: c02077c4b79c Author: hseigel Date: 2014-03-04 15:46 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/c02077c4b79c 8032536: JVM resolves wrong method in some unusual cases Summary: Handle package private case Reviewed-by: coleenp, acorn, jdn ! src/share/vm/oops/klassVtable.cpp Changeset: cc7a96a360d0 Author: asaha Date: 2014-03-11 14:02 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/cc7a96a360d0 Merge ! .hgtags Changeset: aff11567504c Author: hseigel Date: 2014-03-17 10:17 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/aff11567504c 8035119: Fix exceptions to bytecode verification Summary: Prevent ctor calls to super() and this() from avoidable code (try blocks, if stmts, etc.) Reviewed-by: coleenp, acorn, mschoene ! src/share/vm/classfile/stackMapTable.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp Changeset: 5f7e12f5b4e5 Author: hseigel Date: 2014-03-19 14:02 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/5f7e12f5b4e5 8036800: Attribute OOM to correct part of code Summary: checks that the attribute_length does not exceed the length of remaining data in the class file Reviewed-by: coleenp, ahgross ! src/share/vm/classfile/classFileParser.cpp Changeset: 0297e36d24a1 Author: coleenp Date: 2014-03-19 14:45 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/0297e36d24a1 8037076: Check constant pool constants Summary: Fix events log string. Reviewed-by: kvn, mschoene ! src/share/vm/utilities/events.cpp Changeset: 2b2cc89121db Author: asaha Date: 2014-03-20 10:06 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/2b2cc89121db Merge ! .hgtags Changeset: f0d759a6a230 Author: acorn Date: 2014-03-20 11:36 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f0d759a6a230 8037167: Better method signature resolution Reviewed-by: mschoene, hseigel, lfoltan ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp Changeset: 3c079aebb516 Author: katleman Date: 2014-03-25 11:23 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3c079aebb516 Added tag jdk8u11-b01 for changeset f0d759a6a230 ! .hgtags Changeset: b31adaa228fa Author: katleman Date: 2014-04-01 12:01 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b31adaa228fa Added tag jdk8u11-b02 for changeset 3c079aebb516 ! .hgtags Changeset: 0037e964ce48 Author: asaha Date: 2014-04-03 11:46 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0037e964ce48 8039216: Update hsx version to hs25.11 with b01 for 8u11 release Reviewed-by: jcoomes ! make/hotspot_version Changeset: f0117ca3de7f Author: katleman Date: 2014-04-08 11:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f0117ca3de7f Added tag jdk8u11-b03 for changeset 0037e964ce48 ! .hgtags Changeset: 47f10bcd16b2 Author: asaha Date: 2014-04-14 09:08 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/47f10bcd16b2 8040163: Increment hsx 25.11 build to b02 for 8u11-b04 Reviewed-by: jcoomes ! make/hotspot_version Changeset: b5ae226b7516 Author: hseigel Date: 2014-04-07 09:27 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/b5ae226b7516 8037157: Verify call Summary: Check for null method Reviewed-by: coleenp, acorn, mschoene ! src/share/vm/classfile/verifier.cpp Changeset: 4c40343ecdb3 Author: asaha Date: 2014-04-14 09:10 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4c40343ecdb3 Merge Changeset: a4d44dfb7d30 Author: katleman Date: 2014-04-15 12:06 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a4d44dfb7d30 Added tag jdk8u11-b04 for changeset 4c40343ecdb3 ! .hgtags Changeset: b73ee2b9027c Author: katleman Date: 2014-04-22 11:56 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b73ee2b9027c Added tag jdk8u11-b05 for changeset a4d44dfb7d30 ! .hgtags Changeset: 561045d22599 Author: katleman Date: 2014-04-29 12:51 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/561045d22599 Added tag jdk8u11-b06 for changeset b73ee2b9027c ! .hgtags Changeset: af747c288b0f Author: katleman Date: 2014-05-06 10:04 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/af747c288b0f Added tag jdk8u11-b07 for changeset 561045d22599 ! .hgtags Changeset: 34de1e8eeabb Author: katleman Date: 2014-05-13 08:14 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/34de1e8eeabb Added tag jdk8u11-b08 for changeset af747c288b0f ! .hgtags Changeset: 7e4ae023277b Author: katleman Date: 2014-05-19 20:52 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7e4ae023277b Added tag jdk8u11-b09 for changeset 34de1e8eeabb ! .hgtags Changeset: 5abacb081184 Author: katleman Date: 2014-05-28 02:42 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/5abacb081184 Added tag jdk8u11-b10 for changeset 7e4ae023277b ! .hgtags Changeset: eb984acb23fe Author: asaha Date: 2014-06-02 08:21 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/eb984acb23fe 8044541: Increment hsx 25.11 build to b03 for 8u11-b11 Reviewed-by: jcoomes ! make/hotspot_version Changeset: e6b738407432 Author: hseigel Date: 2014-05-28 08:09 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/e6b738407432 8043454: Test case for 8037157 should not throw a VerifyError Summary: Don't throw VerifyError if method is NULL. Reviewed-by: acorn, lfoltan, mschoene ! src/share/vm/classfile/verifier.cpp Changeset: 78df957d46eb Author: katleman Date: 2014-06-03 14:19 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/78df957d46eb Added tag jdk8u11-b11 for changeset e6b738407432 ! .hgtags Changeset: 3eed8712d410 Author: Gilles Duboscq Date: 2014-10-15 12:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3eed8712d410 Merge with jdk8u11-b12 ! .hgtags ! THIRD_PARTY_README ! make/hotspot_version ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/utilities/vmError.cpp Changeset: 594f932ade4a Author: Chris Seaton Date: 2014-10-15 18:08 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/594f932ade4a Truffle: don't re-throw bailout exceptions from the compiler. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java Changeset: 271fab79aecd Author: Chris Seaton Date: 2014-10-15 18:09 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/271fab79aecd Merge. Changeset: a3464d86b5d2 Author: Chris Seaton Date: 2014-10-15 18:19 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/a3464d86b5d2 Truffle: OptimizationFailedException references the CallTarget instead of the RootNode. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/OptimizationFailedException.java Changeset: d3005ca4247f Author: Chris Seaton Date: 2014-10-15 23:17 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d3005ca4247f Merge. From doug.simon at oracle.com Fri Oct 17 01:00:20 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Fri, 17 Oct 2014 01:00:20 +0000 Subject: hg: graal/graal: 516 new changesets Message-ID: <201410170100.s9H10N2V006323@aojmv0008> Changeset: 6388d789b1d0 Author: Christian Wimmer Date: 2014-10-15 19:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6388d789b1d0 Invalidate all compiled methods that have a call target inlined on tree rewriting. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Changeset: a9dc2307146f Author: Josef Eisl Date: 2014-10-15 17:13 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a9dc2307146f ValuePosition: refactor get(LIRInstruction). ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValueClass.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePosition.java Changeset: ad52f96395bb Author: Josef Eisl Date: 2014-10-15 17:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ad52f96395bb ValuePosition: refactor set(LIRInstruction, Value). ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValueClass.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePosition.java Changeset: a2ad508b8723 Author: Josef Eisl Date: 2014-10-15 17:31 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a2ad508b8723 ValuePosition: reduce interface. ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValueClass.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/ValuePosition.java Changeset: 35ae3e916582 Author: Josef Eisl Date: 2014-10-16 09:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/35ae3e916582 Make LIRInstruction an interface. ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64IndirectCallOp.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCIndirectCallOp.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Compare.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64LIRInstruction.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64TestMemoryOp.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64TestOp.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/HSAILCompare.java ! graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILLIRInstruction.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXArithmetic.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXCompare.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXLIRInstruction.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXParameterOp.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXTestOp.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/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/SPARCLIRInstruction.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest2.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest3.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest4.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest2.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest3.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FullInfopointOp.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java + graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstructionBase.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/SimpleInfopointOp.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java Changeset: cdd0b5d3d9bf Author: Roland Schatz Date: 2014-10-16 10:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cdd0b5d3d9bf Substitution method for inserting a native breakpoint into a unit test. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java + graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTestSubstitutions.java - graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InjectProfileDataSubstitutions.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java Changeset: 45d7b2c7029d Author: Roland Schatz Date: 2014-10-16 10:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/45d7b2c7029d Use correct kind for narrow int constants. ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java Changeset: cb2e4b603dcb Author: coffeys Date: 2014-01-11 17:18 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/cb2e4b603dcb Added tag jdk8u20-b00 for changeset c89630a122b4 ! .hgtags Changeset: 985a60c5630e Author: amurillo Date: 2014-01-11 13:19 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/985a60c5630e Added tag hs25.20-b00 for changeset c89630a122b4 ! .hgtags Changeset: 1e5c86da8392 Author: amurillo Date: 2014-01-11 13:51 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/1e5c86da8392 8031552: Update the Hotspot version numbers in Hotspot for JDK 8U Reviewed-by: jcoomes ! make/hotspot_version Changeset: 908afcc9d1cb Author: anoll Date: 2013-12-17 08:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/908afcc9d1cb 8029091: Bug in calculation of code cache sweeping interval Summary: Use signed data type so that no underflow can happen Reviewed-by: kvn, roland ! src/share/vm/runtime/sweeper.cpp Changeset: d6e7180abab5 Author: anoll Date: 2013-12-19 06:09 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d6e7180abab5 8026478: -XX:+VerifyAdapterSharing is broken Summary: Fix by considering all checks in StubRoutines Reviewed-by: kvn, twisti ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: 6aa49042b101 Author: anoll Date: 2013-12-19 14:08 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/6aa49042b101 8025277: Add -XX: flag to print code cache sweeper statistics Summary: New diagnostic flag prints statistics about the code cache sweeper Reviewed-by: kvn Contributed-by: tobi.hartmann at gmail.com ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp Changeset: 5a83a5546dc7 Author: anoll Date: 2013-12-20 10:29 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/5a83a5546dc7 8030783: Provide regression test for 8026478: -XX:+VerifyAdapterSharing is broken Summary: Added simple regression test Reviewed-by: iveresov + test/compiler/debug/VerifyAdapterSharing.java Changeset: 71f0ee9bbf0e Author: anoll Date: 2013-12-20 10:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/71f0ee9bbf0e 8028052: compiler/startup/SmallCodeCacheStartup.java fails there is no 'no space to run compiler' in the output Summary: Weaken test so that configurations that have no C1 compiler pass Reviewed-by: iveresov ! test/compiler/startup/SmallCodeCacheStartup.java Changeset: 6d2fe9c23878 Author: iveresov Date: 2013-12-26 21:00 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/6d2fe9c23878 8027388: JVM crashes with SIGSEGV (0xb) at pc=0x00000001077cbbf6 Summary: Make object non-scalarizable if it has field with multiple bases one of which is null Reviewed-by: kvn, twisti ! src/share/vm/opto/escape.cpp Changeset: d1760952ebdd Author: iignatyev Date: 2013-12-31 19:26 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/d1760952ebdd 8028587: New tests development for intrisics for basic operators - add, neg, inc, dec, sub, mul Reviewed-by: twisti Contributed-by: anton.ivanov at oracle.com + test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java + test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java + test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java + test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java + test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java + test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java + test/compiler/intrinsics/mathexact/sanity/IntrinsicBase.java + test/compiler/intrinsics/mathexact/sanity/MathIntrinsic.java + test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java + test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java + test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java + test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java + test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java + test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java + test/compiler/intrinsics/mathexact/sanity/Verifier.java ! test/compiler/tiered/NonTieredLevelsTest.java ! test/compiler/tiered/TieredLevelsTest.java ! test/compiler/whitebox/ClearMethodStateTest.java ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/EnqueueMethodForCompilationTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java ! test/compiler/whitebox/SetDontInlineMethodTest.java ! test/compiler/whitebox/SetForceInlineMethodTest.java Changeset: 29463147336b Author: roland Date: 2014-01-07 12:38 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/29463147336b 8028536: Test cases to cover type system fixes pushed with 8024070 Summary: extra test cases for type speculation Reviewed-by: kvn ! test/compiler/types/TypeSpeculation.java Changeset: f834ae379225 Author: roland Date: 2014-01-07 14:36 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/f834ae379225 8028064: tiered may collect wrong receiver type at virtual call Summary: when unique callee is known at compile time, recorded class may be wrong Reviewed-by: kvn, iveresov ! src/share/vm/c1/c1_GraphBuilder.cpp Changeset: 5231c2210388 Author: roland Date: 2014-01-07 16:02 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/5231c2210388 8027571: fatal error: meet not symmetric Summary: meet of one constant array and one exact array not symmetric. Reviewed-by: kvn ! src/share/vm/opto/type.cpp + test/compiler/types/TestMeetTopArrayExactConstantArray.java Changeset: 69dc1be43fce Author: roland Date: 2014-01-08 09:49 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/69dc1be43fce 8029873: compiler/uncommontrap/TestStackBangRbp.java crashes with SIGSEGV Summary: May end up in uncommon trap blob/deopt blob with unguarded stack Reviewed-by: kvn, twisti ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/sharedRuntime.cpp + test/compiler/uncommontrap/StackOverflowGuardPagesOff.java Changeset: df8573b1a44c Author: adlertz Date: 2014-01-08 12:05 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/df8573b1a44c 8029446: assert(_cfg.get_block_for_node(proj) == borig) failed: incorrect block for kill projections Summary: Added loadConP0 projection node to block in case of re-materialization of the loadConP0. x86_64 only. Reviewed-by: kvn ! src/share/vm/opto/chaitin.cpp Changeset: 849eb7bfceac Author: kvn Date: 2014-01-08 10:25 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/849eb7bfceac 8028468: Add inlining information into ciReplay Summary: Allow dump and replay inlining for specified method during a program execution. Reviewed-by: roland, twisti ! agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java ! agent/src/share/classes/sun/jvm/hotspot/opto/Compile.java ! agent/src/share/classes/sun/jvm/hotspot/opto/InlineTree.java ! agent/src/share/classes/sun/jvm/hotspot/opto/JVMState.java ! src/share/vm/c1/c1_Compilation.hpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/ci/ciReplay.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/vmError.cpp Changeset: ef54656d5a65 Author: adlertz Date: 2014-01-09 10:47 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/ef54656d5a65 8011391: C1: assert(code_offset() - offset == NativeInstruction::nop_instruction_size) failed: only one instruction can go in a delay slot Summary: Remove the VerifyOopMaps flag which doesn't work for tiered or for C1 with more compiler threads than one. Reviewed-by: twisti, drchase, iveresov ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_globals.hpp Changeset: 9f4f77ef2706 Author: iignatyev Date: 2014-01-09 19:03 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/9f4f77ef2706 8031115: intrinsics for Math.decrementExact(J) and incrementExact(J) don't work Reviewed-by: kvn, twisti ! src/share/vm/classfile/vmSymbols.hpp Changeset: 7b9127b17b7a Author: anoll Date: 2014-01-10 06:36 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/7b9127b17b7a 8022494: Make compilation IDs sequential Summary: Use atomic operations to provide sequential compilation IDs Reviewed-by: kvn, twisti ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: 84df3d405315 Author: roland Date: 2014-01-13 16:16 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/84df3d405315 8029464: assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()) || ft->isa_narrowoop() Summary: Fix the assert check for narrow klass pointer. Reviewed-by: twisti, kvn ! src/share/vm/opto/cfgnode.cpp Changeset: d7773b29c65a Author: roland Date: 2014-01-14 12:44 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d7773b29c65a 8030662: "assert(counter_changed) failed: failed dependencies, but counter didn't change" still fails Summary: Erroneously removed call to SystemDictionary::notice_modification() from jvmti with fix for 8029383 Reviewed-by: iveresov, twisti, kvn ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: add2caa66e7e Author: roland Date: 2014-01-14 14:51 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/add2caa66e7e 8026253: New type profiling points: sparc support Summary: c1 and interpreter support for new type profiling on sparc Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/interp_masm_x86.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 412d3b5fe90e Author: amurillo Date: 2014-01-16 17:18 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/412d3b5fe90e Merge ! .hgtags Changeset: 22cfca978a03 Author: amurillo Date: 2014-01-16 17:18 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/22cfca978a03 Added tag hs25.20-b01 for changeset 412d3b5fe90e ! .hgtags Changeset: a5e93541111e Author: amurillo Date: 2014-01-16 17:27 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/a5e93541111e 8032014: new hotspot build - hs25.20-b02 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 2604e2767d2c Author: hseigel Date: 2014-01-21 08:58 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/2604e2767d2c 8030955: assert(_prologue != NULL) failed: prologue pointer must be initialized Summary: Return immediately if _prologue == NULL, instead of asserting Reviewed-by: ccheung, coleenp ! src/share/vm/runtime/perfMemory.cpp + test/runtime/PerfMemDestroy/PerfMemDestroy.java Changeset: 04f1d5d36714 Author: tschatzl Date: 2014-01-07 13:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/04f1d5d36714 8027364: PSScavenge accounts too large code section to StringTable unlink Summary: Correct timing measurement by modifying the scope of the GCTraceTime instance. Reviewed-by: ysr, tamao Contributed-by: Jeremy Manson ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Changeset: 5a32d2a3cc1e Author: tschatzl Date: 2014-01-20 11:47 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/5a32d2a3cc1e 8027476: Improve performance of Stringtable unlink 8027455: Improve symbol table scan times during gc pauses Summary: Parallelize string table and symbol table scan during remark and full GC. Some additional statistics output if the experimental flag G1TraceStringSymbolTableScrubbing is set. Reviewed-by: mgerdin, coleenp, brutisso ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp + test/gc/g1/TestStringSymbolTableStats.java Changeset: cb7ec2423207 Author: tschatzl Date: 2014-01-20 11:47 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/cb7ec2423207 8027454: Do not traverse string table during G1 remark when treating them as strong roots during initial mark Summary: Do not try to unlink string table entries unconditionally during remark. This is without side effects as the preceding initial mark always uses the string table as strong roots. Needs to be fixed with class unloading during concurrent mark. Reviewed-by: brutisso, mgerdin ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 889068b9a088 Author: tschatzl Date: 2014-01-20 11:47 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/889068b9a088 8027746: Remove do_gen_barrier template parameter in G1ParCopyClosure Summary: Remove the above mentioned template parameter and related unused code. Also remove some classes that are never used. Reviewed-by: stefank, mgerdin, jwilhelm ! src/share/vm/gc_implementation/g1/bufferingOopClosure.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp Changeset: 1a023fd29afb Author: hseigel Date: 2014-01-17 09:39 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/1a023fd29afb 8031045: Access checks should precede additional per-instruction checks Summary: Move access check above the check for non-static method Reviewed-by: lfoltan, coleenp ! src/share/vm/interpreter/linkResolver.cpp Changeset: 833f38eb2ba0 Author: hseigel Date: 2014-01-23 10:59 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/833f38eb2ba0 Merge Changeset: 7b35e546ba31 Author: sspitsyn Date: 2014-01-24 00:20 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/7b35e546ba31 8030027: nsk/jvmti/scenarios/hotswap/HS101/hs101t006 Crashed the vm on Linux-amd64: SIGSEGV in JavaThread::last_java_vframe(RegisterMap*)+0xfa Summary: Add a safe guard to VMOp_GetCurrentLocation against non-walkable stack of target thread exiting from Java execution Reviewed-by: mgronlun, dholmes, sla, dcubed Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiEnvThreadState.cpp Changeset: 4638c4d7ff10 Author: hseigel Date: 2014-01-24 08:13 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/4638c4d7ff10 8028553: The JVM should not throw VerifyError when 'overriding' a static final method in a superclass. Summary: Check if method is static before throwing exception. Reviewed-by: kamg, coleenp, lfoltan, fparain ! src/share/vm/classfile/classFileParser.cpp + test/runtime/finalStatic/FinalStatic.java Changeset: 010dad3c5986 Author: amurillo Date: 2014-01-30 13:42 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/010dad3c5986 Added tag hs25.20-b02 for changeset 4638c4d7ff10 ! .hgtags Changeset: a13efeb11487 Author: coffeys Date: 2014-01-16 20:14 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/a13efeb11487 8029627: Allow duplicate bugid for changeset in jdk8 update forest Reviewed-by: robilad ! .jcheck/conf Changeset: 5dfd689979a0 Author: coffeys Date: 2014-01-16 23:50 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/5dfd689979a0 Merge Changeset: 58dc92e43b5f Author: coffeys Date: 2014-01-23 20:50 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/58dc92e43b5f Merge Changeset: eee78e7210c8 Author: coffeys Date: 2014-01-31 00:14 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/eee78e7210c8 Merge Changeset: 9acf9c25774d Author: amurillo Date: 2014-02-04 17:12 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9acf9c25774d Merge ! .hgtags ! make/hotspot_version ! src/share/vm/classfile/classFileParser.cpp Changeset: 3d60c34b14ca Author: amurillo Date: 2014-01-30 14:05 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/3d60c34b14ca 8032985: new hotspot build - hs25.20-b03 Reviewed-by: jcoomes ! make/hotspot_version Changeset: a034dc5e910b Author: jwilhelm Date: 2014-01-29 23:17 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/a034dc5e910b 8028391: Make the Min/MaxHeapFreeRatio flags manageable Summary: Made the flags Min- and MaxHeapFreeRatio manageable, and implemented support for these flags in ParallelGC. Reviewed-by: sla, mgerdin, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/management.cpp Changeset: 77d08a820fe3 Author: tschatzl Date: 2014-01-31 09:55 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/77d08a820fe3 8032771: The flag VerifySilently misses a test case Summary: Add test case for the VerifySilently flag. Reviewed-by: brutisso + test/gc/TestVerifySilently.java Changeset: 5a9a209853bf Author: tschatzl Date: 2014-01-31 09:57 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/5a9a209853bf 6991197: G1: specialize deal_with_reference() for narrowOop* Summary: Clean up and slightly optimize reference handling from the GC reference task queue. Since we never push partial array chunks as narrowOop* we can manually specialize the code so that some code can be optimized away. Reviewed-by: tonyp, brutisso, stefank ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp Changeset: 7a860525e91e Author: tschatzl Date: 2014-01-31 09:58 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/7a860525e91e 8033106: Wrong predicate for checking whether the correct amount of symbol table entries have been processed in G1 Summary: The change fixes the predicate check. Reviewed-by: jmasa, tonyp, stefank ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 0eb64cfc0b76 Author: tschatzl Date: 2014-02-05 14:29 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/0eb64cfc0b76 8033443: Test8000311 fails after latest changes to parallelize string and symbol table unlink Summary: When string and symbol table unlink are not performed in parallel, the claim index we check is not updated, and so a guarantee fails. Take this into account when checking the guarantee. Reviewed-by: brutisso, jwilhelm ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: e56d11f8cc21 Author: gtriantafill Date: 2014-02-06 13:27 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/e56d11f8cc21 8021774: [TESTBUG] Tests failed because of a warning in its output Summary: Remove check for warning Reviewed-by: ctornqvi, hseigel, coleenp ! test/runtime/NMT/CommandLineDetail.java ! test/runtime/NMT/CommandLineSummary.java ! test/runtime/NMT/CommandLineTurnOffNMT.java ! test/runtime/NMT/PrintNMTStatistics.java Changeset: e13f46984049 Author: amurillo Date: 2014-02-07 12:43 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/e13f46984049 Added tag hs25.20-b03 for changeset e56d11f8cc21 ! .hgtags Changeset: 757fe22ae906 Author: amurillo Date: 2014-02-11 08:49 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/757fe22ae906 Merge ! .hgtags ! make/hotspot_version Changeset: 9c2ddd17626e Author: katleman Date: 2014-02-12 12:29 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9c2ddd17626e Added tag jdk8u20-b01 for changeset 757fe22ae906 ! .hgtags Changeset: 682feaabaa85 Author: katleman Date: 2014-02-19 13:13 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/682feaabaa85 Added tag jdk8u20-b02 for changeset 9c2ddd17626e ! .hgtags Changeset: dd13ef903817 Author: coffeys Date: 2014-02-14 17:57 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/dd13ef903817 Merge ! .hgtags ! make/hotspot_version Changeset: abdce12c4543 Author: lana Date: 2014-02-17 15:42 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/abdce12c4543 Merge ! .hgtags Changeset: 9a93fe1babdc Author: lana Date: 2014-02-19 20:53 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9a93fe1babdc Merge ! .hgtags Changeset: a2e452cdf1d5 Author: amurillo Date: 2014-02-07 12:51 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/a2e452cdf1d5 8033983: new hotspot build - hs25.20-b04 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 695a6aba51c3 Author: tschatzl Date: 2014-02-10 10:34 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/695a6aba51c3 8033545: Missing volatile specifier in Bitmap::par_put_range_within_word Summary: The method Bitmap::par_put_range_within_word reloads the original value during a CAS, which may be optimized away. Instead of reloading, use the value returned by Atomic::cmpxchg_ptr() for further processing. Reviewed-by: tschatzl, brutisso, tonyp Contributed-by: Matthias Braun ! src/share/vm/utilities/bitMap.cpp Changeset: 40353abd7984 Author: coleenp Date: 2014-01-07 13:26 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/40353abd7984 8029178: Parallel class loading test anonymous-simple gets SIGSEGV in Metaspace::contains Summary: Metaspace::contains cannot look at purged metaspaces while CMS concurrently deallocates them. Reviewed-by: mgerdin, sspitsyn, jmasa ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/metachunk.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/runtime/os.cpp Changeset: 76a75ac07a92 Author: coleenp Date: 2014-01-17 11:21 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/76a75ac07a92 8032024: Test not added for bug 8025937: assert(existing_f1 == NULL || existing_f1 == f1) failed: illegal field,change Summary: Test didn't get hg added with original bug fix Reviewed-by: jrose, hseigel, lfoltan + test/runtime/lambda-features/InvokespecialInterface.java Changeset: 10c9507f544a Author: coleenp Date: 2014-02-07 18:30 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/10c9507f544a 8033528: assert(0 <= i && i < length()) failed: index out of bounds Summary: Restoring bytecodes for invokedynamic had wrong index calculation added testing stress option. Reviewed-by: twisti, hseigel ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/interpreter/rewriter.hpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/array.hpp ! test/runtime/lambda-features/InvokespecialInterface.java Changeset: a81bc2b2c4d3 Author: ccheung Date: 2014-02-05 15:14 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/a81bc2b2c4d3 8032010: Attempt to resolve abstract method in concrete class fails with AbstractMethodError Summary: removing a check in LinkResolver::resolve_method() to conform with a change in JVMS-8 5.4.3.3. Method Resolution Reviewed-by: coleenp, lfoltan ! src/share/vm/interpreter/linkResolver.cpp + test/runtime/lambda-features/TestConcreteClassWithAbstractMethod.java Changeset: cd7a42c7be06 Author: ccheung Date: 2014-01-16 10:51 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/cd7a42c7be06 8027314: Java should recognize Diagnostic options if -XX:+UnlockDiagnosticVMOptions is not specified and print an informative message Summary: clarifying the error messages associated with vm options of type diagnostic, experimental, develop, and notproduct Reviewed-by: kvn, twisti, ctornqvi ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! test/runtime/CommandLine/CompilerConfigFileWarning.java ! test/runtime/CommandLine/ConfigFileWarning.java + test/runtime/CommandLine/VMOptionWarning.java Changeset: 22b3b2f888bc Author: sspitsyn Date: 2014-02-06 20:13 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/22b3b2f888bc 8025841: JVMTI: "vtable stub" dynamic code notification is misplaced Summary: Generate correct "vtable stub" dynamic code notifications Reviewed-by: sspitsyn, kvn, coleenp Contributed-by: oleg.mazurov at oracle.com ! src/share/vm/code/vtableStubs.cpp ! src/share/vm/code/vtableStubs.hpp ! src/share/vm/prims/jvmtiCodeBlobEvents.cpp Changeset: 2996010c4820 Author: sjiang Date: 2014-02-14 16:17 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/2996010c4820 8007710: runtime/7158988/FieldMonitor.java fails with com.sun.jdi.VMDisconnectedException: Connection closed Reviewed-by: sla, jbachorik, sspitsyn ! test/runtime/7158988/FieldMonitor.java Changeset: 04d32e7fad07 Author: kvn Date: 2014-01-14 17:46 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/04d32e7fad07 8002074: Support for AES on SPARC Summary: Add intrinsics/stub routines support for single-block and multi-block (as used by Cipher Block Chaining mode) AES encryption and decryption operations on the SPARC platform. Reviewed-by: kvn, roland Contributed-by: shrinivas.joshi at oracle.com ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/x86.ad ! src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/runtime.cpp ! test/compiler/7184394/TestAESMain.java Changeset: de95063c0e34 Author: roland Date: 2014-01-24 09:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/de95063c0e34 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed Summary: type methods shouldn't always operate on speculative part Reviewed-by: kvn, twisti ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/multnode.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp + test/compiler/types/TestSpeculationFailedHigherEqual.java Changeset: 1419657ed891 Author: shade Date: 2014-01-24 15:26 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/1419657ed891 8032490: Remove -XX:+-UseOldInlining Summary: Move the option to obsolete options list, purge the redundant compiler code. Reviewed-by: kvn, jrose ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 231051bff068 Author: anoll Date: 2014-01-27 07:54 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/231051bff068 8009738: compiler/6826736/Test.java times out on big machines Summary: Added -Xmx256m -XX:ParallelGCThreads=4 to the test @run command. Verified that 256m is enough to trigger old 6826736 bug. Reviewed-by: kvn ! test/compiler/6826736/Test.java Changeset: 85318d1fe8fe Author: coleenp Date: 2014-02-15 13:03 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/85318d1fe8fe 8027146: Class loading verification failure if GC occurs in Universe::flush_dependents_on Summary: Remove search in system dictionary and hacks, replace with verifying in CLD::_klasses list. Reviewed-by: dcubed, acorn ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp Changeset: ecf3678d5736 Author: amurillo Date: 2014-02-20 16:58 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/ecf3678d5736 Merge ! make/hotspot_version ! src/share/vm/runtime/os.cpp Changeset: 17b0340beca5 Author: amurillo Date: 2014-02-20 16:58 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/17b0340beca5 Added tag hs25.20-b04 for changeset ecf3678d5736 ! .hgtags Changeset: 51e1bb81df86 Author: amurillo Date: 2014-02-25 13:02 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/51e1bb81df86 Merge ! .hgtags ! make/hotspot_version ! src/cpu/sparc/vm/sparc.ad ! src/share/vm/code/dependencies.cpp ! src/share/vm/opto/c2_globals.hpp Changeset: 757382c00a10 Author: katleman Date: 2014-02-26 14:44 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/757382c00a10 Added tag jdk8u20-b03 for changeset 51e1bb81df86 ! .hgtags Changeset: 904a9d67dc28 Author: amurillo Date: 2014-02-20 17:20 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/904a9d67dc28 8035436: new hotspot build - hs25.20-b05 Reviewed-by: jcoomes ! make/hotspot_version Changeset: b5761867b097 Author: kvn Date: 2014-02-21 11:10 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/b5761867b097 8035585: Restore UseOldInlining in jdk8u Summary: restore the flag Reviewed-by: twisti ! src/share/vm/opto/c2_globals.hpp Changeset: 6037db01f9dd Author: kevinw Date: 2014-01-17 18:39 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/6037db01f9dd 8028623: SA: hash codes in SymbolTable mismatching java_lang_String::hash_code for extended characters. Reviewed-by: sla, dsamersoff ! agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java + test/serviceability/sa/jmap-hashcode/Test8028623.java Changeset: fa69b0d09549 Author: kevinw Date: 2014-01-23 09:33 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/fa69b0d09549 8032466: serviceability/sa/jmap-hashcode/Test8028623.java fails with compilation errors Reviewed-by: dsamersoff, sla ! test/serviceability/sa/jmap-hashcode/Test8028623.java Changeset: 031b06eac1a9 Author: jmasa Date: 2014-02-11 08:49 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/031b06eac1a9 8031290: Adjust call to getisax() for additional words returned Reviewed-by: kvn ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp Changeset: d1621038becf Author: sla Date: 2014-01-23 09:06 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d1621038becf 8031968: Mac OS X: VM starts the agent by calling both Agent_OnAttach and Agent_OnAttach_L functions if its agent library is dynamically linked. Summary: Make sure we only look for statically linked agents in the main process image Reviewed-by: dsamersoff, bpittore, dcubed ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/posix/vm/os_posix.cpp ! src/os/solaris/vm/os_solaris.cpp Changeset: fd07a7e4222b Author: sla Date: 2014-02-03 15:24 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/fd07a7e4222b 8033126: Can't call default methods from JNI Reviewed-by: dholmes, acorn, kamg ! src/share/vm/prims/jni.cpp Changeset: d69952503db0 Author: sla Date: 2014-01-08 13:20 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d69952503db0 8030184: Remove unneeded "content_type" declarations from tracetypes.xml Reviewed-by: dholmes, jbachorik, egahlin, mgronlun ! src/share/vm/trace/tracetypes.xml Changeset: 86b64209f715 Author: tschatzl Date: 2014-02-26 15:32 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/86b64209f715 8027559: Decrease code size and templatizing in G1ParCopyClosure::do_oop_work Summary: Move methods that are not dependent on any of G1ParCopyClosure's template parameters into G1ParCopyHelper. Further remove unused methods and members of the class hierarchy. Reviewed-by: mgerdin, stefank ! make/excludeSrc.make ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp + src/share/vm/gc_implementation/g1/g1OopClosures.cpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp Changeset: 2c2ae9e5f65d Author: tschatzl Date: 2014-02-26 15:32 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/2c2ae9e5f65d 8035326: Assume non-NULL references in G1CollectedHeap::in_cset_fast_test Summary: Remove the assumption that G1CollectedHeap::in_cset_fast_test needs to check for NULL references. Most of the time this is not required, making the code doing this check multiple times. Reviewed-by: stefank, mgerdin, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Changeset: 5d492d192cbf Author: tschatzl Date: 2014-02-26 15:32 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/5d492d192cbf 8035329: Move G1ParCopyClosure::copy_to_survivor_space into G1ParScanThreadState Summary: Move G1ParCopyClosure::copy_to_survivor_space to decrease code size. Reviewed-by: stefank, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp Changeset: e5c0b296deb2 Author: tschatzl Date: 2014-02-26 15:32 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/e5c0b296deb2 8034948: Back out JDK-6976350 since it does not fix any issue Summary: Revert JDK-6976350 because it does not improve PLAB fragmentation. To the contrary, it tends to increase the amount of wasted space with many threads. Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp Changeset: d6c97434b745 Author: sla Date: 2014-01-23 08:12 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d6c97434b745 8032250: Add trace event for VM flag changes Reviewed-by: coleenp, ehelin, egahlin, mgronlun ! src/share/vm/runtime/globals.cpp ! src/share/vm/trace/trace.xml ! src/share/vm/trace/tracetypes.xml Changeset: caff540c5f75 Author: sla Date: 2014-02-26 18:51 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/caff540c5f75 Merge Changeset: d35df3079834 Author: dcubed Date: 2014-02-26 17:36 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/d35df3079834 8028073: race condition in ObjectMonitor implementation causing deadlocks Summary: Move redo of ParkEvent.unpark() after JVMTI_EVENT_MONITOR_WAITED event handler is called. Reviewed-by: rdurbin, acorn, sspitsyn, dsimms, dholmes ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/objectMonitor.cpp Changeset: cc3f124c6eae Author: jwilhelm Date: 2014-02-26 22:11 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/cc3f124c6eae 8035822: Unable to test minimalVM Summary: Moved test code inside INCLUDE_ALL_GCS Reviewed-by: stefank, ehelin ! src/share/vm/prims/jni.cpp Changeset: ab36007d6358 Author: goetz Date: 2014-02-11 09:34 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/ab36007d6358 8034171: Remove use of template template parameters from binaryTreeDictionary. Reviewed-by: mgerdin, jmasa Contributed-by: matthias.baesken at sap.com ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 53094b350323 Author: sla Date: 2014-02-26 15:47 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/53094b350323 8035150: ShouldNotReachHere() in ConstantPool::copy_entry_to Reviewed-by: dcubed, mgronlun ! src/share/vm/oops/constantPool.cpp + test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java + test/serviceability/jvmti/UnresolvedClassAgent.java + test/serviceability/jvmti/UnresolvedClassAgent.mf ! test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java + test/testlibrary/com/oracle/java/testlibrary/Utils.java Changeset: 0f95765ebd35 Author: poonam Date: 2014-02-28 02:43 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/0f95765ebd35 8035283: Second phase of branch shortening doesn't account for loop alignment Summary: added missing check for loop padding case. Reviewed-by: kvn, jrose ! src/share/vm/opto/output.cpp Changeset: 65c0b4190938 Author: poonam Date: 2014-02-28 06:39 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/65c0b4190938 Merge Changeset: 54436d3b2a91 Author: amurillo Date: 2014-02-28 08:43 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/54436d3b2a91 Merge ! make/hotspot_version ! src/share/vm/opto/c2_globals.hpp Changeset: d4e18f0633c6 Author: amurillo Date: 2014-02-28 08:43 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/d4e18f0633c6 Added tag hs25.20-b05 for changeset 54436d3b2a91 ! .hgtags Changeset: 57eb3e69397e Author: katleman Date: 2014-03-05 12:30 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/57eb3e69397e Added tag jdk8u20-b04 for changeset d4e18f0633c6 ! .hgtags Changeset: 0c8d4e3b5c9a Author: katleman Date: 2014-03-12 14:10 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0c8d4e3b5c9a Added tag jdk8u20-b05 for changeset 57eb3e69397e ! .hgtags Changeset: 744553976af5 Author: amurillo Date: 2014-02-28 09:10 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/744553976af5 8036032: new hotspot build - hs25.20-b06 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 56cd09c4a5c9 Author: ccheung Date: 2014-02-12 12:01 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/56cd09c4a5c9 8028785: [parfait] warnings from b116 for hotspot.src.share.vm.prims: JNI exception pending Summary: added JNI exception pending check in several files under src/share/vm/prims directory Reviewed-by: coleenp, minqi ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/prims/whitebox.hpp Changeset: ba2cf1fc862b Author: ccheung Date: 2014-02-14 09:50 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/ba2cf1fc862b 8034860: Fatal error due to incorrect thread state during nightly testing Summary: use the HAS_PENDING_EXCEPTION and CLEAR_PENDING_EXCEPTION macros Reviewed-by: dholmes, coleenp, dcubed ! src/share/vm/prims/whitebox.hpp Changeset: 0e6af9b390af Author: dsimms Date: 2014-01-24 09:28 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/0e6af9b390af 8028280: ParkEvent leak when running modified runThese which only loads classes Summary: Use spin lock to manage ParkEvent and PlatformEvent free lists. Reviewed-by: dholmes, fparain, dcubed, acorn ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/park.cpp ! src/share/vm/runtime/thread.cpp Changeset: 7d28f4e15b61 Author: dcubed Date: 2014-03-05 11:28 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/7d28f4e15b61 8029775: Solaris code cleanup Summary: cleaned up warnings in solaris specific os code. Reviewed-by: coleenp, fparain, dcubed Contributed-by: gerald.thornbrugh at oracle.com ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/perfMemory_solaris.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp Changeset: f176b09780b0 Author: iveresov Date: 2014-03-10 11:09 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f176b09780b0 8025644: java/util/stream/test/org/openjdk/tests/java/util/stream/ToArrayOpTest.java fails with TestData$OfRef): failure java.lang.AssertionError: expected [true] but found [false] Summary: In GraphKit::gen_checkcast() provide only exact superklass to GraphKit::maybe_cast_profiled_receiver() Reviewed-by: kvn, roland ! src/share/vm/opto/graphKit.cpp Changeset: f9e35a9dc8c7 Author: minqi Date: 2014-02-10 21:29 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/f9e35a9dc8c7 8033792: AltHashing used jint for imprecise bit shifting Summary: AltHashing used jint the way of juint in bit shifting which could lead loss of precision. Fix by change _seed defined as juint. Reviewed-by: coleenp, ccheung Contributed-by: yumin.qi at oracle.com ! src/share/vm/classfile/altHashing.cpp ! src/share/vm/classfile/altHashing.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/metadata.hpp ! src/share/vm/oops/oop.cpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/symbol.cpp ! src/share/vm/oops/symbol.hpp ! src/share/vm/utilities/hashtable.cpp ! src/share/vm/utilities/hashtable.hpp Changeset: 57e40b260938 Author: minqi Date: 2014-03-11 16:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/57e40b260938 Merge Changeset: d559dbbded7a Author: iignatyev Date: 2014-03-06 12:47 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/d559dbbded7a 8027124: [TESTBUG] NonTieredLevelsTest: java.lang.RuntimeException: private TestCase$Helper(java.lang.Object) must be osr_compiled Reviewed-by: kvn, roland ! test/compiler/tiered/NonTieredLevelsTest.java ! test/compiler/tiered/TieredLevelsTest.java ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java Changeset: d64ae45dbce9 Author: iignatyev Date: 2014-03-06 12:46 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/d64ae45dbce9 8027257: [TESTBUG] compiler/ciReplay/TestVM.sh : Error: Could not find or load main class negative_test Reviewed-by: roland, kvn ! test/compiler/ciReplay/TestVM.sh ! test/compiler/ciReplay/common.sh Changeset: e7cf34c87433 Author: iignatyev Date: 2014-03-06 12:45 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/e7cf34c87433 8028482: [TESTBUG] tests that use JMX should be in need_compact3 test group Reviewed-by: roland, sla, dholmes ! test/TEST.groups Changeset: 4d4ea046d32a Author: kvn Date: 2014-02-24 15:12 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/4d4ea046d32a 8033805: Move Fast_Lock/Fast_Unlock code from .ad files to macroassembler Summary: Consolidated C2 x86 locking code in one place in macroAssembler_x86.cpp. Reviewed-by: roland ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad Changeset: f8068fa6aa46 Author: kvn Date: 2014-03-05 16:21 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/f8068fa6aa46 8035983: Fix "Native frames:" in crash report (hs_err file) Summary: check fr.sender_sp() in java thread instead of os::is_first_C_frame(&fr). Reviewed-by: twisti, coleenp ! src/share/vm/utilities/vmError.cpp Changeset: cdb71841f4bc Author: minqi Date: 2014-02-26 15:20 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/cdb71841f4bc 6498581: ThreadInterruptTest3 produces wrong output on Windows Summary: There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set. Reviewed-by: acorn, kvn Contributed-by: david.holmes at oracle.com, yumin.qi at oracle.com ! src/os/windows/vm/os_windows.cpp ! src/share/vm/opto/library_call.cpp Changeset: e35733785856 Author: minqi Date: 2014-03-12 20:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e35733785856 Merge Changeset: 804f89b6ff46 Author: amurillo Date: 2014-03-13 09:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/804f89b6ff46 Merge Changeset: c3d92e048737 Author: amurillo Date: 2014-03-13 09:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c3d92e048737 Added tag hs25.20-b06 for changeset 804f89b6ff46 ! .hgtags Changeset: ccbbe9835732 Author: katleman Date: 2014-03-19 15:19 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ccbbe9835732 Added tag jdk8u20-b06 for changeset c3d92e048737 ! .hgtags Changeset: d8a0bb6f62a5 Author: coffeys Date: 2014-03-12 18:53 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/d8a0bb6f62a5 Merge ! .hgtags ! make/hotspot_version ! src/share/vm/ci/ciMethod.cpp Changeset: 556a5a987c41 Author: amurillo Date: 2014-03-18 10:31 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/556a5a987c41 Merge ! .hgtags Changeset: 9d5e92af8f09 Author: lana Date: 2014-03-18 12:40 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9d5e92af8f09 Merge ! .hgtags ! make/hotspot_version Changeset: 7ce7247df891 Author: lana Date: 2014-03-24 13:14 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7ce7247df891 Merge ! .hgtags Changeset: b4ce4e9eb97d Author: amurillo Date: 2014-03-13 10:18 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b4ce4e9eb97d 8037305: new hotspot build - hs25.20-b07 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 085b304a1cc5 Author: rbackman Date: 2014-01-23 12:08 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/085b304a1cc5 8027754: Enable loop optimizations for loops with MathExact inside Reviewed-by: kvn, iveresov ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/mathexactnode.cpp ! src/share/vm/opto/mathexactnode.hpp ! src/share/vm/opto/multnode.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/runtime/vmStructs.cpp ! test/compiler/intrinsics/mathexact/AddExactICondTest.java ! test/compiler/intrinsics/mathexact/AddExactIConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactILoadTest.java ! test/compiler/intrinsics/mathexact/AddExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/AddExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/AddExactLConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/CompareTest.java ! test/compiler/intrinsics/mathexact/DecExactITest.java ! test/compiler/intrinsics/mathexact/DecExactLTest.java ! test/compiler/intrinsics/mathexact/GVNTest.java ! test/compiler/intrinsics/mathexact/IncExactITest.java ! test/compiler/intrinsics/mathexact/IncExactLTest.java ! test/compiler/intrinsics/mathexact/MulExactICondTest.java ! test/compiler/intrinsics/mathexact/MulExactIConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactILoadTest.java ! test/compiler/intrinsics/mathexact/MulExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/MulExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/MulExactLConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactIConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactILoadTest.java ! test/compiler/intrinsics/mathexact/NegExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/NegExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactLConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/NestedMathExactTest.java ! test/compiler/intrinsics/mathexact/SplitThruPhiTest.java ! test/compiler/intrinsics/mathexact/SubExactICondTest.java ! test/compiler/intrinsics/mathexact/SubExactIConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactILoadTest.java ! test/compiler/intrinsics/mathexact/SubExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/SubExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/SubExactLConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/Verify.java ! test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java Changeset: cfd4aac53239 Author: brutisso Date: 2014-01-27 13:14 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/cfd4aac53239 8030177: G1: Enable TLAB resizing Reviewed-by: tschatzl, stefank, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.hpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.cpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/memory/threadLocalAllocBuffer.hpp ! src/share/vm/memory/universe.cpp Changeset: b8413a9cbb84 Author: roland Date: 2014-02-25 18:16 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/b8413a9cbb84 8031752: Failed speculative optimizations should be reattempted when root of compilation is different Summary: support for speculative traps that keep track of the root of the compilation in which a trap occurs. Reviewed-by: kvn, twisti ! src/share/vm/ci/ciClassList.hpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/ci/ciMethodData.hpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/deoptimization.hpp ! src/share/vm/runtime/globals.hpp + test/compiler/uncommontrap/TestSpecTrapClassUnloading.java Changeset: 8a8ff6b577ed Author: iveresov Date: 2014-03-12 11:24 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8a8ff6b577ed 8031321: Support Intel bit manipulation instructions Summary: Add support for BMI1 instructions Reviewed-by: kvn, roland ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/formssel.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/matcher.hpp + test/compiler/codegen/BMI1.java Changeset: f58fd4f52c07 Author: iveresov Date: 2014-03-17 10:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f58fd4f52c07 Merge Changeset: 62825ea7e51f Author: roland Date: 2014-03-14 17:15 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/62825ea7e51f 8031754: Type speculation should favor profile data from outermost inlined method Summary: favor profile data coming from outer most method Reviewed-by: kvn, twisti ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp Changeset: 8ef3428f54b6 Author: roland Date: 2014-03-17 11:54 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8ef3428f54b6 Merge Changeset: 1a43981d86ea Author: roland Date: 2014-03-05 09:29 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/1a43981d86ea 8035841: assert(dp_src->tag() == dp_dst->tag()) failed: should be same tags 1 != 0 at ciMethodData.cpp:90 Summary: concurrent update of traps with construction of ciMethodData Reviewed-by: kvn, twisti ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp Changeset: f258347cec12 Author: anoll Date: 2014-03-05 06:08 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/f258347cec12 8036092: [TESTBUG] compiler/uncommontrap/TestSpecTrapClassUnloading.java fails with: Unrecognized VM option 'UseTypeSpeculation' Summary: Add -XX:+IgnoreUnrecognizedVMOptions to @main/othervm to make the test pass on Client VM Reviewed-by: kvn, roland ! test/compiler/uncommontrap/TestSpecTrapClassUnloading.java Changeset: 8f28240318a2 Author: roland Date: 2014-03-06 11:11 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/8f28240318a2 8032633: Enable type speculation by default Summary: enable type speculation Reviewed-by: kvn ! src/share/vm/opto/c2_globals.hpp ! test/compiler/types/TestMeetTopArrayExactConstantArray.java ! test/compiler/types/TestSpeculationFailedHigherEqual.java ! test/compiler/types/TypeSpeculation.java ! test/compiler/uncommontrap/TestSpecTrapClassUnloading.java Changeset: 58fc1b1523dc Author: brutisso Date: 2014-03-14 10:15 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/58fc1b1523dc 8034079: G1: Refactor the HeapRegionSet hierarchy Reviewed-by: tschatzl, pliden ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1CollectedHeap.java ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSetBase.java + agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSetCount.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp ! src/share/vm/gc_implementation/g1/heapRegionSets.cpp - src/share/vm/gc_implementation/g1/heapRegionSets.hpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp Changeset: 0d2ce7411240 Author: brutisso Date: 2014-03-17 13:42 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/0d2ce7411240 8037407: G1: Remove heapRegionSets.cpp Reviewed-by: tschatzl, pliden ! src/share/vm/gc_implementation/g1/heapRegionSet.cpp - src/share/vm/gc_implementation/g1/heapRegionSets.cpp Changeset: 8cfe6fdbb99a Author: mgronlun Date: 2014-03-20 17:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/8cfe6fdbb99a 8037340: Linux semaphores to use CLOCK_REALTIME Reviewed-by: dholmes, sla ! src/os/linux/vm/os_linux.cpp Changeset: 98af1e198e73 Author: kvn Date: 2014-03-14 17:28 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/98af1e198e73 8037226: compiler/7196199/Test7196199.java fails on 32-bit linux with MaxVectorSize > 16 Summary: verify YMM registers after signal processing and set limit on vector's size. Reviewed-by: iveresov, twisti ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp Changeset: 7cf8559b08d9 Author: kvn Date: 2014-03-20 11:23 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7cf8559b08d9 Merge Changeset: 39eae0024997 Author: amurillo Date: 2014-03-20 13:25 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/39eae0024997 Merge - src/share/vm/gc_implementation/g1/heapRegionSets.cpp - src/share/vm/gc_implementation/g1/heapRegionSets.hpp Changeset: 542475eeb98c Author: amurillo Date: 2014-03-20 13:25 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/542475eeb98c Added tag hs25.20-b07 for changeset 39eae0024997 ! .hgtags Changeset: f0ea4d3df129 Author: amurillo Date: 2014-03-25 10:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f0ea4d3df129 Merge ! .hgtags ! make/hotspot_version - src/share/vm/gc_implementation/g1/heapRegionSets.cpp - src/share/vm/gc_implementation/g1/heapRegionSets.hpp Changeset: b158a8444810 Author: katleman Date: 2014-03-26 12:00 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b158a8444810 Added tag jdk8u20-b07 for changeset f0ea4d3df129 ! .hgtags Changeset: c96e9c8adb81 Author: amurillo Date: 2014-03-20 13:29 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c96e9c8adb81 8038028: new hotspot build - hs25.20-b08 Reviewed-by: jcoomes ! make/hotspot_version Changeset: a258f8cb530f Author: pliden Date: 2014-01-10 09:53 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/a258f8cb530f 8029255: G1: Reference processing should not enqueue references on the shared SATB queue Reviewed-by: brutisso, tschatzl ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp Changeset: f99e331f6ef6 Author: pliden Date: 2014-01-10 09:54 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/f99e331f6ef6 8029162: G1: Shared SATB queue never enabled Reviewed-by: brutisso, mgerdin, tschatzl ! src/share/vm/gc_implementation/g1/satbQueue.cpp ! src/share/vm/gc_implementation/g1/satbQueue.hpp Changeset: d60ecdb2773e Author: pliden Date: 2014-02-06 14:12 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d60ecdb2773e 8031703: Missing post-barrier in ReferenceProcessor Reviewed-by: tonyp, tschatzl ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp Changeset: b7e42ada4898 Author: pliden Date: 2014-03-17 15:18 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/b7e42ada4898 8036672: G1: alloc_purpose in copy_to_survivor_space() used incorrectly Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: f53edbc2b728 Author: pliden Date: 2014-03-17 15:18 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/f53edbc2b728 8036673: G1: Abort weak reference processing if mark stack overflows Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 3b4e1b5c13a0 Author: jwilhelm Date: 2014-03-20 16:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/3b4e1b5c13a0 8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API Summary: Added tests for Min/MaxHeapFreeRatio flags Reviewed-by: jwilhelm, tschatzl Contributed-by: andrey.x.zakharov at oracle.com ! test/TEST.groups + test/gc/arguments/TestDynMaxHeapFreeRatio.java + test/gc/arguments/TestDynMinHeapFreeRatio.java + test/testlibrary/com/oracle/java/testlibrary/DynamicVMOptionChecker.java + test/testlibrary/com/oracle/java/testlibrary/TestDynamicVMOption.java Changeset: b828d0d08417 Author: jwilhelm Date: 2014-03-24 06:55 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b828d0d08417 Merge Changeset: 191174b49bec Author: tschatzl Date: 2014-03-24 15:30 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/191174b49bec 8035406: Improve data structure for Code Cache remembered sets Summary: Change the code cache remembered sets data structure from a GrowableArray to a chunked list of nmethods. This makes the data structure more amenable to parallelization, and decreases freeing time. Reviewed-by: mgerdin, brutisso ! make/excludeSrc.make + src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp + src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/prims/jni.cpp + test/gc/g1/TestGCLogMessages.java Changeset: d7070f371770 Author: tschatzl Date: 2014-03-24 15:30 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d7070f371770 8035815: Cache-align and pad the from card cache Summary: The from card cache is a very frequently accessed data structure. It is essentially a 2d array of per-region values, one row of values for every GC thread. Pad and align the data structure to avoid false sharing. Reviewed-by: stefank ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/memory/padded.hpp ! src/share/vm/memory/padded.inline.hpp Changeset: 96b1c2e06e25 Author: tschatzl Date: 2014-03-24 15:30 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/96b1c2e06e25 8027295: Free CSet takes ~50% of young pause time Summary: Improve fast card cache iteration and avoid taking locks when freeing the collection set. Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! test/gc/g1/TestGCLogMessages.java Changeset: a07bea31ef35 Author: tschatzl Date: 2014-03-24 15:30 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/a07bea31ef35 8035398: Add card redirty time in "Other" time in G1 Summary: Show the time taken by card redirtying during GC in a new "Redirty Cards" line. Reviewed-by: jwilhelm, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp ! test/gc/g1/TestGCLogMessages.java Changeset: eff02b5bd56c Author: tschatzl Date: 2014-03-24 15:30 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/eff02b5bd56c 8035654: Add times for evacuation failure handling in "Other" time Summary: Detailed breakdown of time spent in the evacuation failure handling phases to make the "Other" time roughly correspond to the sum of its parts. Reviewed-by: jwilhelm, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! test/gc/g1/TestGCLogMessages.java Changeset: ae7336d6337e Author: tschatzl Date: 2014-03-24 15:30 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/ae7336d6337e 8034868: Extract G1 From Card Cache into separate class Summary: Refactor the From Card Cache into a separate class. Reviewed-by: jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp Changeset: bc22cbb8b45a Author: tschatzl Date: 2014-03-24 15:30 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/bc22cbb8b45a 8035330: Remove G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure Summary: Mentioned closures are actually wrapped methods. This adds confusion to readers, and in this case also increases code size as G1ParScanHeapEvacClosure is part of the oop_oop_iterate() methods. Move them into G1ParScanThreadState as methods. Reviewed-by: stefank ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp Changeset: 5479cb006184 Author: tschatzl Date: 2014-03-24 15:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/5479cb006184 8036860: Pad and cache-align the BiasedMappedArray Summary: Pad and cache-align BiasedMappedArray instances by default to avoid performance variability problems due to false sharing, as instances of this data structures are typically used for performance sensitive code. Reviewed-by: brutisso, stefank ! src/share/vm/gc_implementation/g1/g1BiasedArray.cpp ! src/share/vm/gc_implementation/g1/g1BiasedArray.hpp ! src/share/vm/memory/padded.hpp ! src/share/vm/memory/padded.inline.hpp Changeset: ac767c227ea2 Author: tschatzl Date: 2014-03-24 08:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ac767c227ea2 Merge Changeset: fd54db8eb0df Author: sjohanss Date: 2014-01-20 12:56 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/fd54db8eb0df 8020277: Young GC could be extremely slow due to assertion in ObjectStartArray::object_starts_in_range 8009462: Young GC's (ParNewGC and SerialGC) have unexpected variances. Summary: Removed the assertion slowing down GC. Reviewed-by: stefank, mgerdin ! src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp Changeset: 6e7e363c5a8f Author: jwilhelm Date: 2014-03-24 09:14 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6e7e363c5a8f Merge Changeset: 595c0f60d50d Author: pliden Date: 2014-03-18 19:07 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/595c0f60d50d 8029075: String deduplication in G1 Summary: Implementation of JEP 192, http://openjdk.java.net/jeps/192 Reviewed-by: brutisso, tschatzl, coleenp ! make/excludeSrc.make ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp + src/share/vm/gc_implementation/g1/g1StringDedup.cpp + src/share/vm/gc_implementation/g1/g1StringDedup.hpp + src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp + src/share/vm/gc_implementation/g1/g1StringDedupQueue.hpp + src/share/vm/gc_implementation/g1/g1StringDedupStat.cpp + src/share/vm/gc_implementation/g1/g1StringDedupStat.hpp + src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp + src/share/vm/gc_implementation/g1/g1StringDedupTable.hpp + src/share/vm/gc_implementation/g1/g1StringDedupThread.cpp + src/share/vm/gc_implementation/g1/g1StringDedupThread.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! test/gc/g1/TestGCLogMessages.java + test/gc/g1/TestStringDeduplicationAgeThreshold.java + test/gc/g1/TestStringDeduplicationFullGC.java + test/gc/g1/TestStringDeduplicationInterned.java + test/gc/g1/TestStringDeduplicationMemoryUsage.java + test/gc/g1/TestStringDeduplicationPrintOptions.java + test/gc/g1/TestStringDeduplicationTableRehash.java + test/gc/g1/TestStringDeduplicationTableResize.java + test/gc/g1/TestStringDeduplicationTools.java + test/gc/g1/TestStringDeduplicationYoungGC.java Changeset: 91dc38ae09f3 Author: dcubed Date: 2014-03-24 13:36 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/91dc38ae09f3 8033464: Linux code cleanup 8033931: Several nightly tests failing with assert(imin < imax) failed: Unexpected page size Summary: cleaned up warnings in linux specific os code. Reviewed-by: dcubed, hseigel, coleenp, dsamersoff Contributed-by: gerald.thornbrugh at oracle.com ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/perfMemory_linux.cpp Changeset: a007d73f3fdc Author: dcubed Date: 2014-03-24 14:20 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a007d73f3fdc Merge Changeset: 537c8e21b118 Author: ehelin Date: 2014-03-21 10:16 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/537c8e21b118 8036696: Add metaspace gc threshold to metaspace summary trace event Reviewed-by: jmasa, stefank, mgerdin ! src/share/vm/gc_implementation/shared/gcHeapSummary.hpp ! src/share/vm/gc_implementation/shared/gcTraceSend.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/trace/trace.xml Changeset: daef39043d2c Author: ehelin Date: 2014-03-21 10:17 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/daef39043d2c 8036698: Add trace event for updates to metaspace gc threshold Reviewed-by: stefank, mgerdin ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp + src/share/vm/memory/metaspaceGCThresholdUpdater.hpp + src/share/vm/memory/metaspaceTracer.cpp + src/share/vm/memory/metaspaceTracer.hpp ! src/share/vm/trace/trace.xml ! src/share/vm/trace/tracetypes.xml Changeset: bc7714614ad8 Author: ehelin Date: 2014-03-21 10:20 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/bc7714614ad8 8036699: Add trace event when a metaspace allocation fails Reviewed-by: jmasa, stefank ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/metaspaceTracer.cpp ! src/share/vm/memory/metaspaceTracer.hpp ! src/share/vm/trace/trace.xml ! src/share/vm/trace/tracetypes.xml Changeset: 5af31f70a866 Author: ehelin Date: 2014-03-21 10:28 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/5af31f70a866 8036701: Add trace event when a metaspace throws out of memory error Reviewed-by: stefank, mgerdin ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/metaspaceTracer.cpp ! src/share/vm/memory/metaspaceTracer.hpp ! src/share/vm/trace/trace.xml Changeset: 9fdaa79b0c27 Author: ehelin Date: 2014-03-21 10:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/9fdaa79b0c27 8036703: Add trace event with statistics for the metaspace chunk free lists Reviewed-by: stefank, mgerdin, coleenp, egahlin ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/shared/gcHeapSummary.hpp ! src/share/vm/gc_implementation/shared/gcTrace.cpp ! src/share/vm/gc_implementation/shared/gcTrace.hpp ! src/share/vm/gc_implementation/shared/gcTraceSend.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp + src/share/vm/memory/metaspaceChunkFreeListSummary.hpp ! src/share/vm/trace/trace.xml Changeset: 7d175751ef7f Author: ehelin Date: 2014-03-24 15:34 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7d175751ef7f Merge Changeset: 8ee855b4e667 Author: jwilhelm Date: 2014-02-28 15:27 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/8ee855b4e667 8036025: Sort the freelist in order to shrink the heap Summary: The free list is being maintained in a sorted fashion and old and humongous regions are allocated from the bottom of the heap while young regions are allocated at the top. Reviewed-by: tschatzl, mgerdin Contributed-by: jesper.wilhelmsson at oracle.com, staffan.friberg at oracle.com ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp Changeset: 2775f322649a Author: jwilhelm Date: 2014-03-24 14:23 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/2775f322649a Merge ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: be3bc91182f5 Author: jwilhelm Date: 2014-03-24 16:56 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/be3bc91182f5 Merge Changeset: 9ab9f254cfe2 Author: poonam Date: 2014-03-24 08:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9ab9f254cfe2 6653795: C2 intrinsic for Unsafe.getAddress performs pointer sign extension on 32-bit systems Summary: Native pointers less than 64 bits wide should be extended as an unsigned number. Reviewed-by: kvn, kevinw ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/type.hpp + test/compiler/intrinsics/unsafe/UnsafeGetAddressTest.java Changeset: 460f312abe11 Author: poonam Date: 2014-03-24 18:28 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/460f312abe11 Merge Changeset: a48e16541e6b Author: iignatyev Date: 2014-03-22 00:26 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/a48e16541e6b 8035857: Add tests to verify correctness of operations with BMI1 and LZCNT instructions Reviewed-by: iveresov, kvn, iignatyev Contributed-by: filipp.zhinkin at oracle.com ! src/share/vm/prims/whitebox.cpp + test/compiler/intrinsics/bmi/BMITestRunner.java + test/compiler/intrinsics/bmi/Expr.java + test/compiler/intrinsics/bmi/TestAndnI.java + test/compiler/intrinsics/bmi/TestAndnL.java + test/compiler/intrinsics/bmi/TestBlsiI.java + test/compiler/intrinsics/bmi/TestBlsiL.java + test/compiler/intrinsics/bmi/TestBlsmskI.java + test/compiler/intrinsics/bmi/TestBlsmskL.java + test/compiler/intrinsics/bmi/TestBlsrI.java + test/compiler/intrinsics/bmi/TestBlsrL.java + test/compiler/intrinsics/bmi/TestLzcntI.java + test/compiler/intrinsics/bmi/TestLzcntL.java + test/compiler/intrinsics/bmi/TestTzcntI.java + test/compiler/intrinsics/bmi/TestTzcntL.java ! test/testlibrary/com/oracle/java/testlibrary/Asserts.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java + test/testlibrary/whitebox/sun/hotspot/cpuinfo/CPUInfo.java Changeset: 794399f4f5d9 Author: ehelin Date: 2014-03-20 15:53 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/794399f4f5d9 8037962: metaspaceTracer.cpp misses a symbol Reviewed-by: tschatzl, mgerdin Contributed-by: goetz.lindenmaier at sap.com ! src/share/vm/memory/metaspaceTracer.cpp Changeset: 606acabe7b5c Author: kvn Date: 2014-03-20 17:49 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/606acabe7b5c 8031320: Use Intel RTM instructions for locks Summary: Use RTM for inflated locks and stack locks. Reviewed-by: iveresov, twisti, roland, dcubed ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp + src/cpu/x86/vm/rtmLocking.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/output_c.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciMethodData.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/locknode.cpp ! src/share/vm/opto/locknode.hpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/machnode.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp ! src/share/vm/opto/type.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/deoptimization.hpp ! src/share/vm/runtime/java.cpp + src/share/vm/runtime/rtmLocking.hpp ! src/share/vm/runtime/task.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 52b37289e3be Author: kvn Date: 2014-03-21 18:03 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/52b37289e3be 8038181: Can't build product VM without precompiled header Summary: Added missing #include. Reviewed-by: twisti ! src/cpu/x86/vm/rtmLocking.cpp Changeset: 18f752639eb2 Author: kvn Date: 2014-03-24 17:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/18f752639eb2 8038286: nm->set_rtm_state() should be called after (nm != NULL) check Summary: move set_rtm_state() call after (nm != NULL) check Reviewed-by: iveresov, twisti ! src/share/vm/ci/ciEnv.cpp Changeset: 85b20fdf2d24 Author: kvn Date: 2014-03-25 11:38 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/85b20fdf2d24 Merge Changeset: bf20bec37f24 Author: iveresov Date: 2014-03-24 23:13 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/bf20bec37f24 8038222: Assembler::bsrl fails on assert when -UseCountLeadingZerosInstruction is used on CPU with LZCNT support Summary: Remove the overly strict assert Reviewed-by: kvn, twisti ! src/cpu/x86/vm/assembler_x86.cpp Changeset: 049414a5b5f6 Author: iveresov Date: 2014-03-25 12:07 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/049414a5b5f6 Merge Changeset: eb6b3ac64f0e Author: iveresov Date: 2014-03-25 12:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/eb6b3ac64f0e Merge ! src/cpu/x86/vm/assembler_x86.cpp Changeset: 8c6165f9ea8e Author: dcubed Date: 2014-03-25 19:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8c6165f9ea8e 8038274: update 8u fix for 8028073 now that 8028280 is backported to 8u Reviewed-by: coleenp, sspitsyn ! src/share/vm/runtime/objectMonitor.cpp Changeset: f2294a37e723 Author: ccheung Date: 2014-03-20 14:25 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f2294a37e723 8034034: [parfait] JNI exc. pending in hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m Summary: added JNI exception check in the appropriate places Reviewed-by: sla, zgu ! agent/src/os/bsd/MacosxDebuggerLocal.m Changeset: 6b207d038106 Author: ccheung Date: 2014-03-24 10:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6b207d038106 8033566: [parfait] warning from b128 for hotspot/src/share/vm/runtime/frame.cpp: JNI primitive type mismatch Summary: added an assert for checking the return value is <= max_jint Reviewed-by: coleenp, minqi ! src/share/vm/runtime/frame.cpp Changeset: 5da8bb64b370 Author: kvn Date: 2013-12-23 10:26 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/5da8bb64b370 Merge ! src/share/vm/code/nmethod.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: ad3b94907eed Author: goetz Date: 2013-12-20 13:51 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/ad3b94907eed 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms Summary: Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets. Reviewed-by: kvn ! src/cpu/ppc/vm/ppc.ad ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/archDesc.hpp ! src/share/vm/adlc/main.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/matcher.cpp Changeset: 4345c6a92f35 Author: goetz Date: 2014-01-06 11:02 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/4345c6a92f35 8031188: Fix for 8029015: PPC64 (part 216): opto: trap based null and range checks Summary: Swap the Projs in the block list so that the new block is added behind the proper node. Reviewed-by: kvn ! src/share/vm/opto/block.cpp Changeset: c668f307a4c0 Author: goetz Date: 2014-01-07 17:24 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/c668f307a4c0 8031319: PPC64: Some fixes in ppc and aix coding. Reviewed-by: kvn ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/nativeInst_ppc.cpp ! src/cpu/ppc/vm/nativeInst_ppc.hpp ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/stubGenerator_ppc.cpp ! src/os/aix/vm/os_aix.cpp ! src/os_cpu/aix_ppc/vm/atomic_aix_ppc.inline.hpp Changeset: 3514ee402842 Author: goetz Date: 2014-01-16 14:25 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/3514ee402842 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes Reviewed-by: dholmes, kvn Contributed-by: martin.doerr at sap.com ! src/cpu/ppc/vm/globalDefinitions_ppc.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: a9becfeecd1b Author: kvn Date: 2014-01-22 17:42 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/a9becfeecd1b Merge ! agent/src/os/linux/libproc.h ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/sparc/vm/globalDefinitions_sparc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/c2_globals_x86.hpp ! src/cpu/x86/vm/globalDefinitions_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/globals_zero.hpp ! src/cpu/zero/vm/sharedRuntime_zero.cpp ! src/os/posix/vm/os_posix.hpp ! src/share/tools/hsdis/hsdis.c ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/templateTable.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/output.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/phase.cpp ! src/share/vm/opto/phase.hpp ! src/share/vm/opto/regalloc.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/prims/forte.cpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/decoder.cpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp ! src/share/vm/utilities/macros.hpp Changeset: 3f3c97187f82 Author: goetz Date: 2014-01-24 10:23 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/3f3c97187f82 8032634: Add #ifdef PPC64 around OrderAccess operations on _thread_state. Reviewed-by: dholmes, kvn ! src/share/vm/runtime/thread.hpp Changeset: 2fcab8ba885a Author: goetz Date: 2014-01-30 14:30 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/2fcab8ba885a 8033168: PPC64: gcc 4.8 warning in output_c.cpp Summary: fix warnings Reviewed-by: kvn ! src/share/vm/adlc/output_c.cpp Changeset: f040cf9fc9c0 Author: kvn Date: 2014-02-19 20:12 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/f040cf9fc9c0 Merge ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.cpp Changeset: 752ba2e5f6d0 Author: kvn Date: 2014-02-25 15:11 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/752ba2e5f6d0 Merge ! src/cpu/sparc/vm/sparc.ad ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/utilities/bitMap.cpp Changeset: c4178a748df9 Author: goetz Date: 2014-01-29 12:22 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/c4178a748df9 8033117: PPC64: Adapt to 8002074: Support for AES on SPARC Summary: Implement missing function Matcher::pass_original_key_for_aes() in ppc64 ad file. Reviewed-by: kvn ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/stubGenerator_ppc.cpp Changeset: 2444afebe07b Author: goetz Date: 2014-02-20 10:48 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/2444afebe07b 8035392: cppInterpreter: fix message of NPE Reviewed-by: kvn Contributed-by: axel.siebenborn at sap.com ! src/share/vm/interpreter/bytecodeInterpreter.cpp Changeset: 7c462558a08a Author: goetz Date: 2014-02-20 11:05 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/7c462558a08a 8035394: PPC64: Make usage of intrinsic dsqrt depend on processor recognition. Reviewed-by: kvn ! src/cpu/ppc/vm/ppc.ad ! src/share/vm/opto/library_call.cpp Changeset: 31e80afe3fed Author: goetz Date: 2014-03-06 10:55 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/31e80afe3fed 8035647: PPC64: Support for elf v2 abi. Summary: ELFv2 ABI used by the little endian PowerPC64 on Linux. Reviewed-by: kvn Contributed-by: asmundak at google.com ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/cpu/ppc/vm/frame_ppc.hpp ! src/cpu/ppc/vm/interpreterRT_ppc.cpp ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.hpp ! src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp ! src/cpu/ppc/vm/methodHandles_ppc.cpp ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/runtime_ppc.cpp ! src/cpu/ppc/vm/sharedRuntime_ppc.cpp ! src/cpu/ppc/vm/stubGenerator_ppc.cpp ! src/cpu/ppc/vm/vm_version_ppc.cpp ! src/share/vm/utilities/elfFile.cpp Changeset: fd1b9f02cc91 Author: goetz Date: 2014-03-10 12:58 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/fd1b9f02cc91 8036976: PPC64: implement the template interpreter Reviewed-by: kvn, coleenp Contributed-by: axel.siebenborn at sap.com, martin.doerr at sap.com ! make/aix/Makefile ! make/linux/Makefile ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/cpu/ppc/vm/frame_ppc.cpp ! src/cpu/ppc/vm/frame_ppc.hpp ! src/cpu/ppc/vm/frame_ppc.inline.hpp ! src/cpu/ppc/vm/interp_masm_ppc_64.cpp ! src/cpu/ppc/vm/interp_masm_ppc_64.hpp ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/cpu/ppc/vm/interpreter_ppc.hpp ! src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.hpp ! src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp ! src/cpu/ppc/vm/register_ppc.hpp ! src/cpu/ppc/vm/sharedRuntime_ppc.cpp ! src/cpu/ppc/vm/stubGenerator_ppc.cpp + src/cpu/ppc/vm/templateInterpreterGenerator_ppc.hpp + src/cpu/ppc/vm/templateInterpreter_ppc.cpp + src/cpu/ppc/vm/templateInterpreter_ppc.hpp + src/cpu/ppc/vm/templateTable_ppc_64.cpp + src/cpu/ppc/vm/templateTable_ppc_64.hpp ! src/share/vm/interpreter/templateTable.hpp Changeset: bbfbe9b06038 Author: kvn Date: 2014-03-13 14:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/bbfbe9b06038 Merge ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/posix/vm/os_posix.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 9200402b42d5 Author: simonis Date: 2014-02-20 14:44 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/9200402b42d5 8035423: AIX: Fix os::get_default_process_handle() in os_aix.cpp after 8031968 Reviewed-by: kvn ! src/os/aix/vm/os_aix.cpp Changeset: 71a71b0bc844 Author: goetz Date: 2014-03-20 11:03 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/71a71b0bc844 8037915: PPC64/AIX: Several smaller fixes Reviewed-by: kvn ! src/cpu/ppc/vm/assembler_ppc.cpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp ! src/cpu/ppc/vm/c2_globals_ppc.hpp ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.hpp ! src/cpu/ppc/vm/methodHandles_ppc.cpp ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/stubRoutines_ppc_64.cpp ! src/cpu/ppc/vm/vm_version_ppc.cpp ! src/cpu/ppc/vm/vm_version_ppc.hpp ! src/cpu/ppc/vm/vtableStubs_ppc_64.cpp ! src/os/aix/vm/mutex_aix.inline.hpp ! src/os/aix/vm/os_aix.cpp ! src/os/aix/vm/threadCritical_aix.cpp ! src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp ! src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.cpp ! src/os_cpu/aix_ppc/vm/thread_aix_ppc.cpp ! src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp Changeset: d623bc507723 Author: amurillo Date: 2014-03-24 11:51 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d623bc507723 8038262: Workaround for ccache in vm.make is missing for aix Reviewed-by: simonis, kvn ! make/aix/makefiles/vm.make Changeset: a433eb716ce1 Author: goetz Date: 2014-03-25 12:54 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a433eb716ce1 8037821: Account for trampoline stubs when estimating code buffer sizes Summary: Take into account space needed for "trampoline code" used by calls on PPC64. Reviewed-by: kvn Contributed-by: lutz.schmidt at sap.com ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/sharedRuntime_ppc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/output.cpp Changeset: 62c54fcc0a35 Author: kvn Date: 2014-03-25 17:07 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/62c54fcc0a35 Merge ! .hgtags ! make/hotspot_version ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/code/nmethod.cpp - src/share/vm/gc_implementation/g1/heapRegionSets.cpp - src/share/vm/gc_implementation/g1/heapRegionSets.hpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/locknode.hpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/machnode.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 941427282eae Author: goetz Date: 2014-02-19 14:03 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/941427282eae 8034797: AIX: Fix os::naked_short_sleep() in os_aix.cpp after 8028280 Summary: imlements os::naked_short_sleep(jlong ms) on AIX Reviewed-by: dholmes, kvn ! src/os/aix/vm/os_aix.cpp Changeset: a7d4d4655766 Author: kvn Date: 2014-03-26 18:21 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a7d4d4655766 Merge ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/objectMonitor.cpp Changeset: af8cc1dae608 Author: goetz Date: 2014-02-26 11:33 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/af8cc1dae608 8035396: Introduce accessor for tmp_oop in frame. Summary: Avoid #ifs by introducing the accessor function interpreter_frame_temp_oop_addr(). Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/frame.inline.hpp Changeset: 3a55cf1e3c9f Author: goetz Date: 2014-02-27 20:40 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/3a55cf1e3c9f 8035970: PPC64: fix ad file after 8027754: Enable loop optimizations for loops with MathExact Reviewed-by: kvn ! src/cpu/ppc/vm/ppc.ad Changeset: 23262dd70c13 Author: kvn Date: 2014-01-28 10:19 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/23262dd70c13 8029941: rollback changes in make/jprt.properties for embedded testing Summary: cleanup changes merged by accident Reviewed-by: roland, dholmes ! make/jprt.properties Changeset: 3829d0343db0 Author: iignatyev Date: 2014-03-27 17:29 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/3829d0343db0 8038193: Add command line option tests for BMI options Reviewed-by: iveresov, kvn, iignatyev Contributed-by: filipp.zhinkin at oracle.com + test/compiler/arguments/BMICommandLineOptionTestBase.java + test/compiler/arguments/BMISupportedCPUTest.java + test/compiler/arguments/BMIUnsupportedCPUTest.java + test/compiler/arguments/TestUseBMI1InstructionsOnSupportedCPU.java + test/compiler/arguments/TestUseBMI1InstructionsOnUnsupportedCPU.java + test/compiler/arguments/TestUseCountLeadingZerosInstructionOnSupportedCPU.java + test/compiler/arguments/TestUseCountLeadingZerosInstructionOnUnsupportedCPU.java + test/compiler/arguments/TestUseCountTrailingZerosInstructionOnSupportedCPU.java + test/compiler/arguments/TestUseCountTrailingZerosInstructionOnUnsupportedCPU.java + test/testlibrary/com/oracle/java/testlibrary/ExitCode.java ! test/testlibrary/com/oracle/java/testlibrary/Utils.java + test/testlibrary/com/oracle/java/testlibrary/cli/CPUSpecificCommandLineOptionTest.java + test/testlibrary/com/oracle/java/testlibrary/cli/CommandLineOptionTest.java Changeset: 4abb719c5620 Author: iignatyev Date: 2014-03-27 11:17 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/4abb719c5620 8038240: new WB API to get nmethod Reviewed-by: morris, kvn ! src/share/vm/prims/whitebox.cpp ! src/share/vm/prims/whitebox.hpp ! test/compiler/whitebox/CompilerWhiteBoxTest.java + test/compiler/whitebox/GetNMethodTest.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java + test/testlibrary/whitebox/sun/hotspot/code/NMethod.java Changeset: 75ad4240c15c Author: vlivanov Date: 2014-03-28 10:04 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/75ad4240c15c 8036667: "assert(adr->is_AddP() && adr->in(AddPNode::Offset)->is_Con()) failed: offset is a constant" with FoldStableValues on Reviewed-by: kvn ! src/share/vm/opto/memnode.cpp Changeset: f47fa50d9b9c Author: vlivanov Date: 2014-03-28 10:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f47fa50d9b9c 8035887: VM crashes trying to force inlining the recursive call Reviewed-by: kvn, twisti ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/runtime/globals.hpp Changeset: 248ff38d2950 Author: vlivanov Date: 2014-03-28 10:13 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/248ff38d2950 8035828: Turn on @Stable support in VM Reviewed-by: jrose, twisti ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/runtime/globals.hpp + test/compiler/stable/TestStableBoolean.java + test/compiler/stable/TestStableByte.java + test/compiler/stable/TestStableChar.java + test/compiler/stable/TestStableDouble.java + test/compiler/stable/TestStableFloat.java + test/compiler/stable/TestStableInt.java + test/compiler/stable/TestStableLong.java + test/compiler/stable/TestStableObject.java + test/compiler/stable/TestStableShort.java Changeset: 758ee76af3cd Author: vlivanov Date: 2014-03-28 12:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/758ee76af3cd Merge Changeset: 2627c7be4279 Author: amurillo Date: 2014-03-28 15:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/2627c7be4279 Merge ! .hgtags ! make/hotspot_version Changeset: a07f90a9eaad Author: amurillo Date: 2014-03-28 15:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a07f90a9eaad Added tag hs25.20-b08 for changeset 2627c7be4279 ! .hgtags Changeset: e9ffa408f7af Author: amurillo Date: 2014-04-01 11:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e9ffa408f7af Merge ! .hgtags Changeset: d5f0404d965f Author: katleman Date: 2014-04-02 09:31 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d5f0404d965f Added tag jdk8u20-b08 for changeset e9ffa408f7af ! .hgtags Changeset: d5818eeedb40 Author: amurillo Date: 2014-03-28 15:29 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d5818eeedb40 8038639: new hotspot build - hs25.20-b09 Reviewed-by: jcoomes ! make/hotspot_version Changeset: f42c10a3d4b1 Author: minqi Date: 2014-03-31 13:09 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f42c10a3d4b1 7090324: gclog rotation via external tool Summary: GC log rotation can be set via java command line, but customer sometime need to sync with OS level rotation setting. Reviewed-by: sla, minqi, ehelin Contributed-by: suenaga.yasumasa at lab.ntt.co.jp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp + test/gc/TestGCLogRotationViaJcmd.java Changeset: 8a84bedf7173 Author: dholmes Date: 2014-03-31 23:49 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/8a84bedf7173 8016039: jvm.lib is missing from export list unless building server Summary: make the export declaration unconditional Reviewed-by: sla, sspitsyn ! make/windows/makefiles/defs.make Changeset: 0118c8c7b80f Author: kvn Date: 2014-03-31 13:08 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0118c8c7b80f 8038633: crash in VM_Version::get_processor_features() on startup Summary: Windows need an exception wrapper around getPsrInfo_stub() call in order to properly handle SEGV for YMM registers test. Reviewed-by: iveresov, iignatyev ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.hpp ! src/os/windows/vm/os_windows.inline.hpp ! src/share/vm/prims/jni.cpp Changeset: 56e7f5560e60 Author: kvn Date: 2014-04-02 11:24 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/56e7f5560e60 8036767: PPC64: Support for little endian execution model Reviewed-by: goetz, kvn, dholmes, simonis Contributed-by: asmundak at google.com ! make/linux/Makefile ! make/linux/makefiles/defs.make ! make/linux/makefiles/ppc64.make ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/bytes_ppc.hpp ! src/os/linux/vm/os_linux.cpp + src/os_cpu/linux_ppc/vm/bytes_linux_ppc.inline.hpp Changeset: 876390ee9b6f Author: iveresov Date: 2014-04-02 11:24 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/876390ee9b6f 8039043: Implicit null check is in the wrong place in C1 -UseCompressedOops Summary: Null check is placed in a wrong place when storing a null to an object field on x64 with compressed oops off Reviewed-by: roland, vlivanov, kvn ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp + test/compiler/codegen/C1NullCheckOfNullStore.java Changeset: 6df24530bf14 Author: iveresov Date: 2014-04-03 16:37 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6df24530bf14 Merge Changeset: bfdf528be8e8 Author: tschatzl Date: 2014-04-04 10:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bfdf528be8e8 8038498: Fix includes and C inlining after 8035330 Summary: Change 8035330: Remove G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure broke the debug build on AIX. The method do_oop_partial_array() is added in a header, but requires the inline function par_write_ref() through several inlined calls. In some cpp files, like arguments.cpp, par_write_ref() is not defined as the corresponding inline header and is not included. The AIX debug VM does not start because of the missing symbol. This change solves this by cleaning up include dependencies. Reviewed-by: tschatzl, stefank ! src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp Changeset: b257acb35d3e Author: zgu Date: 2013-12-16 10:57 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/b257acb35d3e 8026300: VM warning: increase O_BUFLEN in ostream.hpp -- output truncated occurs with fastdebug VM when printing flags Summary: Fixed wrong print string format Reviewed-by: sla, ccheung ! src/share/vm/runtime/globals.cpp Changeset: 5186bc5047c1 Author: amurillo Date: 2014-04-04 09:49 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/5186bc5047c1 Merge Changeset: 4d73f1e99f97 Author: amurillo Date: 2014-04-04 09:49 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4d73f1e99f97 Added tag hs25.20-b09 for changeset 5186bc5047c1 ! .hgtags Changeset: e7a61fa2658b Author: katleman Date: 2014-04-09 08:47 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e7a61fa2658b Added tag jdk8u20-b09 for changeset 4d73f1e99f97 ! .hgtags Changeset: eb82175e7fbb Author: amurillo Date: 2014-04-04 09:54 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/eb82175e7fbb 8039291: new hotspot build - hs25.20-b10 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 5cf196cc5405 Author: dbuck Date: 2014-04-05 23:38 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/5cf196cc5405 8026334: hs_err improvement: Print elapsed time in a humanly readable format Reviewed-by: coleenp, dsamersoff Contributed-by: masato.yoshida at oracle.com ! src/share/vm/runtime/os.cpp Changeset: fd8ddf2d2f6b Author: pliden Date: 2014-04-03 10:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/fd8ddf2d2f6b 8038461: Test gc/g1/TestStringDeduplicationMemoryUsage.java fails with unexpected memory usage Reviewed-by: jmasa, sjohanss ! test/gc/g1/TestStringDeduplicationTools.java Changeset: 14bd75c9dbfa Author: jwilhelm Date: 2014-04-03 16:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/14bd75c9dbfa 8039089: List verification enabled in product builds Summary: Replaced the verification call to a conditional one that only runs verification in debug builds. Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp Changeset: 3ef5c627634a Author: amurillo Date: 2014-04-07 22:13 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3ef5c627634a 8039392: Make jdk8u20 the default jprt release for hs25.20 Reviewed-by: kvn, dholmes ! make/jprt.properties Changeset: 81d7a4b28dc5 Author: neugens Date: 2014-04-08 14:55 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/81d7a4b28dc5 8036619: Shark: add LLVM 3.4 support Reviewed-by: twisti, kvn ! make/linux/makefiles/zeroshark.make ! src/share/vm/shark/llvmHeaders.hpp ! src/share/vm/shark/sharkMemoryManager.cpp ! src/share/vm/shark/sharkMemoryManager.hpp Changeset: 8847586c9037 Author: vkempik Date: 2014-04-03 17:49 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/8847586c9037 8016302: Change type of the number of GC workers to unsigned int (2) Reviewed-by: tschatzl, jwilhelm ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp ! src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp ! src/share/vm/gc_implementation/g1/concurrentG1RefineThread.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp ! src/share/vm/gc_implementation/g1/dirtyCardQueue.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp ! src/share/vm/gc_implementation/g1/g1HotCardCache.cpp ! src/share/vm/gc_implementation/g1/g1HotCardCache.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/satbQueue.cpp ! src/share/vm/gc_implementation/g1/satbQueue.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: 21dd1c827123 Author: kevinw Date: 2014-04-02 18:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/21dd1c827123 8033696: "assert(thread != NULL) failed: just checking" due to Thread::current() and JNI pthread interaction Reviewed-by: dholmes, dsamersoff Contributed-by: andreas.eriksson at oracle.com ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/share/vm/runtime/vmThread.cpp Changeset: 58fab66a8297 Author: kevinw Date: 2014-04-09 03:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/58fab66a8297 Merge Changeset: a57ba009d4dc Author: roland Date: 2014-02-27 09:37 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/a57ba009d4dc 8032011: nsk/stress/jck60/jck60022 crashes in src\share\vm\runtime\synchronizer.cpp:239 Summary: biased locking's revoke_bias locks monitor in compiled frame with eliminated lock Reviewed-by: kvn, iveresov ! src/share/vm/runtime/biasedLocking.cpp + test/compiler/uncommontrap/TestLockEliminatedAtDeopt.java Changeset: 6048424d3865 Author: goetz Date: 2014-04-10 04:07 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6048424d3865 8038201: Clean up misleading usage of malloc() in init_system_properties_values() Summary: Remove the misleading malloc macro and cleanup the code Reviewed-by: dsamersoff, kvn Contributed-by: goetz.lindenmaier at sap.com ! src/cpu/ppc/vm/templateInterpreter_ppc.cpp ! src/os/aix/vm/os_aix.cpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp Changeset: 526acaf3626f Author: kvn Date: 2014-04-09 11:18 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/526acaf3626f 8038939: Some options related to RTM locking optimization works inconsistently Summary: Switch UseRTMXendForLockBusy flag ON by default and change code to retry RTM locking on lock busy condition by default. Reviewed-by: roland ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp Changeset: 2100bf712e2a Author: goetz Date: 2014-04-03 12:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2100bf712e2a 8039146: Fix 64-bit store to int JNIHandleBlock::_top Reviewed-by: coleenp, kvn ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp Changeset: 27a9e6a96a8c Author: amurillo Date: 2014-04-10 15:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/27a9e6a96a8c Merge Changeset: f6efc715db74 Author: amurillo Date: 2014-04-10 15:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f6efc715db74 Added tag hs25.20-b10 for changeset 27a9e6a96a8c ! .hgtags Changeset: a18dafb24f80 Author: asaha Date: 2014-03-14 22:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a18dafb24f80 Merge ! .hgtags ! make/hotspot_version ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/objArrayKlass.cpp Changeset: db123bc329d0 Author: asaha Date: 2014-03-18 14:04 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/db123bc329d0 Merge ! .hgtags ! make/hotspot_version Changeset: a627b8068d43 Author: asaha Date: 2014-03-20 10:24 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a627b8068d43 Merge ! .hgtags Changeset: 5292c288af34 Author: asaha Date: 2014-03-20 10:34 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/5292c288af34 Merge ! .hgtags Changeset: 10e0955f4141 Author: asaha Date: 2014-03-27 14:50 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/10e0955f4141 Merge ! .hgtags ! make/hotspot_version - src/share/vm/gc_implementation/g1/heapRegionSets.cpp - src/share/vm/gc_implementation/g1/heapRegionSets.hpp Changeset: e6131477d52e Author: asaha Date: 2014-03-31 14:07 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e6131477d52e Merge ! .hgtags Changeset: cdcb11ccfb3b Author: asaha Date: 2014-04-02 09:59 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/cdcb11ccfb3b Merge ! .hgtags ! make/hotspot_version Changeset: 4d0a601553cc Author: asaha Date: 2014-04-09 12:23 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4d0a601553cc Merge ! .hgtags ! make/hotspot_version Changeset: 300e2c5eeb27 Author: asaha Date: 2014-04-14 16:09 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/300e2c5eeb27 Merge ! .hgtags ! make/hotspot_version Changeset: 70dc2c030c69 Author: katleman Date: 2014-04-16 12:32 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/70dc2c030c69 Added tag jdk8u20-b10 for changeset 300e2c5eeb27 ! .hgtags Changeset: 4bde989d1eee Author: katleman Date: 2014-04-23 11:35 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4bde989d1eee Added tag jdk8u20-b11 for changeset 70dc2c030c69 ! .hgtags Changeset: 4b4ac8b31e3e Author: amurillo Date: 2014-04-10 15:11 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4b4ac8b31e3e 8039967: new hotspot build - hs25.20-b11 Reviewed-by: jcoomes ! make/hotspot_version Changeset: fa21c9537e6e Author: ehelin Date: 2014-03-26 14:15 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/fa21c9537e6e 8035667: EventMetaspaceSummary doesn't report committed Metaspace memory Reviewed-by: jmasa, stefank ! src/share/vm/gc_implementation/shared/gcHeapSummary.hpp ! src/share/vm/gc_implementation/shared/gcTraceSend.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/trace/trace.xml Changeset: 270d7cb38f40 Author: ehelin Date: 2014-03-31 17:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/270d7cb38f40 8038934: Remove prefix allocated_ from methods and variables in Metaspace Reviewed-by: jmasa, coleenp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/services/memoryPool.cpp Changeset: b127b0d6de7f Author: iignatyev Date: 2014-04-09 22:37 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/b127b0d6de7f 8039597: WhiteBox :: clean type profiling data Reviewed-by: kvn, roland ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/vm_operations.hpp Changeset: 72558bacada3 Author: iignatyev Date: 2014-04-11 00:34 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/72558bacada3 8038953: Add sanity tests for BMI1 and LZCNT instructions Reviewed-by: kvn, iignatyev Contributed-by: anton.ivanov at oracle.com ! test/TEST.groups + test/compiler/intrinsics/bmi/verifycode/AddnTestI.java + test/compiler/intrinsics/bmi/verifycode/AddnTestL.java + test/compiler/intrinsics/bmi/verifycode/BlsiTestI.java + test/compiler/intrinsics/bmi/verifycode/BlsiTestL.java + test/compiler/intrinsics/bmi/verifycode/BlsmskTestI.java + test/compiler/intrinsics/bmi/verifycode/BlsmskTestL.java + test/compiler/intrinsics/bmi/verifycode/BlsrTestI.java + test/compiler/intrinsics/bmi/verifycode/BlsrTestL.java + test/compiler/intrinsics/bmi/verifycode/BmiIntrinsicBase.java + test/compiler/intrinsics/bmi/verifycode/LZcntTestI.java + test/compiler/intrinsics/bmi/verifycode/LZcntTestL.java + test/compiler/intrinsics/bmi/verifycode/TZcntTestI.java + test/compiler/intrinsics/bmi/verifycode/TZcntTestL.java ! test/testlibrary/com/oracle/java/testlibrary/Utils.java Changeset: 5e6f84e7a942 Author: neliasso Date: 2014-01-28 15:05 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/5e6f84e7a942 8007270: Make IsMethodCompilable test work with tiered Summary: Only c2 compiles counts toward cutoff Reviewed-by: kvn, roland ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/testlibrary/com/oracle/java/testlibrary/Platform.java Changeset: a0eb3f61d34a Author: iignatyev Date: 2014-04-11 00:34 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/a0eb3f61d34a 8039497: Testlibrary should be updated to provide information about all VM types as well as access to Unsafe Reviewed-by: kvn, iignatyev Contributed-by: filipp.zhinkin at oracle.com ! test/testlibrary/com/oracle/java/testlibrary/Platform.java ! test/testlibrary/com/oracle/java/testlibrary/Utils.java Changeset: 665bbe93823f Author: iignatyev Date: 2014-04-14 19:29 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/665bbe93823f 8039499: Add all common classes used by tests on RTM support to testlibrary Reviewed-by: kvn, iignatyev Contributed-by: filipp.zhinkin at oracle.com + test/compiler/testlibrary/rtm/AbortProvoker.java + test/compiler/testlibrary/rtm/AbortType.java + test/compiler/testlibrary/rtm/BufferOverflowProvoker.java + test/compiler/testlibrary/rtm/BusyLock.java + test/compiler/testlibrary/rtm/CompilableTest.java + test/compiler/testlibrary/rtm/MemoryConflictProvoker.java + test/compiler/testlibrary/rtm/NestedAbortProvoker.java + test/compiler/testlibrary/rtm/RTMLockingStatistics.java + test/compiler/testlibrary/rtm/RTMTestBase.java + test/compiler/testlibrary/rtm/XAbortProvoker.java + test/compiler/testlibrary/rtm/predicate/SupportedCPU.java + test/compiler/testlibrary/rtm/predicate/SupportedVM.java ! test/testlibrary/com/oracle/java/testlibrary/cli/CPUSpecificCommandLineOptionTest.java ! test/testlibrary/com/oracle/java/testlibrary/cli/CommandLineOptionTest.java + test/testlibrary/com/oracle/java/testlibrary/cli/predicate/AndPredicate.java + test/testlibrary/com/oracle/java/testlibrary/cli/predicate/CPUSpecificPredicate.java + test/testlibrary/com/oracle/java/testlibrary/cli/predicate/NotPredicate.java + test/testlibrary/com/oracle/java/testlibrary/cli/predicate/OrPredicate.java Changeset: 100f2b109432 Author: iignatyev Date: 2014-04-14 19:29 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/100f2b109432 8039496: Add sanity tests on RTM-related command line options Reviewed-by: kvn, iignatyev Contributed-by: filipp.zhinkin at oracle.com + test/compiler/rtm/cli/RTMGenericCommandLineOptionTest.java + test/compiler/rtm/cli/RTMLockingAwareTest.java + test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsBase.java + test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnSupportedConfig.java + test/compiler/rtm/cli/TestPrintPreciseRTMLockingStatisticsOptionOnUnsupportedConfig.java + test/compiler/rtm/cli/TestRTMAbortRatioOptionOnSupportedConfig.java + test/compiler/rtm/cli/TestRTMAbortRatioOptionOnUnsupportedConfig.java + test/compiler/rtm/cli/TestRTMAbortThresholdOption.java + test/compiler/rtm/cli/TestRTMLockingCalculationDelayOption.java + test/compiler/rtm/cli/TestRTMLockingThresholdOption.java + test/compiler/rtm/cli/TestRTMSpinLoopCountOption.java + test/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnSupportedConfig.java + test/compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnUnsupportedConfig.java + test/compiler/rtm/cli/TestUseRTMDeoptOptionOnSupportedConfig.java + test/compiler/rtm/cli/TestUseRTMDeoptOptionOnUnsupportedConfig.java + test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnSupportedConfig.java + test/compiler/rtm/cli/TestUseRTMForStackLocksOptionOnUnsupportedConfig.java + test/compiler/rtm/cli/TestUseRTMLockingOptionOnSupportedConfig.java + test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedCPU.java + test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedVM.java + test/compiler/rtm/cli/TestUseRTMLockingOptionWithBiasedLocking.java + test/compiler/rtm/cli/TestUseRTMXendForLockBusyOption.java Changeset: ba8268c23fa2 Author: iignatyev Date: 2014-04-11 00:35 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/ba8268c23fa2 8037860: Add tests to cover Intel RTM instructions support Reviewed-by: kvn, iignatyev Contributed-by: filipp.zhinkin at oracle.com + test/compiler/rtm/locking/TestRTMAbortRatio.java + test/compiler/rtm/locking/TestRTMAbortThreshold.java + test/compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java + test/compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java + test/compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java + test/compiler/rtm/locking/TestRTMLockingCalculationDelay.java + test/compiler/rtm/locking/TestRTMLockingThreshold.java + test/compiler/rtm/locking/TestRTMRetryCount.java + test/compiler/rtm/locking/TestRTMSpinLoopCount.java + test/compiler/rtm/locking/TestRTMTotalCountIncrRate.java + test/compiler/rtm/locking/TestUseRTMAfterLockInflation.java + test/compiler/rtm/locking/TestUseRTMDeopt.java + test/compiler/rtm/locking/TestUseRTMForInflatedLocks.java + test/compiler/rtm/locking/TestUseRTMForStackLocks.java + test/compiler/rtm/locking/TestUseRTMXendForLockBusy.java + test/compiler/rtm/method_options/TestNoRTMLockElidingOption.java + test/compiler/rtm/method_options/TestUseRTMLockElidingOption.java + test/compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java Changeset: 2c7132f3f1e6 Author: iignatyev Date: 2014-04-14 22:53 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/2c7132f3f1e6 Merge Changeset: cb1b723cbca8 Author: dholmes Date: 2014-04-14 20:56 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/cb1b723cbca8 8039891: Remove ppcsflt builds from JPRT Reviewed-by: mikael, tbell ! make/jprt.properties Changeset: 9c3dc501b5eb Author: sjohanss Date: 2014-02-13 10:05 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/9c3dc501b5eb 8028498: runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java asserts in RT_Baseline Summary: Preventing GCs to occur before VM is completely initialized. This was previously partly done by one part of the GC locker which not was removed. Reviewed-by: coleenp, pliden ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/gcLocker.inline.hpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/unhandledOops.cpp Changeset: 17b2fbdb6637 Author: iveresov Date: 2014-04-10 23:15 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/17b2fbdb6637 8038297: Avoid placing CTI immediately following cbcond instruction on T4 Summary: Insert a nop between cbcond and CTI Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp ! src/cpu/sparc/vm/sparc.ad ! src/share/vm/adlc/output_h.cpp ! src/share/vm/opto/machnode.hpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/output.cpp Changeset: 947fa9a22898 Author: iveresov Date: 2014-04-15 12:39 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/947fa9a22898 Merge Changeset: d55853ba088b Author: ctornqvi Date: 2014-02-10 17:49 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d55853ba088b 8016644: Improve UnsupportedClassVersionError message Summary: Improved the UnsupportedClassVersionError message to hopefully be more user friendly Reviewed-by: coleenp, dholmes, twisti ! src/share/vm/classfile/classFileParser.cpp + test/runtime/ClassFile/UnsupportedClassFileVersion.java ! test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java Changeset: e1fc9306859a Author: ctornqvi Date: 2014-02-12 20:40 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/e1fc9306859a 8034781: [TESTBUG] runtime/ClassFileUnsupportedClassFileVersion.java unable to find or load main class Summary: Passed empty string to ProcessBuilder which caused problems on Linux, fixed by checking string length Reviewed-by: lfoltan, sla, mseledtsov ! test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java Changeset: 534fbe3d90f0 Author: iignatyev Date: 2014-04-11 18:46 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/534fbe3d90f0 8038418: New tests development for type profiling and speculation Reviewed-by: roland, iignatyev Contributed-by: Pavel Punegov + test/compiler/types/correctness/CorrectnessTest.java + test/compiler/types/correctness/OffTest.java + test/compiler/types/correctness/execution/Execution.java + test/compiler/types/correctness/execution/MethodHandleDelegate.java + test/compiler/types/correctness/execution/TypeConflict.java + test/compiler/types/correctness/execution/TypeProfile.java + test/compiler/types/correctness/hierarchies/DefaultMethodInterface.java + test/compiler/types/correctness/hierarchies/DefaultMethodInterface2.java + test/compiler/types/correctness/hierarchies/Linear.java + test/compiler/types/correctness/hierarchies/Linear2.java + test/compiler/types/correctness/hierarchies/NullableType.java + test/compiler/types/correctness/hierarchies/OneRank.java + test/compiler/types/correctness/hierarchies/TypeHierarchy.java + test/compiler/types/correctness/scenarios/ArrayCopy.java + test/compiler/types/correctness/scenarios/ArrayReferenceStore.java + test/compiler/types/correctness/scenarios/ArrayScenario.java + test/compiler/types/correctness/scenarios/CheckCast.java + test/compiler/types/correctness/scenarios/ClassIdentity.java + test/compiler/types/correctness/scenarios/ClassInstanceOf.java + test/compiler/types/correctness/scenarios/ClassIsInstance.java + test/compiler/types/correctness/scenarios/ProfilingType.java + test/compiler/types/correctness/scenarios/ReceiverAtInvokes.java + test/compiler/types/correctness/scenarios/Scenario.java Changeset: 0af0caeb6a3a Author: iignatyev Date: 2014-04-16 08:28 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/0af0caeb6a3a 8040001: CLI test on RTMRetryCount option was missed from fix for 8039496 Reviewed-by: kvn, iignatyev Contributed-by: filipp.zhinkin at oracle.com + test/compiler/rtm/cli/TestRTMRetryCountOption.java Changeset: 9428a0b94204 Author: coleenp Date: 2014-04-15 17:02 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/9428a0b94204 8028497: SIGSEGV at ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool) Summary: Keep class in CLD::_klasses list and mirror created for CDS classes if OOM during restore_shareable_info(). This keeps pointers consistent for CMS. Reviewed-by: ehelin, stefank, jmasa, iklam ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp Changeset: cf9f24de0b93 Author: coleenp Date: 2014-04-11 20:02 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/cf9f24de0b93 8039904: dtrace/hotspot/Monitors/Monitors001 fails with "assert(s > 0) failed: Bad size calculated" Summary: Dtrace monitoring uses size before mirror size is set. Reviewed-by: kamg, hseigel ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: bd58c9e40d0a Author: coleenp Date: 2014-03-03 13:58 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/bd58c9e40d0a 8035735: Metaspace::contains become extremely slow in some cases Summary: Call is_metadata instead which does less work for the call in debugInfo.hpp which is called for all compiled code stack frames. Reviewed-by: jmasa, dcubed ! src/share/vm/code/debugInfo.hpp ! src/share/vm/oops/metadata.hpp Changeset: 7e6c20c85ccf Author: coleenp Date: 2014-04-16 18:40 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/7e6c20c85ccf Merge ! src/share/vm/classfile/classFileParser.cpp Changeset: cd3c534f8f4a Author: kvn Date: 2014-04-15 14:34 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/cd3c534f8f4a 8039050: Crash in C2 compiler at Node::rematerialize Summary: Added missing calls to record_for_igvn() in loop opts. Added verification of def-use domination. Reviewed-by: iveresov ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopopts.cpp Changeset: c4bc6b5c6f25 Author: lfoltan Date: 2014-04-14 10:13 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/c4bc6b5c6f25 8038076: constraint on multianewarray instruction is not checked since class version 50. Summary: No VerifiyError generated if multianewarray bytecode's array type descriptor was 1 dimension smaller than dimensions specified. Reviewed-by: hseigel, ctornqvi, coleenp, kamg ! src/share/vm/classfile/verificationType.hpp + test/runtime/verifier/TestMultiANewArray.java Changeset: 386dd1c71858 Author: lfoltan Date: 2014-04-14 14:27 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/386dd1c71858 8033150: invokestatic: IncompatibleClassChangeError trying to invoke static method from a parent in presence of conflicting defaults. Summary: A static method should be preferred during method resolution over an overpass, search the current class as well as its superclasses. Reviewed-by: acorn, coleenp, kamg ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/nativeLookup.cpp Changeset: cfde111a2f20 Author: hseigel Date: 2014-04-17 17:35 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/cfde111a2f20 Merge Changeset: b6a2ba7d3ea7 Author: amurillo Date: 2014-04-17 16:09 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b6a2ba7d3ea7 Merge ! make/hotspot_version ! src/share/vm/classfile/classFileParser.cpp Changeset: 49b5160951dd Author: amurillo Date: 2014-04-17 16:09 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/49b5160951dd Added tag hs25.20-b11 for changeset b6a2ba7d3ea7 ! .hgtags Changeset: a163af774cb9 Author: amurillo Date: 2014-04-17 16:18 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a163af774cb9 8040898: new hotspot build - hs25.20-b12 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 87b5e00100fe Author: kvn Date: 2014-04-16 14:49 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/87b5e00100fe 8038048: assert(null_obj->escape_state() == PointsToNode::NoEscape,etc) runThese -full Summary: use correct set_escape_state() method. Reviewed-by: kvn, iignatyev Contributed-by: Richard Reingruber ! src/share/vm/opto/escape.cpp + test/compiler/EscapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.java Changeset: 31e28ee4c9b4 Author: anoll Date: 2014-04-23 10:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/31e28ee4c9b4 8038921: assert(t != NULL) failed: must set before get Summary: Ignore nodes without a type when checking for speculative types in Compile::remove_speculative_types(...). Reviewed-by: kvn, roland Contributed-by: Tobias Hartmann ! src/share/vm/opto/compile.cpp Changeset: 42274879e644 Author: kvn Date: 2014-04-22 17:45 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/42274879e644 8041351: Crash in src/share/vm/opto/loopnode.cpp:3215 - assert(!had_error) failed: bad dominance Summary: add missing is_mem() check when we collect load nodes in SuperWord::co_locate_pack(). Reviewed-by: iveresov ! src/share/vm/opto/superword.cpp Changeset: 9f9257611ade Author: iignatyev Date: 2014-04-24 14:02 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/9f9257611ade 8041497: Compilation of compiler/rtm/cli/TestUseRTMDeoptOption* tests failed Reviewed-by: kvn, roland ! test/compiler/rtm/cli/TestUseRTMDeoptOptionOnSupportedConfig.java ! test/compiler/rtm/cli/TestUseRTMDeoptOptionOnUnsupportedConfig.java Changeset: 1d01a7f3a336 Author: sjohanss Date: 2014-04-23 11:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1d01a7f3a336 8033426: Scale initial NewSize using NewRatio if not set on command line Summary: Now using NewRatio to size initial NewSize if not specified on commandline. Reviewed-by: jmasa, jwilhelm ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/prims/jni.cpp Changeset: 9eddc467297f Author: sjohanss Date: 2014-02-21 09:48 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/9eddc467297f 8035057: NewSize ergonomics wrong when setting small or unaligned size on command line Summary: Making sure that if NewSize is set on the command line it should be used for both min and initial size even if it is re-aligned. Reviewed-by: jwilhelm, jmasa ! src/share/vm/memory/collectorPolicy.cpp Changeset: ce9fd31ffd14 Author: roland Date: 2014-04-18 14:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ce9fd31ffd14 8039975: SIGSEGV in MethodData::next_data(ProfileData*) Summary: profiling code in interpreter broken when argument profiling is off. Reviewed-by: iveresov, kvn ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/x86/vm/interp_masm_x86.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/oops/methodData.hpp Changeset: 3c291bc2aa7c Author: amurillo Date: 2014-04-25 09:19 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3c291bc2aa7c Merge ! .hgtags Changeset: 18ae0dac7620 Author: amurillo Date: 2014-04-25 09:19 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/18ae0dac7620 Added tag hs25.20-b12 for changeset 3c291bc2aa7c ! .hgtags Changeset: 47951595af60 Author: katleman Date: 2014-04-30 11:16 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/47951595af60 Added tag jdk8u20-b12 for changeset 18ae0dac7620 ! .hgtags Changeset: 7dd67cb4f225 Author: katleman Date: 2014-05-07 10:58 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7dd67cb4f225 Added tag jdk8u20-b13 for changeset 47951595af60 ! .hgtags Changeset: 4e03f6196358 Author: amurillo Date: 2014-04-25 09:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4e03f6196358 8041947: new hotspot build - hs25.20-b13 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 7150b16fda52 Author: anoll Date: 2014-04-14 08:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7150b16fda52 8029436: CICompilerCount is not updated when the number of compiler threads is adjusted to the number of CPUs Summary: CICompilerCount is updated in AdvancedThresholdPolicy::initialize, SimpleThresholdPolicy::initialize and NonTieredCompPolicy::initialize. A warning is printed if the usersets both, CICompilerCount and CICompilerCountPerCPU. Reviewed-by: kvn, twisti Contributed-by: Tobias Hartmann ! src/share/vm/runtime/advancedThresholdPolicy.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/simpleThresholdPolicy.cpp Changeset: 798f5b02be89 Author: amurillo Date: 2014-05-01 14:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/798f5b02be89 Merge Changeset: 4bc28e6b9aba Author: amurillo Date: 2014-05-01 14:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4bc28e6b9aba Added tag hs25.20-b13 for changeset 798f5b02be89 ! .hgtags Changeset: 85d6efcb1fa3 Author: amurillo Date: 2014-05-01 15:02 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/85d6efcb1fa3 8042279: new hotspot build - hs25.20-b14 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 03214612e77e Author: kvn Date: 2014-04-30 14:14 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/03214612e77e 8035936: SIGBUS in StubRoutines::aesencryptBlock, solaris-sparc Summary: Fix the arbitrary alignment issue in SPARC AES crypto stub routines. Reviewed-by: kvn, iveresov Contributed-by: shrinivas.joshi at oracle.com ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.hpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/runtime.cpp ! test/compiler/7184394/TestAESBase.java ! test/compiler/7184394/TestAESDecode.java ! test/compiler/7184394/TestAESEncode.java ! test/compiler/7184394/TestAESMain.java Changeset: f48e481abef0 Author: kvn Date: 2014-05-01 17:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f48e481abef0 8042281: compiler/7184394/TestAESMain.java fails with: javax.crypto.IllegalBlockSizeException: Input length not multiple of 16 bytes Summary: Added missing -DmsgSize=640 to test's run commands. Reviewed-by: kvn Contributed-by: shrinivas.joshi at oracle.com ! test/compiler/7184394/TestAESMain.java Changeset: 653e11c86c5a Author: kvn Date: 2014-04-29 10:29 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/653e11c86c5a 8041959: Skip replay parsing errors with ReplayIgnoreInitErrors Summary: Allow replay compilation with replay file parsing error. Reviewed-by: twisti, iveresov ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/runtime/simpleThresholdPolicy.cpp Changeset: 1eba0601f0dd Author: kvn Date: 2014-04-29 12:20 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/1eba0601f0dd 8041957: -XX:UseAVX=0 cause assert(UseAVX) failed Summary: temporary set UseAVX=1 and UseSSE=2 in generate_get_cpu_info() Reviewed-by: twisti ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/vm_version_x86.cpp Changeset: 3636afd5ec1a Author: kvn Date: 2014-05-02 16:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3636afd5ec1a 8039298: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)->higher_equal(TypePtr::NULL_PTR)) Summary: Convert the assert into the runtime check to skip IGVN optimizations for problematic memory nodes. Eliminate dead nodes more aggressively. Reviewed-by: twisti, iveresov ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/node.cpp Changeset: e0a77b91da68 Author: anoll Date: 2014-04-28 12:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e0a77b91da68 8040085: dtrace/jsdt tests crash on solaris. found an unadvertised bad scavengable oop in the code cache Summary: Add CodeCache::add_scavenge_root_nmethod(this) to the dtrace-constructor of nmethod Reviewed-by: roland, iveresov ! src/share/vm/code/nmethod.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: 34862ced4a87 Author: mgronlun Date: 2014-05-08 11:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/34862ced4a87 8041723: Event Based tracing ids to be reassigned for CDS klasses Reviewed-by: coleenp, ehelin ! src/share/vm/oops/klass.cpp Changeset: 63c5920a038d Author: goetz Date: 2014-05-02 14:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/63c5920a038d 8042309: Some bugfixes for the ppc64 port. Reviewed-by: kvn ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/cpu/ppc/vm/frame_ppc.inline.hpp ! src/cpu/ppc/vm/interp_masm_ppc_64.hpp ! src/cpu/ppc/vm/interpreterRT_ppc.cpp ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/cpu/ppc/vm/jniFastGetField_ppc.cpp ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/templateInterpreter_ppc.cpp ! src/cpu/ppc/vm/templateTable_ppc_64.cpp ! src/os_cpu/linux_ppc/vm/atomic_linux_ppc.inline.hpp Changeset: 28bbbecff5f0 Author: amurillo Date: 2014-05-08 23:07 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/28bbbecff5f0 Merge ! .hgtags Changeset: c20d8a452574 Author: amurillo Date: 2014-05-08 23:07 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c20d8a452574 Added tag hs25.20-b14 for changeset 28bbbecff5f0 ! .hgtags Changeset: 382a82b0a3e7 Author: katleman Date: 2014-05-13 23:17 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/382a82b0a3e7 Added tag jdk8u20-b14 for changeset c20d8a452574 ! .hgtags Changeset: f1b83c6b8411 Author: amurillo Date: 2014-05-08 23:10 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f1b83c6b8411 8042813: new hotspot build - hs25.20-b15 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 400709e275c1 Author: adlertz Date: 2014-04-25 12:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/400709e275c1 8029302: Performance regression in Math.pow intrinsic Summary: Added special case for x^y where y == 2 Reviewed-by: kvn ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/share/vm/opto/library_call.cpp Changeset: a062c3691003 Author: anoll Date: 2014-05-05 15:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a062c3691003 8042052: assert(t != NULL) failed: must set before get Summary: Fixes a bug introduced by 8029302 Reviewed-by: kvn ! src/share/vm/opto/library_call.cpp Changeset: 917873d2983d Author: sla Date: 2014-04-25 07:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/917873d2983d 8040140: System.nanoTime() is slow and non-monotonic on OS X Reviewed-by: sspitsyn, shade, dholmes, acorn ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/os_bsd.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/runtime/os.hpp Changeset: 45e59fae8f2b Author: roland Date: 2014-04-25 09:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/45e59fae8f2b 8041481: JVM crashes with collect_args_for_profiling Summary: method handle call to c1 intrinsic tries to profile popped argument Reviewed-by: kvn, twisti ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp + test/compiler/profiling/TestMethodHandleInvokesIntrinsic.java Changeset: 49961f279e24 Author: roland Date: 2014-05-16 00:15 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/49961f279e24 Merge Changeset: 87bdb86f0aed Author: amurillo Date: 2014-05-16 03:25 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/87bdb86f0aed Merge Changeset: 8c785f9bde6f Author: amurillo Date: 2014-05-16 03:25 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8c785f9bde6f Added tag hs25.20-b15 for changeset 87bdb86f0aed ! .hgtags Changeset: fb9d124d9192 Author: katleman Date: 2014-05-21 10:56 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/fb9d124d9192 Added tag jdk8u20-b15 for changeset 8c785f9bde6f ! .hgtags Changeset: 8c7ba9f705a1 Author: amurillo Date: 2014-05-16 03:28 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8c7ba9f705a1 8043308: new hotspot build - hs25.20-b16 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 2b8a9740813e Author: dholmes Date: 2014-05-12 20:20 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/2b8a9740813e 8032551: Remove UsePPCLWSYNC from globals.hpp Reviewed-by: lfoltan, zgu ! src/share/vm/runtime/globals.hpp Changeset: daebbfd6d5ea Author: dholmes Date: 2014-05-16 19:13 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/daebbfd6d5ea Merge Changeset: 124e98cd679a Author: iignatyev Date: 2014-05-18 00:25 +0400 URL: http://hg.openjdk.java.net/graal/graal/rev/124e98cd679a 8042949: +UnlockExperimentalVMOptions missed from TestUseRTMLockingOptionOnUnsupportedVM.java test Reviewed-by: kvn, iignatyev Contributed-by: filipp.zhinkin at oracle.com ! test/compiler/rtm/cli/TestUseRTMLockingOptionOnUnsupportedVM.java Changeset: 366c198c896d Author: lfoltan Date: 2014-05-15 09:25 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/366c198c896d 8041918: BootstrapMethods attribute cannot be empty. Summary: Allow a BootstrapMethods attribute that contains an empty bootstrap_methods table where num_bootstrap_methods is equal to zero. Reviewed-by: coleenp, hseigel ! src/share/vm/classfile/classFileParser.cpp + test/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java + test/runtime/classFileParserBug/emptynumbootstrapmethods.jar + test/runtime/classFileParserBug/emptynumbootstrapmethods1.jcod + test/runtime/classFileParserBug/emptynumbootstrapmethods2.jcod Changeset: 7384f6a12fc1 Author: coleenp Date: 2014-05-15 18:23 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/7384f6a12fc1 8038212: Method::is_valid_method() check has performance regression impact for stackwalking Summary: Only prune metaspace virtual spaces at safepoint so walking them is safe outside a safepoint. Reviewed-by: mgerdin, mgronlun, hseigel, stefank ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 968a17f18337 Author: kvn Date: 2014-05-16 12:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/968a17f18337 8042786: Proper fix for 8032566 Summary: Check for overflow cases in range checks and collapse it if we can. Reviewed-by: jrose, iveresov ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/subnode.hpp Changeset: 78bbf4d43a14 Author: drchase Date: 2014-05-22 15:52 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/78bbf4d43a14 8037816: Fix for 8036122 breaks build with Xcode5/clang 8043029: Change 8037816 breaks HS build with older GCC versions which don't support diagnostic pragmas 8043164: Format warning in traceStream.hpp Summary: Backport of main fix + two corrections, enables clang compilation, turns on format attributes, corrects/mutes warnings Reviewed-by: kvn, coleenp, iveresov, twisti ! src/cpu/ppc/vm/vm_version_ppc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/compiledIC_x86.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/interpreter_x86_64.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/nativeInst_x86.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/os/bsd/vm/decoder_machO.cpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/posix/vm/os_posix.cpp ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/asm/register.hpp ! src/share/vm/c1/c1_CFGPrinter.cpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_RangeCheckElimination.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_ValueType.hpp ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/ciConstant.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciMetadata.cpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/ci/ciObject.cpp ! src/share/vm/ci/ciSignature.cpp ! src/share/vm/ci/ciType.cpp ! src/share/vm/classfile/classFileError.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/dictionary.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/compressedStream.cpp ! src/share/vm/code/debugInfo.cpp ! src/share/vm/code/exceptionHandlerTable.cpp ! src/share/vm/code/icBuffer.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/pcDesc.cpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/scopeDesc.cpp ! src/share/vm/code/vtableStubs.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileLog.cpp ! src/share/vm/compiler/compileLog.hpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/methodLiveness.cpp ! src/share/vm/compiler/oopMap.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeChunk.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp ! src/share/vm/gc_implementation/g1/g1AllocRegion.cpp ! src/share/vm/gc_implementation/g1/g1AllocRegion.hpp ! src/share/vm/gc_implementation/g1/g1BiasedArray.cpp ! src/share/vm/gc_implementation/g1/g1BiasedArray.hpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.hpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.inline.hpp ! src/share/vm/gc_implementation/g1/g1CardCounts.cpp ! src/share/vm/gc_implementation/g1/g1CardCounts.hpp ! src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1HRPrinter.cpp ! src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp ! src/share/vm/gc_implementation/g1/heapRegionSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.hpp ! src/share/vm/gc_implementation/g1/satbQueue.cpp ! src/share/vm/gc_implementation/g1/survRateGroup.cpp ! src/share/vm/gc_implementation/parNew/asParNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/shared/ageTable.cpp ! src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/gc_implementation/shared/immutableSpace.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.cpp ! src/share/vm/gc_implementation/shared/spaceDecorator.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/oopMapCache.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/libadt/dict.cpp ! src/share/vm/libadt/set.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/blockOffsetTable.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genOopClosures.hpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/metachunk.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/memory/threadLocalAllocBuffer.inline.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/generateOopMap.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/klass.inline.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/markOop.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/oop.cpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/regmask.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/prims/jvmtiEnvThreadState.cpp ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/privilegedStack.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/biasedLocking.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/fprofiler.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/handles.cpp ! src/share/vm/runtime/interfaceSupport.cpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/osThread.cpp ! src/share/vm/runtime/perfData.cpp ! src/share/vm/runtime/perfMemory.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/safepoint.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/signature.cpp ! src/share/vm/runtime/stackValue.cpp ! src/share/vm/runtime/stackValueCollection.cpp ! src/share/vm/runtime/stubCodeGenerator.cpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/timer.cpp ! src/share/vm/runtime/unhandledOops.cpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticFramework.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/lowMemoryDetector.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/memReporter.cpp ! src/share/vm/services/memSnapshot.cpp ! src/share/vm/services/memTrackWorker.cpp ! src/share/vm/services/nmtDCmd.cpp ! src/share/vm/services/threadService.cpp ! src/share/vm/trace/traceStream.hpp ! src/share/vm/utilities/array.hpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/constantTag.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/events.cpp ! src/share/vm/utilities/events.hpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/exceptions.hpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/globalDefinitions_gcc.hpp ! src/share/vm/utilities/numberSeq.cpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp ! src/share/vm/utilities/quickSort.cpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/workgroup.cpp ! src/share/vm/utilities/xmlstream.cpp ! src/share/vm/utilities/xmlstream.hpp Changeset: 1555c0843770 Author: drchase Date: 2014-05-22 13:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/1555c0843770 Merge ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/subnode.cpp Changeset: 0fb5b60ab4a2 Author: mikael Date: 2014-04-29 22:04 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0fb5b60ab4a2 8022070: Compilation error in stubGenerator_sparc.cpp with some compilers Reviewed-by: twisti, kvn ! src/cpu/sparc/vm/stubGenerator_sparc.cpp Changeset: 7f77d17d0f13 Author: mikael Date: 2014-04-29 22:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7f77d17d0f13 8042059: Various fixes to linux/sparc Reviewed-by: twisti, kvn ! agent/src/os/linux/libproc.h ! src/cpu/sparc/vm/frame_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp Changeset: 50e5d560367b Author: amurillo Date: 2014-05-23 14:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/50e5d560367b Merge Changeset: c36ef639e6d3 Author: amurillo Date: 2014-05-23 14:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c36ef639e6d3 Added tag hs25.20-b16 for changeset 50e5d560367b ! .hgtags Changeset: 460b0b08247f Author: katleman Date: 2014-05-28 02:27 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/460b0b08247f Added tag jdk8u20-b16 for changeset c36ef639e6d3 ! .hgtags Changeset: abb06af6059b Author: amurillo Date: 2014-05-23 14:46 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/abb06af6059b 8043906: new hotspot build - hs25.20-b17 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 15766b73dc1d Author: neliasso Date: 2014-05-21 11:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/15766b73dc1d 8031475: Missing oopmap in patching stubs Summary: Add patch test for lir_checkcast in compute_oop_map Reviewed-by: roland, twisti ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LinearScan.cpp Changeset: 997fd9660dd5 Author: allwin Date: 2014-05-22 09:12 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/997fd9660dd5 8027230: Overflow in java.lang.instrument.Instrumentation.getObjectSize() method Reviewed-by: dholmes, sspitsyn ! src/share/vm/prims/jvmtiEnv.cpp ! test/TEST.groups + test/serviceability/jvmti/GetObjectSizeOverflow.java + test/serviceability/jvmti/GetObjectSizeOverflowAgent.java Changeset: 1772223a25a2 Author: pliden Date: 2014-04-11 11:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1772223a25a2 8037112: gc/g1/TestHumongousAllocInitialMark.java caused SIGSEGV Reviewed-by: brutisso, mgerdin ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1StringDedup.cpp ! src/share/vm/gc_implementation/g1/g1StringDedup.hpp ! src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp ! src/share/vm/gc_implementation/g1/g1StringDedupQueue.hpp ! src/share/vm/gc_implementation/g1/g1StringDedupThread.cpp ! src/share/vm/gc_implementation/g1/g1StringDedupThread.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/runtime/java.cpp Changeset: e4d318eea75a Author: pliden Date: 2014-04-17 18:47 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e4d318eea75a 8040245: G1: VM hangs during shutdown Summary: temporarily disable the shutdown of the concurrent GC threads introduced in JDK-8037112 Reviewed-by: brutisso, tschatzl, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 487f09bf44e0 Author: pliden Date: 2014-05-14 13:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/487f09bf44e0 8040803: G1: Concurrent mark hangs when mark stack overflows Reviewed-by: brutisso, ehelin ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/utilities/workgroup.cpp ! src/share/vm/utilities/workgroup.hpp Changeset: 8a140676873f Author: pliden Date: 2014-05-14 14:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8a140676873f 8040804: G1: Concurrent mark stuck in loop calling os::elapsedVTime() Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 6a0ad2977919 Author: pliden Date: 2014-05-20 10:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6a0ad2977919 8039042: G1: Phantom zeros in cardtable Reviewed-by: tschatzl, mgerdin ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp Changeset: 09619752c16d Author: poonam Date: 2014-05-28 06:26 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/09619752c16d 8043086: Hotspot is expected to report OOM which is occurred String.intern(), but crashes in JDK8u5 Summary: In case of allocation failure, restore the value of _chunk in Arena Reviewed-by: dholmes, dcubed ! src/share/vm/memory/allocation.cpp Changeset: 273a462437e9 Author: iveresov Date: 2014-05-28 07:59 -1000 URL: http://hg.openjdk.java.net/graal/graal/rev/273a462437e9 8044090: C1: Old value instead of new one is passed to post-barrier in UnsafeGetAndSetObject Summary: Pass correct value to post-barrier in UnsafeGetAndSetObject Reviewed-by: roland, vlivanov ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp Changeset: 0342d80559e0 Author: kvn Date: 2014-05-21 12:16 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0342d80559e0 8043274: Test compiler/7184394/TestAESMain.java gets NPE on solaris Summary: save cipher len after registers are saved Reviewed-by: kvn Contributed-by: shrinivas.joshi at oracle.com ! src/cpu/sparc/vm/stubGenerator_sparc.cpp Changeset: ee8b93466869 Author: amurillo Date: 2014-05-30 13:11 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ee8b93466869 Merge Changeset: 8ea4732884cc Author: amurillo Date: 2014-05-30 13:11 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8ea4732884cc Added tag hs25.20-b17 for changeset ee8b93466869 ! .hgtags Changeset: 445007c252d0 Author: katleman Date: 2014-06-04 08:46 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/445007c252d0 Added tag jdk8u20-b17 for changeset 8ea4732884cc ! .hgtags Changeset: 41daa2e6e52d Author: amurillo Date: 2014-05-30 13:30 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/41daa2e6e52d 8044437: new hotspot build - hs25.20-b18 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 42d9a5f06728 Author: rasbold Date: 2014-05-21 10:54 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/42d9a5f06728 8043354: OptimizePtrCompare too aggressive when allocations are present Summary: In bcEscapeAnalyzer update the _allocated_escapes flag if a var escapes the method. Reviewed-by: kvn ! src/share/vm/ci/bcEscapeAnalyzer.cpp + test/compiler/EscapeAnalysis/TestAllocatedEscapesPtrComparison.java Changeset: cdf27f6a6d01 Author: dcubed Date: 2014-06-02 13:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/cdf27f6a6d01 8038132: jprt bundles have libjsig.dylib in different place on OSX Summary: The build of Hotspot should not remove the symlinks for libjsig. Reviewed-by: dcubed, dholmes, lfoltan ! make/bsd/makefiles/universal.gmk Changeset: 7f1743e1a14e Author: mikael Date: 2014-05-27 16:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7f1743e1a14e 8043206: Fix signed vs. unsigned comparison warning in copy_sparc.hpp Reviewed-by: coleenp, lfoltan, kvn ! src/cpu/sparc/vm/copy_sparc.hpp Changeset: a103c376459a Author: sla Date: 2014-04-28 09:27 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a103c376459a 8041980: (hotspot) sun/jvmstat/monitor/MonitoredVm/CR6672135.java failing on all platforms Reviewed-by: mgronlun, kamg ! make/aix/makefiles/mapfile-vers-debug ! make/aix/makefiles/mapfile-vers-product ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: f644f1468780 Author: sla Date: 2014-06-03 06:10 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/f644f1468780 Merge Changeset: 660b3f6bf7d7 Author: pliden Date: 2014-05-30 10:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/660b3f6bf7d7 8042310: TestStringDeduplicationMemoryUsage test failing Reviewed-by: ehelin, jwilhelm - test/gc/g1/TestStringDeduplicationMemoryUsage.java ! test/gc/g1/TestStringDeduplicationTools.java Changeset: 4a1062dc52d1 Author: dcubed Date: 2014-06-04 06:25 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4a1062dc52d1 8036823: Stack trace sometimes shows 'locked' instead of 'waiting to lock' Summary: Add a !owner check for 'waiting to lock' to catch current_pending_monitor corner cases. Reviewed-by: dholmes, sspitsyn, kmo, zgu Contributed-by: rednaxelafx at gmail.com, zhengyu.gu at oracle.com, daniel.daugherty at oracle.com ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/vframe.cpp ! test/TEST.groups + test/runtime/Thread/TestThreadDumpMonitorContention.java Changeset: 73c839dda17e Author: roland Date: 2014-06-02 10:01 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/73c839dda17e 8043413: REGRESSION: Hotspot causes segmentation fault in jdk8ux, but not in jdk7ux Summary: long series of lambda form calls trigger stack overflow in c2 Reviewed-by: kvn, vlivanov ! src/share/vm/opto/bytecodeInfo.cpp Changeset: 67d80ad682bf Author: kevinw Date: 2014-06-04 14:44 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/67d80ad682bf Merge Changeset: dbf0d88d867d Author: anoll Date: 2014-05-30 06:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/dbf0d88d867d 8011646: SEGV in compiled code with loop predication Summary: Remove control edge of load node to ensure that castPP removal sets the control edge correctly Reviewed-by: kvn, roland ! src/share/vm/opto/library_call.cpp + test/compiler/intrinsics/hashcode/TestHashCode.java Changeset: 81d8fccbab0b Author: anoll Date: 2014-06-05 06:40 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/81d8fccbab0b Merge Changeset: b685b4e870b1 Author: amurillo Date: 2014-06-06 09:15 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b685b4e870b1 Merge - test/gc/g1/TestStringDeduplicationMemoryUsage.java Changeset: 11159d7ec804 Author: amurillo Date: 2014-06-06 09:15 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/11159d7ec804 Added tag hs25.20-b18 for changeset b685b4e870b1 ! .hgtags Changeset: d80197f0d9d4 Author: katleman Date: 2014-06-11 09:31 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d80197f0d9d4 Added tag jdk8u20-b18 for changeset 11159d7ec804 ! .hgtags Changeset: 9d8f8852abcc Author: amurillo Date: 2014-06-06 09:53 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9d8f8852abcc 8046232: new hotspot build - hs25.20-b19 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 09f19d3de485 Author: ykantser Date: 2014-06-05 15:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/09f19d3de485 8043915: Tests get ClassNotFoundException: com.oracle.java.testlibrary.StreamPumper Reviewed-by: sla, allwin ! test/serviceability/ParserTest.java ! test/serviceability/attach/AttachWithStalePidFile.java ! test/serviceability/jvmti/GetObjectSizeOverflow.java ! test/serviceability/jvmti/TestRedefineWithUnresolvedClass.java ! test/serviceability/sa/jmap-hashcode/Test8028623.java ! test/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ! test/testlibrary/ctw/test/ClassesDirTest.java ! test/testlibrary/ctw/test/ClassesListTest.java ! test/testlibrary/ctw/test/JarDirTest.java ! test/testlibrary/ctw/test/JarsTest.java Changeset: bd4d69d9cb7d Author: neliasso Date: 2014-02-11 13:29 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/bd4d69d9cb7d 8034188: OSR methods may not be recompiled at proper compilation level Summary: remove_osr_nmethod doesn't check that it is the correct method Reviewed-by: kvn, iveresov ! src/share/vm/oops/instanceKlass.cpp Changeset: 8e20ef014b08 Author: brutisso Date: 2014-06-11 10:46 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8e20ef014b08 8043239: G1: Missing post barrier in processing of j.l.ref.Reference objects Summary: Removed all write barriers during reference processing and added explicit write barriers when iterating through the discovered list. Reviewed-by: pliden, jmasa, tschatzl ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp Changeset: 0b9500028980 Author: drchase Date: 2014-06-02 14:32 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/0b9500028980 8029381: assert(is_method_type()) failed: bad cast Summary: Access to method_type and appendix from constant pool (cpcache) needs to be guarded by is_f1_null() because of racy update/initialization. Reviewed-by: kvn, coleenp, jrose ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp Changeset: ad51f24671c2 Author: kvn Date: 2014-06-09 15:42 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ad51f24671c2 8046275: Fastdebug build failing on jdk9/hs/ control jobs after pulling some hs-comp changes Summary: Add missing check for Opaque nodes from loop predicates in clone_loop(). Reviewed-by: iveresov ! src/share/vm/opto/loopopts.cpp Changeset: e204777ac770 Author: ehelin Date: 2014-06-13 08:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e204777ac770 8042933: assert(capacity_until_gc >= committed_bytes) failed Reviewed-by: stefank, jmasa ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/runtime/thread.cpp + test/gc/metaspace/TestMetaspaceInitialization.java Changeset: 0bf37f737702 Author: roland Date: 2014-04-01 09:36 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0bf37f737702 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9 Summary: make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points. Reviewed-by: twisti, kvn ! src/cpu/ppc/vm/cppInterpreter_ppc.cpp ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/templateInterpreter_ppc.cpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp + src/cpu/x86/vm/templateInterpreter_x86.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compilation.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_MacroAssembler.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/vframeArray.hpp + test/compiler/uncommontrap/TestStackBangMonitorOwned.java Changeset: 6c06bce8d5bd Author: roland Date: 2014-06-13 00:30 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6c06bce8d5bd Merge Changeset: e5d5e7922283 Author: neliasso Date: 2014-06-09 10:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e5d5e7922283 8040244: compiler/whitebox/IsMethodCompilableTest.java fails Summary: Prevent from running with Xcomp Reviewed-by: kvn, twisti ! test/compiler/whitebox/IsMethodCompilableTest.java Changeset: 57aecf00a0cd Author: neliasso Date: 2014-06-13 08:40 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/57aecf00a0cd Merge Changeset: 22146594cd5a Author: dcubed Date: 2014-06-12 15:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/22146594cd5a 8046287: [TESTBUG] runtime/Thread/TestThreadDumpMonitorContention.java failed error_cnt=12 Summary: Added a new header waiting pattern to catch the case where the target thread waiting on a condition (like a VM op); several other test improvements Reviewed-by: sspitsyn, dholmes ! test/runtime/Thread/TestThreadDumpMonitorContention.java Changeset: 4077c61b03a0 Author: kvn Date: 2014-06-12 10:15 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4077c61b03a0 8046516: Segmentation fault in JVM (easily reproducible) Summary: Place new nodes on the previous loop exit in reorg_offsets(). Reviewed-by: roland ! src/share/vm/opto/loopopts.cpp + test/compiler/loopopts/TestLogSum.java Changeset: 3e1cec358ab9 Author: amurillo Date: 2014-06-13 14:17 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3e1cec358ab9 Merge Changeset: b15553cde967 Author: amurillo Date: 2014-06-13 14:17 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b15553cde967 Added tag hs25.20-b19 for changeset 3e1cec358ab9 ! .hgtags Changeset: cb081789d265 Author: katleman Date: 2014-06-18 12:34 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/cb081789d265 Added tag jdk8u20-b19 for changeset b15553cde967 ! .hgtags Changeset: 168c10900e79 Author: amurillo Date: 2014-06-13 15:04 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/168c10900e79 8046798: new hotspot build - hs25.20-b20 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 00c8a1255912 Author: vlivanov Date: 2014-06-17 09:02 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/00c8a1255912 8033626: assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place Reviewed-by: kvn, roland ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp + test/compiler/intrinsics/clone/TestObjectClone.java Changeset: a07a3a29df67 Author: jwilhelm Date: 2014-06-13 17:07 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/a07a3a29df67 8046408: Build failure from multiple ptrace.h Summary: prefer over Reviewed-by: sla, mikael Contributed-by: kim.barrett at oracle.com ! agent/src/os/linux/libproc.h Changeset: a45a4f5a9609 Author: pliden Date: 2014-06-13 13:46 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a45a4f5a9609 8044796: G1: Enable G1CollectedHeap::stop() Reviewed-by: brutisso, sjohanss ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/thread.cpp Changeset: 4f18dea0312d Author: amurillo Date: 2014-06-20 11:47 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4f18dea0312d Merge Changeset: 9e4d27da4ac0 Author: amurillo Date: 2014-06-20 11:47 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9e4d27da4ac0 Added tag hs25.20-b20 for changeset 4f18dea0312d ! .hgtags Changeset: 4828415ebbf1 Author: katleman Date: 2014-06-25 12:55 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4828415ebbf1 Added tag jdk8u20-b20 for changeset 9e4d27da4ac0 ! .hgtags Changeset: 93166ed4dd1a Author: katleman Date: 2014-07-02 15:01 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/93166ed4dd1a Added tag jdk8u20-b21 for changeset 4828415ebbf1 ! .hgtags Changeset: b334bc7ff73e Author: amurillo Date: 2014-06-20 12:39 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b334bc7ff73e 8047732: new hotspot build - hs25.20-b21 Reviewed-by: jcoomes ! make/hotspot_version Changeset: ae92351815b6 Author: coleenp Date: 2014-06-20 10:48 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/ae92351815b6 8039150: host_klass invariant fails when verifying newly loaded JSR-292 anonymous classes Summary: Initialize host_klass while parsing the class with the other initializations. Reviewed-by: sspitsyn, stefank ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/systemDictionary.cpp Changeset: e4a6e7f1b90b Author: mgronlun Date: 2014-07-01 10:36 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e4a6e7f1b90b 8047812: Ensure ClassLoaderDataGraph::classes_unloading_do only delivers klasses from CLDs with non-reclaimed class loader oops Reviewed-by: coleenp, sspitsyn, ehelin ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp Changeset: f7429096a202 Author: amurillo Date: 2014-07-03 12:56 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f7429096a202 Added tag hs25.20-b21 for changeset e4a6e7f1b90b ! .hgtags Changeset: 7f4f17166189 Author: katleman Date: 2014-07-09 13:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7f4f17166189 Added tag jdk8u20-b22 for changeset f7429096a202 ! .hgtags Changeset: dad84b3f55a5 Author: amurillo Date: 2014-07-03 12:59 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/dad84b3f55a5 8049268: new hotspot build - hs25.20-b22 Reviewed-by: jcoomes ! make/hotspot_version Changeset: dda2ae6f9557 Author: roland Date: 2014-07-02 22:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/dda2ae6f9557 8046542: [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc Summary: call to Object.finalize() sometimes allowed by compilers on array type Reviewed-by: iveresov, vlivanov ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/doCall.cpp Changeset: ee1c924763d2 Author: vlivanov Date: 2014-07-10 12:04 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ee1c924763d2 8043546: C1 optimizes @Stable instance fields with default values Reviewed-by: kvn, jrose ! src/share/vm/c1/c1_GraphBuilder.cpp + test/compiler/stable/StableConfiguration.java ! test/compiler/stable/TestStableBoolean.java ! test/compiler/stable/TestStableByte.java ! test/compiler/stable/TestStableChar.java ! test/compiler/stable/TestStableDouble.java ! test/compiler/stable/TestStableFloat.java ! test/compiler/stable/TestStableInt.java ! test/compiler/stable/TestStableLong.java ! test/compiler/stable/TestStableObject.java ! test/compiler/stable/TestStableShort.java Changeset: 7c56530b1149 Author: amurillo Date: 2014-07-10 23:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7c56530b1149 Merge Changeset: 15e3c94bfca7 Author: amurillo Date: 2014-07-10 23:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/15e3c94bfca7 Added tag hs25.20-b22 for changeset 7c56530b1149 ! .hgtags Changeset: 364b73402247 Author: asaha Date: 2014-05-22 11:09 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/364b73402247 Merge ! .hgtags ! make/hotspot_version ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/utilities/vmError.cpp Changeset: da65bbf6f89e Author: asaha Date: 2014-05-28 12:07 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/da65bbf6f89e Merge ! .hgtags Changeset: f73af4455d7d Author: asaha Date: 2014-05-29 09:56 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f73af4455d7d Merge ! .hgtags ! make/hotspot_version ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/utilities/events.cpp ! src/share/vm/utilities/vmError.cpp Changeset: d6fcbd1e1075 Author: asaha Date: 2014-06-02 15:18 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d6fcbd1e1075 Merge ! make/hotspot_version ! src/share/vm/classfile/verifier.cpp Changeset: 4941bd9f6483 Author: asaha Date: 2014-06-04 06:53 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4941bd9f6483 Merge ! .hgtags ! make/hotspot_version Changeset: 705b998967b4 Author: asaha Date: 2014-06-04 08:58 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/705b998967b4 Merge ! .hgtags Changeset: d394a1056605 Author: asaha Date: 2014-06-05 15:08 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d394a1056605 Merge ! .hgtags Changeset: a96ae21442f6 Author: asaha Date: 2014-06-10 13:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a96ae21442f6 Merge ! .hgtags ! make/hotspot_version - test/gc/g1/TestStringDeduplicationMemoryUsage.java Changeset: e8986a664f47 Author: asaha Date: 2014-06-11 09:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e8986a664f47 Merge ! .hgtags Changeset: ba74526f098f Author: katleman Date: 2014-06-17 13:03 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ba74526f098f Added tag jdk8u11-b12 for changeset 78df957d46eb ! .hgtags Changeset: 13be2835d7eb Author: asaha Date: 2014-06-17 15:49 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/13be2835d7eb Merge ! .hgtags Changeset: 7ef8ab2bf2b0 Author: asaha Date: 2014-06-17 22:03 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7ef8ab2bf2b0 Merge ! .hgtags ! make/hotspot_version Changeset: d094914a65e6 Author: asaha Date: 2014-06-18 12:53 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d094914a65e6 Merge ! .hgtags Changeset: 4b6480cffe2f Author: asaha Date: 2014-06-26 07:52 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4b6480cffe2f Merge ! .hgtags ! make/hotspot_version Changeset: 3f8991d0cfb3 Author: katleman Date: 2014-06-13 11:56 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3f8991d0cfb3 Added tag jdk8u5-b31 for changeset 5c7ef8e39683 ! .hgtags Changeset: 13f04650aa09 Author: asaha Date: 2014-06-24 13:46 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/13f04650aa09 Merge ! .hgtags Changeset: 4af30e82ba9e Author: asaha Date: 2014-06-26 07:59 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4af30e82ba9e Merge ! .hgtags Changeset: 2cc53791237e Author: asaha Date: 2014-06-26 18:34 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/2cc53791237e Added tag jdk8u11-b31 for changeset 13f04650aa09 ! .hgtags Changeset: 50a8cc4f9659 Author: asaha Date: 2014-07-02 15:18 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/50a8cc4f9659 Merge ! .hgtags Changeset: 6e4bd4c906dc Author: asaha Date: 2014-07-02 15:31 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6e4bd4c906dc Merge ! .hgtags Changeset: 9f169829d0e1 Author: asaha Date: 2014-07-08 13:25 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9f169829d0e1 Merge ! .hgtags ! make/hotspot_version ! src/share/vm/classfile/classFileParser.cpp Changeset: 781c4237cda7 Author: asaha Date: 2014-07-10 07:58 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/781c4237cda7 Merge ! .hgtags Changeset: f09d1f6a401e Author: asaha Date: 2014-07-14 10:16 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f09d1f6a401e Merge ! .hgtags ! make/hotspot_version Changeset: a7a22f7d9396 Author: katleman Date: 2014-07-16 11:40 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a7a22f7d9396 Added tag jdk8u20-b23 for changeset f09d1f6a401e ! .hgtags Changeset: 514c03fe3a35 Author: simonis Date: 2014-07-18 19:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/514c03fe3a35 8051378: AIX: Change "8030763: Validate global memory allocation" breaks the HotSpot build Reviewed-by: kvn ! src/os/aix/vm/os_aix.cpp Changeset: d3f9faa4caa4 Author: coffeys Date: 2014-07-22 17:28 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d3f9faa4caa4 Merge Changeset: ebb120474275 Author: jeff Date: 2014-07-21 21:46 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/ebb120474275 8051005: Third Party License Readme update for 8u20 Reviewed-by: coffeys ! THIRD_PARTY_README Changeset: 42ddd0bbcb66 Author: coffeys Date: 2014-07-22 20:52 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/42ddd0bbcb66 Merge Changeset: 90b2ae0b131d Author: amurillo Date: 2014-07-24 10:29 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/90b2ae0b131d 8051908: new hotspot build - hs25.20-b23 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 00cf2b6f51b9 Author: goetz Date: 2014-07-18 09:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/00cf2b6f51b9 8050978: Fix bad field access check in C1 and C2 Summary: JCK8 test vm/constantpool/accessControl/accessControl004/accessControl00402m3/accessControl00402m3.html fails with -Xbatch -Xcomp due to bad field access check in C1 and C2. Fix: In ciField::ciField(), just before the canonical holder is stored into the _holder variable (and which is used by ciField::will_link()) perform an additional access check with the holder declared in the class file. If this check fails, store the declared holder instead and ciField::will_link() will bail out compilation for this field later on. Then, the interpreter will throw an PrivilegedAccessException at runtime. Reviewed-by: kvn, vlivanov Contributed-by: andreas.schoesser at sap.com ! src/share/vm/ci/ciField.cpp Changeset: 19408d5fd31c Author: amurillo Date: 2014-07-24 11:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/19408d5fd31c Added tag hs25.20-b23 for changeset 00cf2b6f51b9 ! .hgtags Changeset: deecfa50d5f2 Author: tbell Date: 2014-07-28 07:23 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/deecfa50d5f2 Added tag jdk8u20-b25 for changeset 19408d5fd31c ! .hgtags Changeset: c2f02c05a99e Author: coffeys Date: 2014-07-30 03:42 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c2f02c05a99e Added tag jdk8u20-b24 for changeset 42ddd0bbcb66 ! .hgtags Changeset: eaa4074a7e39 Author: coffeys Date: 2014-07-30 03:51 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/eaa4074a7e39 Merge ! .hgtags Changeset: 52b4284cb496 Author: Gilles Duboscq Date: 2014-10-15 16:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/52b4284cb496 Merge with jdk8u20-b26 ! .hgtags ! THIRD_PARTY_README ! agent/src/os/linux/libproc.h ! agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java ! agent/src/share/classes/sun/jvm/hotspot/opto/Compile.java ! agent/src/share/classes/sun/jvm/hotspot/opto/InlineTree.java ! agent/src/share/classes/sun/jvm/hotspot/opto/JVMState.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/Hashtable.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodData.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodDataAccessor.java ! make/Makefile ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/defs.make ! make/excludeSrc.make ! make/hotspot_version ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/linux/platform_ppc ! make/solaris/makefiles/mapfile-vers ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/bytecodeInterpreter_sparc.hpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c2_globals_sparc.hpp ! src/cpu/sparc/vm/frame_sparc.inline.hpp ! src/cpu/sparc/vm/globalDefinitions_sparc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/bytecodeInterpreter_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/c1_MacroAssembler_x86.cpp ! src/cpu/x86/vm/c2_globals_x86.hpp ! src/cpu/x86/vm/compiledIC_x86.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/globalDefinitions_x86.hpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/interp_masm_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/nativeInst_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp ! src/cpu/x86/vm/x86.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/cpu/zero/vm/bytecodeInterpreter_zero.hpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/globalDefinitions_zero.hpp ! src/cpu/zero/vm/globals_zero.hpp ! src/cpu/zero/vm/sharedRuntime_zero.cpp ! src/cpu/zero/vm/shark_globals_zero.hpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/os_bsd.hpp ! src/os/linux/vm/decoder_linux.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/posix/vm/os_posix.cpp ! src/os/posix/vm/os_posix.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/os/solaris/vm/perfMemory_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.hpp ! src/os/windows/vm/os_windows.inline.hpp ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/bsd_zero/vm/os_bsd_zero.hpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/linux_zero/vm/os_linux_zero.hpp ! src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/share/tools/hsdis/Makefile ! src/share/tools/hsdis/README ! src/share/tools/hsdis/hsdis.c ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/adlparse.hpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/archDesc.hpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/main.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compilation.hpp ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_RangeCheckElimination.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/ci/bcEscapeAnalyzer.cpp ! src/share/vm/ci/ciClassList.hpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciField.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciMethodData.cpp ! src/share/vm/ci/ciMethodData.hpp ! src/share/vm/ci/ciObject.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/ci/ciReplay.hpp ! src/share/vm/ci/ciType.cpp ! src/share/vm/classfile/altHashing.cpp ! src/share/vm/classfile/altHashing.hpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/defaultMethods.cpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/compressedStream.cpp ! src/share/vm/code/debugInfo.cpp ! src/share/vm/code/debugInfo.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/icBuffer.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/code/pcDesc.cpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/relocInfo.hpp ! src/share/vm/code/scopeDesc.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/code/vmreg.hpp ! src/share/vm/code/vtableStubs.cpp ! src/share/vm/code/vtableStubs.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp ! src/share/vm/compiler/compileLog.cpp ! src/share/vm/compiler/compileLog.hpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/compiler/oopMap.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/adaptiveFreeList.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/promotionInfo.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp ! src/share/vm/gc_implementation/g1/bufferingOopClosure.hpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp ! src/share/vm/gc_implementation/g1/g1AllocRegion.hpp ! src/share/vm/gc_implementation/g1/g1BiasedArray.hpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1CardCounts.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp ! src/share/vm/gc_implementation/g1/heapRegionSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp - src/share/vm/gc_implementation/g1/heapRegionSets.cpp - src/share/vm/gc_implementation/g1/heapRegionSets.hpp ! src/share/vm/gc_implementation/g1/satbQueue.cpp ! src/share/vm/gc_implementation/g1/satbQueue.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp ! src/share/vm/gc_implementation/parNew/asParNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp ! src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp ! src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/gc_implementation/shared/immutableSpace.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/mutableSpace.hpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.cpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeInterpreter.hpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/invocationCounter.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/interpreter/rewriter.hpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/interpreter/templateTable.hpp ! src/share/vm/libadt/port.hpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/barrierSet.hpp ! src/share/vm/memory/barrierSet.inline.hpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/binaryTreeDictionary.hpp ! src/share/vm/memory/blockOffsetTable.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/gcLocker.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/metachunk.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/memory/modRefBarrierSet.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/memory/threadLocalAllocBuffer.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/metadata.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/oops/objArrayKlass.cpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/oop.cpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/symbol.cpp ! src/share/vm/oops/symbol.hpp ! src/share/vm/oops/typeArrayOop.hpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/generateOptoStub.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/locknode.hpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/machnode.cpp ! src/share/vm/opto/machnode.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/matcher.hpp ! src/share/vm/opto/mathexactnode.cpp ! src/share/vm/opto/mathexactnode.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/mulnode.cpp ! src/share/vm/opto/multnode.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/output.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/parseHelper.cpp ! src/share/vm/opto/phase.cpp ! src/share/vm/opto/phase.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/regalloc.cpp ! src/share/vm/opto/regmask.cpp ! src/share/vm/opto/regmask.hpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/stringopts.cpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/subnode.hpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/opto/vectornode.hpp ! src/share/vm/prims/forte.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jniCheck.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiCodeBlobEvents.cpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiEnvThreadState.cpp ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiManageCapabilities.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/prims/whitebox.hpp ! src/share/vm/runtime/advancedThresholdPolicy.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/atomic.inline.hpp ! src/share/vm/runtime/biasedLocking.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/deoptimization.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/frame.inline.hpp ! src/share/vm/runtime/globals.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/interfaceSupport.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/javaFrameAnchor.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/osThread.hpp ! src/share/vm/runtime/park.cpp ! src/share/vm/runtime/perfData.cpp ! src/share/vm/runtime/perfMemory.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/safepoint.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/sharedRuntimeTrans.cpp ! src/share/vm/runtime/sharedRuntimeTrig.cpp ! src/share/vm/runtime/signature.cpp ! src/share/vm/runtime/simpleThresholdPolicy.cpp ! src/share/vm/runtime/stackValue.cpp ! src/share/vm/runtime/stubCodeGenerator.cpp ! src/share/vm/runtime/stubRoutines.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/thread.inline.hpp ! src/share/vm/runtime/threadLocalStorage.hpp ! src/share/vm/runtime/timer.cpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/vframeArray.hpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/management.cpp ! src/share/vm/services/memReporter.cpp ! src/share/vm/trace/trace.xml ! src/share/vm/trace/tracetypes.xml ! src/share/vm/utilities/accessFlags.cpp ! src/share/vm/utilities/array.hpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/decoder.cpp ! src/share/vm/utilities/decoder_elf.cpp ! src/share/vm/utilities/decoder_elf.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp ! src/share/vm/utilities/elfStringTable.cpp ! src/share/vm/utilities/elfStringTable.hpp ! src/share/vm/utilities/elfSymbolTable.cpp ! src/share/vm/utilities/elfSymbolTable.hpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/exceptions.hpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/hashtable.cpp ! src/share/vm/utilities/hashtable.hpp ! src/share/vm/utilities/histogram.hpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/numberSeq.cpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp ! src/share/vm/utilities/quickSort.cpp ! src/share/vm/utilities/resourceHash.hpp ! src/share/vm/utilities/taskqueue.hpp ! src/share/vm/utilities/vmError.cpp ! test/TEST.groups ! test/compiler/6826736/Test.java ! test/compiler/7184394/TestAESMain.java ! test/compiler/ciReplay/common.sh ! test/compiler/intrinsics/mathexact/AddExactICondTest.java ! test/compiler/intrinsics/mathexact/AddExactIConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactILoadTest.java ! test/compiler/intrinsics/mathexact/AddExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/AddExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/AddExactLConstantTest.java ! test/compiler/intrinsics/mathexact/AddExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/CompareTest.java ! test/compiler/intrinsics/mathexact/DecExactITest.java ! test/compiler/intrinsics/mathexact/DecExactLTest.java ! test/compiler/intrinsics/mathexact/GVNTest.java ! test/compiler/intrinsics/mathexact/IncExactITest.java ! test/compiler/intrinsics/mathexact/IncExactLTest.java ! test/compiler/intrinsics/mathexact/MulExactICondTest.java ! test/compiler/intrinsics/mathexact/MulExactIConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactILoadTest.java ! test/compiler/intrinsics/mathexact/MulExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/MulExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/MulExactLConstantTest.java ! test/compiler/intrinsics/mathexact/MulExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactIConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactILoadTest.java ! test/compiler/intrinsics/mathexact/NegExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/NegExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactLConstantTest.java ! test/compiler/intrinsics/mathexact/NegExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/NestedMathExactTest.java ! test/compiler/intrinsics/mathexact/SplitThruPhiTest.java ! test/compiler/intrinsics/mathexact/SubExactICondTest.java ! test/compiler/intrinsics/mathexact/SubExactIConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactILoadTest.java ! test/compiler/intrinsics/mathexact/SubExactILoopDependentTest.java ! test/compiler/intrinsics/mathexact/SubExactINonConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactIRepeatTest.java ! test/compiler/intrinsics/mathexact/SubExactLConstantTest.java ! test/compiler/intrinsics/mathexact/SubExactLNonConstantTest.java ! test/compiler/intrinsics/mathexact/Verify.java ! test/compiler/startup/SmallCodeCacheStartup.java ! test/compiler/tiered/NonTieredLevelsTest.java ! test/compiler/tiered/TieredLevelsTest.java ! test/compiler/types/TypeSpeculation.java ! test/compiler/whitebox/ClearMethodStateTest.java ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/EnqueueMethodForCompilationTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java ! test/compiler/whitebox/SetDontInlineMethodTest.java ! test/compiler/whitebox/SetForceInlineMethodTest.java ! test/runtime/7158988/FieldMonitor.java ! test/runtime/CommandLine/CompilerConfigFileWarning.java ! test/runtime/CommandLine/ConfigFileWarning.java ! test/runtime/NMT/CommandLineDetail.java ! test/runtime/NMT/CommandLineSummary.java ! test/runtime/NMT/CommandLineTurnOffNMT.java ! test/runtime/NMT/PrintNMTStatistics.java ! test/testlibrary/com/oracle/java/testlibrary/ProcessTools.java Changeset: 3498d73280c8 Author: Gilles Duboscq Date: 2014-10-16 10:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3498d73280c8 Add DataLayout::speculative_trap_data_tag to vmStructs ! src/share/vm/runtime/vmStructs.cpp Changeset: f55f2d400797 Author: Gilles Duboscq Date: 2014-10-15 20:34 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f55f2d400797 Fix some format strings ! src/gpu/hsail/vm/gpu_hsail.cpp ! src/gpu/hsail/vm/hsailArgumentsBase.cpp ! src/gpu/hsail/vm/hsailJavaCallArguments.hpp ! src/gpu/hsail/vm/hsailKernelArguments.cpp ! src/gpu/hsail/vm/hsailKernelArguments.hpp ! src/gpu/ptx/vm/gpu_ptx.cpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalCompiler.cpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/graal/graalRuntime.cpp ! src/share/vm/runtime/vframeArray.cpp Changeset: 42de29c9ffbc Author: Gilles Duboscq Date: 2014-10-16 11:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/42de29c9ffbc Fix recording of exception_seen flag ! src/share/vm/interpreter/interpreterRuntime.cpp Changeset: f06c7b654d63 Author: coffeys Date: 2014-07-31 09:58 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/f06c7b654d63 Added tag jdk8u20-b26 for changeset eaa4074a7e39 ! .hgtags Changeset: 096a7e12d63f Author: lfoltan Date: 2014-04-15 16:17 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/096a7e12d63f 8036805: Correct linker method lookup. Summary: Correct handling of array of primitive type qualifiers during field and method resolution. Reviewed-by: acorn, hseigel, ahgross ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp Changeset: 0ab62d80a754 Author: asaha Date: 2014-04-16 09:46 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0ab62d80a754 Added tag jdk8u25-b00 for changeset a4d44dfb7d30 ! .hgtags Changeset: 526a628b7b24 Author: asaha Date: 2014-04-16 09:51 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/526a628b7b24 Merge Changeset: f3c3ce3fb624 Author: twisti Date: 2014-04-21 10:36 -1000 URL: http://hg.openjdk.java.net/graal/graal/rev/f3c3ce3fb624 8038898: Safer safepoints Reviewed-by: kvn, ahgross ! src/share/vm/runtime/arguments.cpp Changeset: 6424a6aac192 Author: asaha Date: 2014-05-06 10:58 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6424a6aac192 Merge ! .hgtags Changeset: 21444610cb92 Author: coleenp Date: 2014-05-08 17:19 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/21444610cb92 8015256: Better class accessibility Summary: Improve protection domain check in forName() Reviewed-by: mchung, acorn, jdn ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 2373a1f4987c Author: hseigel Date: 2014-05-09 15:21 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/2373a1f4987c 8036533: Method for correct defaults 8036156: Limit default method hierarchy Summary: Fix protected access checks Reviewed-by: coleenp, lfoltan, acorn, ahgross ! src/share/vm/classfile/stackMapFrame.cpp ! src/share/vm/classfile/stackMapFrame.hpp ! src/share/vm/classfile/verificationType.cpp ! src/share/vm/classfile/verificationType.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/runtime/reflection.cpp Changeset: 17ee4fccb238 Author: asaha Date: 2014-05-19 21:54 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/17ee4fccb238 Merge ! .hgtags Changeset: fbf689f3752e Author: twisti Date: 2014-05-20 19:50 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/fbf689f3752e 8042603: 'SafepointPollOffset' was not declared in static member function 'static bool Arguments::check_vm_args_consistency()' Reviewed-by: kvn ! src/share/vm/runtime/arguments.cpp Changeset: 1fa005fb28f5 Author: hseigel Date: 2014-05-28 08:09 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/1fa005fb28f5 8043454: Test case for 8037157 should not throw a VerifyError Summary: Don't throw VerifyError if method is NULL. Reviewed-by: acorn, lfoltan, mschoene ! src/share/vm/classfile/verifier.cpp Changeset: 3b0fe4ec6ebe Author: hseigel Date: 2014-05-30 13:32 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/3b0fe4ec6ebe 8041717: Issue with class file parser Summary: Add better checking for bad values. Reviewed-by: coleenp, lfoltan, mschoene ! src/share/vm/classfile/classFileParser.cpp Changeset: dbcd3fcdba84 Author: asaha Date: 2014-06-02 16:26 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/dbcd3fcdba84 8044604: Increment minor version of HSx for 8u25 and initialize the build number Reviewed-by: jcoomes ! make/hotspot_version Changeset: 54bc75c144b0 Author: asaha Date: 2014-05-29 13:14 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/54bc75c144b0 Merge ! .hgtags ! src/share/vm/classfile/verificationType.hpp ! src/share/vm/classfile/verifier.cpp - src/share/vm/gc_implementation/g1/heapRegionSets.cpp - src/share/vm/gc_implementation/g1/heapRegionSets.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/runtime/arguments.cpp Changeset: ec8878dc470d Author: asaha Date: 2014-06-03 07:29 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ec8878dc470d Merge ! src/share/vm/classfile/verifier.cpp Changeset: b207affc0618 Author: asaha Date: 2014-06-03 21:36 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b207affc0618 Merge ! make/hotspot_version ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/verifier.cpp Changeset: e47c5dad18f2 Author: asaha Date: 2014-06-04 07:07 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e47c5dad18f2 Merge ! .hgtags ! make/hotspot_version Changeset: 9a2152fbd929 Author: asaha Date: 2014-06-04 09:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9a2152fbd929 Merge ! .hgtags Changeset: ba736505989d Author: katleman Date: 2014-06-05 03:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ba736505989d Added tag jdk8u25-b01 for changeset 9a2152fbd929 ! .hgtags Changeset: 177fc018b5b2 Author: asaha Date: 2014-06-05 15:20 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/177fc018b5b2 Merge ! .hgtags Changeset: e8d870411858 Author: asaha Date: 2014-06-05 15:26 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e8d870411858 Merge ! .hgtags Changeset: 4930a95e6ef5 Author: asaha Date: 2014-06-09 22:21 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4930a95e6ef5 8046213: Test test/runtime/classFileParserBug/TestEmptyBootstrapMethodsAttr.java Fails Reviewed-by: lfoltan ! src/share/vm/classfile/classFileParser.cpp Changeset: 1e657b902392 Author: asaha Date: 2014-06-10 14:52 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/1e657b902392 Merge ! .hgtags ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/hotspot_version ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h - test/gc/g1/TestStringDeduplicationMemoryUsage.java Changeset: d3d5604ea0de Author: asaha Date: 2014-06-11 09:56 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d3d5604ea0de Merge ! .hgtags Changeset: e4faca10f1d4 Author: asaha Date: 2014-06-11 14:14 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e4faca10f1d4 Added tag jdk8u25-b02 for changeset d3d5604ea0de ! .hgtags Changeset: a2221bbf6812 Author: asaha Date: 2014-06-17 16:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a2221bbf6812 Merge ! .hgtags Changeset: bba95ce6b634 Author: asaha Date: 2014-06-17 22:15 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/bba95ce6b634 Merge ! .hgtags ! make/hotspot_version Changeset: 27348de6239b Author: asaha Date: 2014-06-18 13:08 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/27348de6239b Merge ! .hgtags Changeset: 220eefb3609e Author: asaha Date: 2014-06-18 13:30 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/220eefb3609e Added tag jdk8u25-b03 for changeset 27348de6239b ! .hgtags Changeset: f4f4e5e844cc Author: asaha Date: 2014-06-23 13:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f4f4e5e844cc Added tag jdk8u25-b04 for changeset 220eefb3609e ! .hgtags Changeset: 71d4b9b14f9f Author: asaha Date: 2014-06-26 08:29 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/71d4b9b14f9f Merge ! .hgtags ! make/hotspot_version Changeset: acdb7e8e4982 Author: asaha Date: 2014-06-26 16:42 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/acdb7e8e4982 Merge ! .hgtags Changeset: db8383148bc9 Author: zgu Date: 2014-06-16 10:23 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/db8383148bc9 8038903: More native monitor monitoring Summary: Moved ntive monitor monitoring flags to experimental Reviewed-by: acorn, hseigel, mschoene ! src/share/vm/runtime/globals.hpp Changeset: 79c8e41b9c40 Author: asaha Date: 2014-06-30 14:50 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/79c8e41b9c40 Added tag jdk8u25-b05 for changeset db8383148bc9 ! .hgtags Changeset: 605df8463453 Author: asaha Date: 2014-07-02 15:42 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/605df8463453 Merge ! .hgtags Changeset: 5bb683bbe2c7 Author: asaha Date: 2014-07-07 13:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/5bb683bbe2c7 Added tag jdk8u25-b06 for changeset 605df8463453 ! .hgtags Changeset: ccfff14361ea Author: asaha Date: 2014-07-10 16:01 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ccfff14361ea Merge ! .hgtags ! make/hotspot_version ! src/share/vm/classfile/classFileParser.cpp Changeset: 520188d4bade Author: asaha Date: 2014-07-14 11:11 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/520188d4bade Merge ! .hgtags ! make/hotspot_version Changeset: 1ff7622846cf Author: asaha Date: 2014-07-14 15:08 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/1ff7622846cf Added tag jdk8u25-b07 for changeset 520188d4bade ! .hgtags Changeset: f3f50c4f9ea5 Author: asaha Date: 2014-07-16 12:28 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f3f50c4f9ea5 Merge ! .hgtags Changeset: 4f209b7a580c Author: coffeys Date: 2014-07-22 01:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4f209b7a580c Added tag jdk8u25-b08 for changeset f3f50c4f9ea5 ! .hgtags Changeset: 18f19f7883f7 Author: coffeys Date: 2014-07-25 14:14 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/18f19f7883f7 Merge ! .hgtags ! make/hotspot_version Changeset: 19c692f1e4c5 Author: coffeys Date: 2014-07-28 20:27 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/19c692f1e4c5 Merge ! .hgtags Changeset: 30a4bbe851e7 Author: coffeys Date: 2014-07-30 05:40 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/30a4bbe851e7 Added tag jdk8u25-b09 for changeset 4f209b7a580c ! .hgtags Changeset: b9809a97d85f Author: coffeys Date: 2014-07-30 05:40 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b9809a97d85f Added tag jdk8u25-b10 for changeset 19c692f1e4c5 ! .hgtags Changeset: ec18126d8665 Author: coffeys Date: 2014-07-30 05:49 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ec18126d8665 Merge ! .hgtags Changeset: e03f3a32b6a6 Author: coffeys Date: 2014-07-30 06:03 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e03f3a32b6a6 Merge ! .hgtags Changeset: 9e2bb00a8191 Author: coffeys Date: 2014-08-01 10:16 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/9e2bb00a8191 Merge ! .hgtags Changeset: 6641ab47243f Author: coffeys Date: 2014-08-05 13:36 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/6641ab47243f Added tag jdk8u25-b11 for changeset 9e2bb00a8191 ! .hgtags Changeset: 2993491d47df Author: hseigel Date: 2014-08-02 16:28 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/2993491d47df 8051012: Regression in verifier for method call from inside of a branch Summary: Fix stackmap matching for branches. Reviewed-by: coleenp, lfoltan, acorn ! src/share/vm/classfile/stackMapTable.cpp ! src/share/vm/classfile/stackMapTable.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp Changeset: c49561a5865c Author: katleman Date: 2014-08-12 11:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c49561a5865c Added tag jdk8u25-b12 for changeset 2993491d47df ! .hgtags Changeset: ca6d25be853b Author: jiangli Date: 2014-08-12 17:46 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/ca6d25be853b 8044269: Analysis of archive files. Summary: Add checksum verification. Reviewed-by: iklam, dholmes, mschoene ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/filemap.hpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: be8252a88177 Author: asaha Date: 2014-08-19 05:34 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/be8252a88177 Added tag jdk8u25-b13 for changeset ca6d25be853b ! .hgtags Changeset: 853a5158a1e2 Author: asaha Date: 2014-08-20 15:32 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/853a5158a1e2 8055717: Increment hsx 25.25 build to b02 for 8u25-b11 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 077483254bf6 Author: hseigel Date: 2014-08-12 20:29 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/077483254bf6 8050485: super() in a try block in a ctor causes VerifyError Summary: Parse catch clause paths to ensure they end in throws Reviewed-by: dlong, acorn, kamg, ctornqvi, lfoltan ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp Changeset: c77d5db18942 Author: hseigel Date: 2014-08-22 14:11 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c77d5db18942 8046233: VerifyError on backward branch Summary: Remove check that causes the VerifyError Reviewed-by: dholmes, coleenp, acorn ! src/share/vm/classfile/stackMapFrame.cpp ! src/share/vm/classfile/stackMapFrame.hpp ! src/share/vm/classfile/stackMapTable.cpp ! src/share/vm/classfile/stackMapTable.hpp ! test/runtime/7116786/Test7116786.java Changeset: e62c06b88731 Author: asaha Date: 2014-08-25 13:35 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e62c06b88731 Added tag jdk8u25-b14 for changeset c77d5db18942 ! .hgtags Changeset: 6467bdd4d22d Author: asaha Date: 2014-09-02 11:54 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6467bdd4d22d Added tag jdk8u25-b15 for changeset e62c06b88731 ! .hgtags Changeset: 28b50d07f6f8 Author: asaha Date: 2014-09-08 12:35 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/28b50d07f6f8 Added tag jdk8u25-b16 for changeset 6467bdd4d22d ! .hgtags Changeset: eaf39a954227 Author: Gilles Duboscq Date: 2014-10-16 11:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/eaf39a954227 Merge with jdk8u25-b17 ! .hgtags ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/hotspot_version ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/reflection.cpp Changeset: 922e104f179a Author: Gilles Duboscq Date: 2014-10-16 12:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/922e104f179a Fix merge of TemplateTable::generate_vtable_call for SPARC ! src/cpu/sparc/vm/templateTable_sparc.cpp Changeset: 7a771b48e392 Author: Doug Simon Date: 2014-10-16 13:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7a771b48e392 mx: improved ctw command usage message and made the default value for --ctwopts be "-Inline" ! mx/mx_graal.py Changeset: 2579d0ac7ad6 Author: Bernhard Urban Date: 2014-10-16 14:23 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2579d0ac7ad6 jacoco: disable it for com.oracle.graal.truffle* projects ! mx/mx_graal.py Changeset: cc1d1fc17338 Author: Bernhard Urban Date: 2014-10-16 14:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cc1d1fc17338 gate: don't build server-nograal on windows (the build configuration doesn't exist yet) ! mx/mx_graal.py Changeset: b72ce1826bd0 Author: Andreas Woess Date: 2014-10-15 19:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b72ce1826bd0 Truffle: revert back to typed primitives, but make the primitive array an int[] ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/FrameWithoutBoxing.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java Changeset: 315d56483616 Author: Andreas Woess Date: 2014-10-15 19:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/315d56483616 Truffle: use long constants for offset calculation ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/FrameWithoutBoxing.java Changeset: 03259118b81b Author: Andreas Woess Date: 2014-10-16 15:31 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/03259118b81b Truffle: relax assertions for object state entries of int kind ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/VirtualObject.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Changeset: b78cab589013 Author: Andreas Woess Date: 2014-10-16 15:31 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b78cab589013 Truffle: relax assertion for non-int values in int phi ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Changeset: 8dbe2b479bc8 Author: mgronlun Date: 2014-10-16 16:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8dbe2b479bc8 cherry-pick: 8035650: Exclude AIX from VS.NET make/windows/projectcreator.make Contributed-by: mgronlun Reviewed-by: dholmes, sla ! make/windows/makefiles/projectcreator.make Changeset: 6d2b2671c63a Author: Gilles Duboscq Date: 2014-10-16 17:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6d2b2671c63a Move crypto foreign call registering from AMD64HotSpot to HotSpot ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotForeignCallsProviderImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotHostForeignCallsProvider.java Changeset: 4ccabc85a62a Author: Gilles Duboscq Date: 2014-10-16 17:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4ccabc85a62a IGV build: blacklist all JDKs from 8u20 included to 8u40 excluded ! mx/mx_graal.py From Eric.Caspole at amd.com Fri Oct 17 17:58:10 2014 From: Eric.Caspole at amd.com (Caspole, Eric) Date: Fri, 17 Oct 2014 17:58:10 +0000 Subject: New asm-5.0.3 dependency? Message-ID: Today I started getting this problem with a clean checkout: $ nice ./mx.sh --vm server --vmbuild fastdebug build Downloading ASM from ['http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar', 'https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar'] ** If behind a firewall without direct internet access, use the HTTP_PROXY environment variable (e.g. 'env HTTP_PROXY=proxy.company.com:80 max ...') or download manually with a web browser. ** If behind a firewall without direct internet access, use the HTTPS_PROXY environment variable (e.g. 'env HTTPS_PROXY=proxy.company.com:80 max ...') or download manually with a web browser. Downloading http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa Error reading from http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar: java.io.FileNotFoundException: http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar Downloading https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa Error reading from https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty Exception in thread "main" java.lang.Error: Could not download content to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa from [http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar, https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar] at URLConnectionDownload.main(URLConnectionDownload.java:155) Could not download to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa from any of the following URLs: http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar Please use a web browser to do the download manually ================= The one on that linz site is 4.0: http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-4.0.jar Thanks, Eric From tom.rodriguez at oracle.com Fri Oct 17 18:52:23 2014 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Fri, 17 Oct 2014 11:52:23 -0700 Subject: New asm-5.0.3 dependency? In-Reply-To: References: Message-ID: <2C593C65-0FAF-4567-AFB3-D4E8077C00E6@oracle.com> It?s true the lafo version is missing but the maven link should work. What Java are you using for the download? The java.security.InvalidAlgorithmParameterException you?re getting is very weird. tom On Oct 17, 2014, at 10:58 AM, Caspole, Eric wrote: > Today I started getting this problem with a clean checkout: > > $ nice ./mx.sh --vm server --vmbuild fastdebug build > Downloading ASM from ['http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar', 'https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar'] > ** If behind a firewall without direct internet access, use the HTTP_PROXY environment variable (e.g. 'env HTTP_PROXY=proxy.company.com:80 max ...') or download manually with a web browser. > ** If behind a firewall without direct internet access, use the HTTPS_PROXY environment variable (e.g. 'env HTTPS_PROXY=proxy.company.com:80 max ...') or download manually with a web browser. > Downloading http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa > Error reading from http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar: java.io.FileNotFoundException: http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar > Downloading https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa > Error reading from https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty > Exception in thread "main" java.lang.Error: Could not download content to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa from [http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar, https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar] > at URLConnectionDownload.main(URLConnectionDownload.java:155) > Could not download to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa from any of the following URLs: > > http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar > https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar > > Please use a web browser to do the download manually > > ================= > > The one on that linz site is 4.0: > > http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-4.0.jar > > Thanks, > Eric From Eric.Caspole at amd.com Fri Oct 17 20:15:37 2014 From: Eric.Caspole at amd.com (Caspole, Eric) Date: Fri, 17 Oct 2014 20:15:37 +0000 Subject: New asm-5.0.3 dependency? In-Reply-To: <2C593C65-0FAF-4567-AFB3-D4E8077C00E6@oracle.com> References: <2C593C65-0FAF-4567-AFB3-D4E8077C00E6@oracle.com> Message-ID: Hmm, it does have something to do with the JAVA_HOME. I was using a build of the sumatra-dev repo JDK that is merged up very close if not exactly to JDK 8.0. Anyway I got it working using regular 8u5 and I will see if it continues to happen. Thanks, Eric -----Original Message----- From: Tom Rodriguez [mailto:tom.rodriguez at oracle.com] Sent: Friday, October 17, 2014 2:52 PM To: Caspole, Eric Cc: graal-dev at openjdk.java.net Subject: Re: New asm-5.0.3 dependency? It's true the lafo version is missing but the maven link should work. What Java are you using for the download? The java.security.InvalidAlgorithmParameterException you're getting is very weird. tom On Oct 17, 2014, at 10:58 AM, Caspole, Eric wrote: > Today I started getting this problem with a clean checkout: > > $ nice ./mx.sh --vm server --vmbuild fastdebug build Downloading ASM > from > ['http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar', > 'https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3 > /asm-5.0.3.jar'] > ** If behind a firewall without direct internet access, use the HTTP_PROXY environment variable (e.g. 'env HTTP_PROXY=proxy.company.com:80 max ...') or download manually with a web browser. > ** If behind a firewall without direct internet access, use the HTTPS_PROXY environment variable (e.g. 'env HTTPS_PROXY=proxy.company.com:80 max ...') or download manually with a web browser. > Downloading > http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar to > /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4 > e190824fa Error reading from > http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar: > java.io.FileNotFoundException: > http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar > Downloading > https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/ > asm-5.0.3.jar to > /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4 > e190824fa Error reading from > https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/ > asm-5.0.3.jar: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty Exception in thread "main" java.lang.Error: Could not download content to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa from [http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar, https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar] > at URLConnectionDownload.main(URLConnectionDownload.java:155) > Could not download to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa from any of the following URLs: > > http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar > > https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/ > asm-5.0.3.jar > > Please use a web browser to do the download manually > > ================= > > The one on that linz site is 4.0: > > http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-4.0.jar > > Thanks, > Eric From doug.simon at oracle.com Sat Oct 18 01:00:06 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Sat, 18 Oct 2014 01:00:06 +0000 Subject: hg: graal/graal: 5 new changesets Message-ID: <201410180100.s9I107R6011361@aojmv0008> Changeset: c4f649042a7b Author: Bernhard Urban Date: 2014-10-16 08:51 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c4f649042a7b mx/unittest: fix cygwin path issue ! mx/mx_graal.py ! mxtool/mx.py Changeset: 3af9abd4d524 Author: Bernhard Urban Date: 2014-10-17 10:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3af9abd4d524 amd64hotspot: guard foreign call registration with the according flag ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java Changeset: e98942f26fa4 Author: Bernhard Urban Date: 2014-10-17 11:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e98942f26fa4 graalCompiler: fix bootstrap with CTW (regression caused by jdk8-8041959) ! src/share/vm/graal/graalCompiler.cpp Changeset: 6997fce99fa3 Author: Bernhard Urban Date: 2014-10-17 13:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6997fce99fa3 graal/hotspot: fix memleak ! src/share/vm/graal/graalCompiler.cpp Changeset: 86ec7f6f71b3 Author: Doug Simon Date: 2014-10-18 00:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/86ec7f6f71b3 refactored GraalCompilerTest API to be in terms of ResolvedJavaMethod instead of Method ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/BasicHSAILTest.java ! graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/CommonedConstantsTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InfopointReasonTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/LockEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryArithmeticTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ProfilingInfoTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ShortCircuitNodeTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/CompiledMethodTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/MonitorDeoptTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EATestBase.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/inlining/InliningTest.java ! graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/AMD64HotSpotFrameOmissionTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/CompressedOopTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotNmethodTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/MemoryUsageBenchmark.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/WriteBarrierAdditionTest.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/JTTTest.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotpath/HP_field01.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotpath/HP_field03.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/Unsafe_compareAndSwap.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/lang/LambdaEagerTest.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/loop/LoopNewInstance.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/ConditionalElimination01.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/ArraysSubstitutionsTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/CompiledExceptionHandlerTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/DynamicNewArrayTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/EdgesTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/MethodSubstitutionTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/NewMultiArrayTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/ObjectAccessTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/PointerTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/StandardMethodSubstitutionsTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/StringSubstitutionsTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/UnsafeSubstitutionsTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/WordTest.java ! graal/com.oracle.graal.test/src/com/oracle/graal/test/GraalTest.java From duboscq at ssw.jku.at Mon Oct 20 10:15:51 2014 From: duboscq at ssw.jku.at (Gilles Duboscq) Date: Mon, 20 Oct 2014 12:15:51 +0200 Subject: New asm-5.0.3 dependency? In-Reply-To: References: <2C593C65-0FAF-4567-AFB3-D4E8077C00E6@oracle.com> Message-ID: I uploaded the ASM binaries to lafo's mirror. -Gilles On Fri, Oct 17, 2014 at 10:15 PM, Eric Caspole wrote: > Hmm, it does have something to do with the JAVA_HOME. > I was using a build of the sumatra-dev repo JDK that is merged up very close if not exactly to JDK 8.0. > Anyway I got it working using regular 8u5 and I will see if it continues to happen. > Thanks, > Eric > > > -----Original Message----- > From: Tom Rodriguez [mailto:tom.rodriguez at oracle.com] > Sent: Friday, October 17, 2014 2:52 PM > To: Caspole, Eric > Cc: graal-dev at openjdk.java.net > Subject: Re: New asm-5.0.3 dependency? > > It's true the lafo version is missing but the maven link should work. What Java are you using for the download? The java.security.InvalidAlgorithmParameterException you're getting is very weird. > > tom > > On Oct 17, 2014, at 10:58 AM, Caspole, Eric wrote: > >> Today I started getting this problem with a clean checkout: >> >> $ nice ./mx.sh --vm server --vmbuild fastdebug build Downloading ASM >> from >> ['http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar', >> 'https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3 >> /asm-5.0.3.jar'] >> ** If behind a firewall without direct internet access, use the HTTP_PROXY environment variable (e.g. 'env HTTP_PROXY=proxy.company.com:80 max ...') or download manually with a web browser. >> ** If behind a firewall without direct internet access, use the HTTPS_PROXY environment variable (e.g. 'env HTTPS_PROXY=proxy.company.com:80 max ...') or download manually with a web browser. >> Downloading >> http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar to >> /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4 >> e190824fa Error reading from >> http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar: >> java.io.FileNotFoundException: >> http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar >> Downloading >> https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/ >> asm-5.0.3.jar to >> /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4 >> e190824fa Error reading from >> https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/ >> asm-5.0.3.jar: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty Exception in thread "main" java.lang.Error: Could not download content to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa from [http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar, https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/asm-5.0.3.jar] >> at URLConnectionDownload.main(URLConnectionDownload.java:155) >> Could not download to /home/ecaspole/.mx/cache/asm-5.0.3.jar_dcc2193db20e19e1feca8b1240dbbc4e190824fa from any of the following URLs: >> >> http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-5.0.3.jar >> >> https://search.maven.org/remotecontent?filepath=org/ow2/asm/asm/5.0.3/ >> asm-5.0.3.jar >> >> Please use a web browser to do the download manually >> >> ================= >> >> The one on that linz site is 4.0: >> >> http://lafo.ssw.uni-linz.ac.at/graal-external-deps/asm-4.0.jar >> >> Thanks, >> Eric > From christian.humer at gmail.com Mon Oct 20 15:27:44 2014 From: christian.humer at gmail.com (Christian Humer) Date: Mon, 20 Oct 2014 17:27:44 +0200 Subject: @SlowPath renaming discussion In-Reply-To: References: <6A990121-0783-4EC4-8F43-5D0FC4194C66@oracle.com> <451C896D-6297-4432-9383-49C2EC803174@oracle.com> <54258192.2070909@oracle.com> <65392097-D035-45AA-8E97-22158EB4CB79@oracle.com> <54291AAA.6050609@oracle.com> <962792BE-B242-4653-89B3-C75CC7135B86@oracle.com> <54292A73.5030001@oracle.com> <66A41254-CA77-43AE-ABA6-E545916493CC@oracle.com> <542ADA6D.5040002@jku.at> Message-ID: Hi folks, It seems that that a majority is in favor of @TruffleBoundary. I will push the change today. Documentation will follow up. - Christian Humer On Fri, Oct 10, 2014 at 1:08 PM, Christian Humer wrote: > I do not agree. @CompilationBoundary fits the current terminology very > well. > For example: CompilerAsserts.compilationConstant(...), > CompilerDirectives.inCompiledCode(), ... > For these APIs we already use compilation as a word for Truffle > compilation and partial evaluation. > > And behind compilation boundaries the code is treated the same way as if > it would be executed just in the interpreter (in Truffle terminology). > > > - Christian Humer > > On Fri, Oct 10, 2014 at 11:36 AM, Benoit Daloze > wrote: > >> Don't let @CompilationBoundary win! >> For me, it sounds as negative as @SlowPath (that is "slow", like there is >> no more compilation after the annotation) >> and new Truffle users might just think the same. >> >> - Benoit >> >> On 8 October 2014 18:30, Christian Humer >> wrote: >> >> > Thanks for all the suggestions. >> > The discussion seems to have stopped, so I think its time to take this >> for >> > a vote now. (I won't count votes that were already posted) >> > >> > Here are the suggestions in the order of their submission: >> > >> > @Boundary >> > @TruffleBoundary >> > @PEBoundary >> > @PartialEvaluationBoundary >> > @TruffleInterpreted >> > @TruffleInterpretOnly >> > @NoPE >> > @StopInlining >> > @NotInlined >> > @DontInline >> > @StopPE >> > @StopPartialEvaluation >> > @CutoffPartialEvaluator >> > @PartialEvaluationInvisible >> > @NotExpanded >> > @ExitPartialEvaluator >> > @ExitPE >> > @JavaCode >> > @PlatformCode >> > @CompilationBoundary >> > @RuntimeCall >> > >> > >> > My Vote: >> > @CompilationBoundary +1 >> > >> > >> > - Christian Humer >> > >> > On Tue, Sep 30, 2014 at 6:29 PM, Andreas Woess >> > wrote: >> > >> > > I like @CompilationBoundary since "Compilation" is what we call it in >> > > other places, too: @CompilationFinal, neverPartOfCompilation, >> > > compilationConstant. We should be consistent here. >> > > @RuntimeCall would be a good fit if it would mean always call, never >> > > inline -- which is not the case with @SlowPath. I think we should have >> > both >> > > options anyway (maybe inline, don't inline), although that could >> simply >> > be >> > > a boolean parameter to the annotation ("forced"). >> > > >> > > - andreas >> > > >> > > On 2014-09-29 19:03, Thomas Wuerthinger wrote: >> > > >> > > > I think we should avoid abbreviations if possible. While I agree >> that a >> > > Truffle language implementor needs to understand how the compilation >> > > actually works, I?m still unsure whether the term ?partial >> evaluation? is >> > > the right one. It is well understood in an academic context, but it is >> > not >> > > very intuitive. >> > > > >> > > > I?d like to propose two additional options: >> > > > @CompilationBoundary >> > > > @RuntimeCall >> > > > >> > > > The latter based on similar reasonings to @SlowPath. When >> implementing >> > a >> > > language without Truffle, the equivalent effect to this annotation is >> > > achieved by emitting a call to the language runtime (either via >> bytecodes >> > > or via machine code) as opposed to emitting the logic inline. It >> should >> > > also make clear to language implementors the trade-off between using a >> > > runtime call (small code size, faster startup, slower peak) as >> opposed to >> > > emitting the logic inline (larger code size, slower startup, faster >> > peak). >> > > > >> > > > Maybe we should collect all suggestions and make a majority vote ;). >> > > > >> > > > - thomas >> > > > >> > > > >> > > > On 29 Sep 2014, at 02:46, Christian Wirth < >> christian.wirth at oracle.com> >> > > wrote: >> > > > >> > > >> Hi, >> > > >> >> > > >> Michael, I agree. We will have to give a good description of e.g. >> > > partial evaluation. Truffle developers need to understand the basic >> > > concepts to achieve high performance. Every Truffle developer should >> know >> > > what "PE" means and understand that concept. >> > > >> >> > > >> I vote for @PEBoundary. >> > > >> >> > > >> -- Christian Wirth >> > > >> >> > > >> >> > > >> >> > > >> Am 29.09.2014 11:29, schrieb Michael Haupt: >> > > >>> Hi, >> > > >>> >> > > >>> @PEBoundary is non-threatening and apt, but heavy on jargon. The >> > > documentation will have to explain part of the underlying concepts >> > clearly. >> > > >>> >> > > >>> Best, >> > > >>> >> > > >>> Michael >> > > >>> >> > > >>> Am 29.09.2014 um 10:39 schrieb Laurent Daynes < >> > > laurent.daynes at oracle.com>: >> > > >>> >> > > >>>> Alright, I'm sold. >> > > >>>> However, I strongly encourage a more developed comment in the >> source >> > > for the annotation that the current succinct one for SlowPath, which >> > > >>>> doesn't reflect the subtleties hidden behind it. >> > > >>>> >> > > >>>> Laurent >> > > >>>> On 9/29/2014 10:30 AM, Lukas Stadler wrote: >> > > >>>>> I?m a big fan of @PEBoundary - because: >> > > >>>>> - it?s concise >> > > >>>>> - it says exactly what it is (entry into this method is a >> boundary >> > > for partial evaluation) >> > > >>>>> - it?s non-threatening (as opposed to stop, cut or exit) >> > > >>>>> - ?inlining? and ?interpreted? are overloaded with too many >> > > different meanings, so I think we should avoid these terms >> > > >>>>> >> > > >>>>> - Lukas >> > > >>>>> >> > > >>>>> On 26 Sep 2014, at 18:01, Bernhard Urban > > >> > > wrote: >> > > >>>>> >> > > >>>>>> @ExitPartialEvaluator / @ExitPE >> > > >>>>>> >> > > >>>>>> fwiw, in pypy there's a @jit.dont_look_inside annotation. >> > > >>>>>> >> > > >>>>>> -Bernhard >> > > >>>>>> On Sep 26, 2014 5:30 PM, "Christian Humer" < >> > > christian.humer at gmail.com> >> > > >>>>>> wrote: >> > > >>>>>> >> > > >>>>>>> I also agree not to use inline. I usually use "guest language >> > > inlining" for >> > > >>>>>>> 1), "expansion" for 2) and "host language inlining" for 3). >> > > >>>>>>> >> > > >>>>>>> Will keep the suggestions flowing and will wrap up a vote >> later >> > on. >> > > >>>>>>> >> > > >> > > >> > >> > > From doug.simon at oracle.com Tue Oct 21 01:00:07 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Tue, 21 Oct 2014 01:00:07 +0000 Subject: hg: graal/graal: 12 new changesets Message-ID: <201410210100.s9L107M6016781@aojmv0008> Changeset: 03ac1d477d25 Author: Josef Eisl Date: 2014-10-16 16:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/03ac1d477d25 HSAIL: fix RegisterCategories. ! graal/com.oracle.graal.hsail/src/com/oracle/graal/hsail/HSAIL.java Changeset: a545fb29cb89 Author: Roland Schatz Date: 2014-10-20 11:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a545fb29cb89 Add missing data types to cmove instruction. ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ControlFlow.java Changeset: 3c7e73362d6a Author: Josef Eisl Date: 2014-10-20 12:12 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3c7e73362d6a Encapsulate FrameMap.registerConfig & FrameMap.target. ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScanWalker.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/RegisterVerifier.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveDeoptimizedStackFrameOp.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java ! graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64FrameMap.java ! graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILFrameMap.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXFrameMap.java ! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCFrameMap.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/CompilationResultBuilder.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java Changeset: 689092d5cf44 Author: Roland Schatz Date: 2014-10-20 16:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/689092d5cf44 Store explicit input bit width in IntegerConvertNode. ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java ! graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/IntegerStampTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java Changeset: 2a69cbe850a8 Author: Gilles Duboscq Date: 2014-10-20 19:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2a69cbe850a8 Reduce diff with upstream + .jcheck/conf ! make/bsd/makefiles/jsig.make ! make/bsd/makefiles/saproc.make ! make/bsd/makefiles/vm.make ! src/cpu/sparc/vm/interpreterGenerator_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/share/tools/ProjectCreator/BuildConfig.java ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/oopRecorder.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/opto/superword.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 12c6c5a5bd88 Author: Doug Simon Date: 2014-10-20 23:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/12c6c5a5bd88 avoid lambdas in HotSpotGraalRuntime initialization path ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSuitesProvider.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/DefaultSuitesProvider.java Changeset: 7cefdad149ad Author: Doug Simon Date: 2014-10-20 23:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7cefdad149ad enable a GraalCompilerTest to override how a method is parsed to produce a graph as well as being able to interpose on the method that is parsed/compiled ! graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryArithmeticTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/CompiledMethodTest.java ! graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/AMD64HotSpotFrameOmissionTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/ArrayCopyIntrinsificationTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/CompressedOopTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/ExplicitExceptionTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotCryptoSubstitutionTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotNmethodTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/WriteBarrierAdditionTest.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/lang/LambdaEagerTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/MethodSubstitutionTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/NewMultiArrayTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/StandardMethodSubstitutionsTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/StringSubstitutionsTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/TypeCheckTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/UnsafeSubstitutionsTest.java Changeset: 7b6a4ae58de4 Author: Christian Humer Date: 2014-10-21 00:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7b6a4ae58de4 Truffle-DSL: improve JavaDoc for @Fallback. ! graal/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/Fallback.java Changeset: b3adab5f01a2 Author: Christian Humer Date: 2014-10-21 00:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b3adab5f01a2 Truffle: fix non permanent bailouts were shown as failures. they are no treated as opt unqueued events. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Changeset: b4e38f4ca414 Author: Christian Humer Date: 2014-10-21 00:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b4e38f4ca414 Truffle: rename @SlowPath to @TruffleBoundary. ! CHANGELOG.md ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLCallUntilOptimizedBuiltin.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLDisableSplittingBuiltin.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLGetOptionBuiltin.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLGraalRuntimeBuiltin.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLIsInlinedBuiltin.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLIsOptimizedBuiltin.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLSetOptionBuiltin.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLTestSlowPath01Builtin.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalFrameInstance.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Instrument.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/InstrumentationNode.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/generator/NodeCodeGenerator.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLDefineFunctionBuiltin.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLHelloEqualsWorldBuiltin.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLPrintlnBuiltin.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLReadlnBuiltin.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLStackTraceBuiltin.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/expression/SLMulNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLExpressionWrapper.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLStatementWrapper.java Changeset: 85cec9cab17b Author: Christian Humer Date: 2014-10-21 00:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/85cec9cab17b Truffle: format fix. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Instrument.java Changeset: b00fc4dc6dc2 Author: Tom Rodriguez Date: 2014-10-20 16:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b00fc4dc6dc2 lower optimization on unsafe.cpp with XCode 6 as well ! make/bsd/makefiles/gcc.make From doug.simon at oracle.com Wed Oct 22 01:00:11 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Wed, 22 Oct 2014 01:00:11 +0000 Subject: hg: graal/graal: 13 new changesets Message-ID: <201410220100.s9M10BH7010715@aojmv0008> Changeset: 5c1bd485c54b Author: Andreas Woess Date: 2014-10-21 02:31 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5c1bd485c54b Truffle: fix deoptimization of int[] with double/long values ! src/share/vm/runtime/deoptimization.cpp Changeset: 6a2f814224b1 Author: Bernhard Urban Date: 2014-10-21 10:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6a2f814224b1 hotspot/graal: simplify CTW logic. now, the following configurations are supported: (1) CTW with Graal, graal compiled by itself with bootstrap (--vm graal -XX:+BootstrapGraal -XX:-TieredCompilation -XX:+CompileTheWorld) (2) CTW with Graal, graal compiled by C1/itself aka. tiered with bootstrap (--vm graal -XX:+BootstrapGraal -XX:+TieredCompilation +XX:+CompileTheWorld) (3) CTW with Graal, graal compiled by itself without bootstrap (--vm graal -XX:-BootstrapGraal -XX:-TieredCompilation -XX:+CompileTheWorld) (4) CTW with Graal, graal compiled by C1/itself aka. tiered without bootstrap (--vm graal -XX:-BootstrapGraal -XX:+TieredCompilation -XX:+CompileTheWorld) (5) CTW with Graal, graal compiled by C1/C2 aka. hosted (--vm server -XX:+CompileTheWorld) ! src/share/vm/graal/graalCompiler.cpp ! src/share/vm/prims/jni.cpp Changeset: 1700d12ba0ad Author: Gilles Duboscq Date: 2014-10-21 10:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1700d12ba0ad Require pylint 1.1.x ! mxtool/mx.py Changeset: 52b8826ef035 Author: Gilles Duboscq Date: 2014-10-21 10:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/52b8826ef035 Backout wrong change in 2a69cbe850a8 ! src/share/vm/opto/superword.hpp Changeset: 94faadc823ea Author: Gilles Duboscq Date: 2014-10-21 10:28 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/94faadc823ea MethodData::initialize: remove unused argument ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp Changeset: 4c49f062d136 Author: Danilo Ansaloni Date: 2014-10-21 11:23 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4c49f062d136 Truffle: corrected references to @SlowPath (now @TruffleBoundary). ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLTestSlowPath01Builtin.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java Changeset: 9147ad23314b Author: Josef Eisl Date: 2014-10-21 12:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9147ad23314b Remove FrameMap.stackSlotSize(). It gives the false impression that all slots are of the same size. ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotEnterUnpackFramesStackFrameOp.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveCurrentStackFrameOp.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLeaveUnpackFramesStackFrameOp.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java Changeset: 185bd9096c88 Author: Josef Eisl Date: 2014-10-21 12:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/185bd9096c88 Remove FrameMap.indexForStackSlot(). ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotBackend.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64SaveRegistersOp.java ! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCSaveRegistersOp.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java Changeset: e47d597a0652 Author: Bernhard Urban Date: 2014-10-21 16:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e47d597a0652 TruffleCache: remove unused assumption argument. ! 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.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java Changeset: a94e85e5256b Author: Bernhard Urban Date: 2014-10-21 16:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a94e85e5256b InliningUtil: tell which graph in error message. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java Changeset: 0e1c92b8b267 Author: Bernhard Urban Date: 2014-10-21 16:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0e1c92b8b267 TruffleCache: avoid publishing invalid cache state. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java Changeset: 70077134cabc Author: Bernhard Urban Date: 2014-10-21 16:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/70077134cabc graalCompiler: remove unnecessary HandleMark. ! src/share/vm/graal/graalCompiler.cpp Changeset: 0e7455cb3004 Author: Christian Humer Date: 2014-10-21 20:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0e7455cb3004 Truffle: fixed remaining slow path name fragements. - graal/com.oracle.graal.truffle.test/sl/TestSlowPath01.sl + graal/com.oracle.graal.truffle.test/sl/TestTruffleBoundary01.sl ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/SLTruffleGraalTestSuite.java - graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLTestSlowPath01Builtin.java + graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLTestTruffleBoundary01Builtin.java From doug.simon at oracle.com Thu Oct 23 01:00:06 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Thu, 23 Oct 2014 01:00:06 +0000 Subject: hg: graal/graal: 12 new changesets Message-ID: <201410230100.s9N107pj016101@aojmv0008> Changeset: 9db0af368bb4 Author: Bernhard Urban Date: 2014-10-22 14:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9db0af368bb4 truffleCache: refactor in order to fix recursive inlining warning ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java Changeset: 67a5f283487a Author: Josef Eisl Date: 2014-10-21 14:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/67a5f283487a Introduce FrameMapBuilder. ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java ! graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotLockStack.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java + graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMapBuilder.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerationResult.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerationResultBase.java Changeset: aed00dc20923 Author: Josef Eisl Date: 2014-10-21 15:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/aed00dc20923 Pass FrameMap to Backend.newCompilationResultBuilder(). ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/Backend.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java ! graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java Changeset: c6086a18c9ce Author: Josef Eisl Date: 2014-10-21 16:28 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c6086a18c9ce Rename LIRGenerationResult.getFrameMap() to getFrameMapBuilder(). ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.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/SPARCHotSpotNodeLIRBuilder.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java ! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCByteSwapOp.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerationResult.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerationResultBase.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java Changeset: 22f2e42923de Author: Josef Eisl Date: 2014-10-21 17:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/22f2e42923de Use FrameMapBuilder in LinearScan (except for location marking). ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScanWalker.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/MoveResolver.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/RegisterVerifier.java Changeset: 04b54406c292 Author: Josef Eisl Date: 2014-10-22 10:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/04b54406c292 Use FrameMapBuilder in Backend.newLIRGenerationResult(). ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/Backend.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerationResult.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerationResult.java ! graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.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/SPARCHotSpotLIRGenerationResult.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/RedundantMoveElimination.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerationResultBase.java Changeset: ff694c40bdee Author: Josef Eisl Date: 2014-10-22 16:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ff694c40bdee LIRGenerationResult: add buildFrameMap() and getFrameMap(). ! graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMapBuilder.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerationResult.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerationResultBase.java Changeset: 1c4a1a46e891 Author: Josef Eisl Date: 2014-10-22 17:28 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1c4a1a46e891 Introduce FrameMapBuilderImpl. ! graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java + graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/FrameMapBuilderImpl.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java Changeset: 448be95baef8 Author: Josef Eisl Date: 2014-10-22 17:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/448be95baef8 Add Backend.newFrameMapBuilder(). ! graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/FrameMapBuilderImpl.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/target/Backend.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java ! graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java Changeset: 115c9fac7542 Author: Josef Eisl Date: 2014-10-22 18:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/115c9fac7542 Move FrameMapBuilderImpl to com.oracle.graal.lir. - graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/FrameMapBuilderImpl.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java ! graal/com.oracle.graal.hotspot.ptx/src/com/oracle/graal/hotspot/ptx/PTXHotSpotBackend.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotBackend.java + graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMapBuilderImpl.java Changeset: b5a594acff7c Author: Josef Eisl Date: 2014-10-22 18:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b5a594acff7c Document FrameMapBuilder. ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMapBuilder.java Changeset: 95f8dd398214 Author: Josef Eisl Date: 2014-10-22 19:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/95f8dd398214 Call LIRGenerationResult.buildFrameMap() for targets that do not need register allocation. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java From java at stefan-marr.de Thu Oct 23 13:53:12 2014 From: java at stefan-marr.de (Stefan Marr) Date: Thu, 23 Oct 2014 15:53:12 +0200 Subject: Pure Interpreter Speed Message-ID: <19BB6951-B681-4A26-A7D1-CFD41FE6B5B0@stefan-marr.de> Hi: I was measuring the pure interpreter speed of TruffleSOM and would just like to hear whether the following is plausible. I ran my benchmarks on top of a plain Hotspot as well as one with Graal. For the one with Graal, I also passed in the following flag to ensure I see the interpreter speed only: -G:TruffleCompileOnly=__something_that_really_doesnt_exist__so_that_nothing_is_compiled__ As a result, I see the pure interpreter on top of Graal being somewhere between 20% and 80% slower than on plain Java. Does that sound about right? I assume this overhead is the additional book keeping done to facilitate compilation? Thanks Stefan -- Stefan Marr INRIA Lille - Nord Europe http://stefan-marr.de/research/ From Ryan.LaMothe at pnnl.gov Thu Oct 23 13:27:57 2014 From: Ryan.LaMothe at pnnl.gov (LaMothe, Ryan R) Date: Thu, 23 Oct 2014 13:27:57 +0000 Subject: determining when to offload to the gpu In-Reply-To: References: Message-ID: Thank you Tom, I appreciate the discussion...and I apologize for the delay in response. The one issue I was intending to highlight is the case when the data you are trying to process does not fit onto a single GPU. And unless I am mistaken, which I could be, APUs also do not support access to all available system RAM. So, unless we always process small datasets that fit on a single GPU or are fully addressable by an APU, how is Sumatra planning to deal with that automatically? I have some ideas, but I?d like to hear your thoughts. ? Ryan On 9/18/14, 8:04 AM, "Deneau, Tom" wrote: >Ryan -- > >So I believe you are saying: > > a) Given a lambda marked parallel to execute across a range, the > decision of where to run it does not have to be an all-CPU or > all-GPU decision. It may be possible to subdivide the problem > and run part of it on the GPU and part on the CPU. This > subdividing could be part of the framework. > > b) There should be an API that allows the expert user to break up > the problem and control which parts run on the CPU and GPU. > > >I think solving part a) in the JVM or JDK is an interesting (and >difficult) problem for the future but may be beyond the scope of the >current Sumatra. I will definitely open an issue on this once we get >the Sumatra project in place on bugs.openjdk.java.net. > >Meanwhile, for now I think we will limit the automatic decision of >where to run to all-GPU or all-CPU. I think there is a middle ground >of problems that either may or may not gain thru offloading (for >example depending on GPU or CPU hardware capabilities) and where the >programmer wants to leave that decision up to the framework. > >I will also enter an issue for Part b). I agree this is something >that an expert user might want. > >-- Tom > >------------------------------------------------- >-----Original Message----- >From: LaMothe, Ryan R [mailto:Ryan.LaMothe at pnnl.gov] >Sent: Tuesday, September 09, 2014 7:03 PM >To: Deneau, Tom; sumatra-dev at openjdk.java.net; graal-dev at openjdk.java.net >Subject: Re: determining when to offload to the gpu > >Hi Tom, > >I thought this may be a good point to jump in and make a quick comment on >some thoughts. > >A question: At what level is it better to encapsulate this in the JVM and >at what level is this better left to the user/utility functions? > > >For example, in the Aparapi project there is an example project named >correlation-matrix that gives a pretty good idea about what it takes to >realistically decide in code whether to run a specific matrix computation >on CPU or GPU and how to split up the work. This is a very basic example >and is only a sample of the real code base from which it was derived, but >should help highlight the issue. > >Instead of the JVM trying to figure out how to decompose the lambda >functions optimally and offload to HSA automatically for all possible >cases, might it be better to take the following approach: > >- Implement the base functionality in the JVM for HSA offload and then >search the entire JDK for places where offloading may be obvious or >easily achieved (i.e. Matrix Math, etc.)? Maybe this even means >implementing new base classes for specific packages that are HSA-enabled. > >- For non-obvious cases, allow the developer to somehow indicate in the >lambda that they want the execution to occur via HSA/offload, if >possible, and provide some form of annotations or other functionality to >give the JVM hints about how they would like it done? > > >Maybe that seems like steps backwards, but thought it was worth >mentioning. > > >-Ryan > > >On 9/9/14, 3:02 PM, "Deneau, Tom" wrote: > >>The following is an issue we need to resolve in Sumatra. We intend to >>file this in the openjdk bugs system once we get the Sumatra project >>set up as a project there. Meanwhile, comments are welcome. >> >> >>In the current prototype, a config flag enables offload and if a Stream >>API parallel().forEach call is encountered which meets the other >>criteria for being offloaded, then on its first invocation it is >>compiled for the HSA target and executed. The compilation happens >>once, the compiled kernel is saved and can be reused on subsequent >>invocations of the same lambda. (Note: if for any reason the lambda >>cannot be compiled for an HSA target, offload is disabled for this >>lambda and the usual CPU parallel path is used). The logic for >>deciding whether to offload or not is all in the special >>Sumatra-modified JDK classes in java/util/stream. >> >>The above logic could be improved: >> >> a) instead of being offloaded on the first invocation, the lambda >> should first be executed thru the interpreter so that profiling >> information is gathered which could then be useful in the >> eventual HSAIL compilation step. >> >> b) instead of being offloaded unconditionally, it would be good if >> the lambda would be offloaded only if the offload is determined >> profitable when compared to running parallel on the CPU. We >> assume that in general it is not possible to predict the >> profitability of GPU offload statically and that measurement >> will be necessary. >> >>So how to meet the above needs? Our current thoughts are that at the >>JDK level where we decide to offload a particular parallel lambda >>invocation would go thru a number of stages: >> >> * Interpreted (to gather profiling information) >> * Compiled and executed on Parallel CPU and timed >> * Compiled and executed on Parallel GPU and timed >> >>And then at that point make some decision about which way is faster and >>use that going forward. >> >>Do people think making these measurements back at the JDK API level is >>the right place? (It seems to fit there since that is where we decide >>whether or not to offload) >> >>Some concerns >>------------- >>This comparison works well if the work per stream call is similar for >>all invocations. However, even the range may not be the same from >>invocation to invocation. We should try to compare parCPU and parGPU >>runs with the same range. If we can't find runs with the same range, >>we could derive a time per workitem measurement and compare those. >>However, time per workitem for a small range may be quite different for >>time per workitem for a large range so would be difficult to compare. >>Even then the work per run may be different (might take different paths >>thru the lambda). >> >>How to detect that we are in the "Compiled" stage for the Parallel CPU >>runs? I guess knowing the range of each forEach call we should be able >>to estimate this, or just see a reduction in the runtime. >> >>-- Tom Deneau >> >> > From thomas.wuerthinger at oracle.com Fri Oct 24 00:37:13 2014 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Fri, 24 Oct 2014 02:37:13 +0200 Subject: Pure Interpreter Speed In-Reply-To: <19BB6951-B681-4A26-A7D1-CFD41FE6B5B0@stefan-marr.de> References: <19BB6951-B681-4A26-A7D1-CFD41FE6B5B0@stefan-marr.de> Message-ID: Can you post the ?-version? results for the two VMs you are comparing and the two command lines? Thanks, thomas On 23 Oct 2014, at 15:53, Stefan Marr wrote: > Hi: > > I was measuring the pure interpreter speed of TruffleSOM and would just like to hear whether the following is plausible. > > I ran my benchmarks on top of a plain Hotspot as well as one with Graal. > For the one with Graal, I also passed in the following flag to ensure I see the interpreter speed only: > -G:TruffleCompileOnly=__something_that_really_doesnt_exist__so_that_nothing_is_compiled__ > > As a result, I see the pure interpreter on top of Graal being somewhere between 20% and 80% slower than on plain Java. > Does that sound about right? I assume this overhead is the additional book keeping done to facilitate compilation? > > Thanks > Stefan > > > -- > Stefan Marr > INRIA Lille - Nord Europe > http://stefan-marr.de/research/ > > > From doug.simon at oracle.com Fri Oct 24 01:00:06 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Fri, 24 Oct 2014 01:00:06 +0000 Subject: hg: graal/graal: 5 new changesets Message-ID: <201410240100.s9O1061R023955@aojmv0008> Changeset: 31ad929e1afd Author: Doug Simon Date: 2014-10-22 20:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/31ad929e1afd factored out _netbeansinit_project function ! mxtool/mx.py Changeset: 2d6646ca59be Author: Doug Simon Date: 2014-10-22 20:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2d6646ca59be Merge. Changeset: 30e03a7f9110 Author: Andreas Woess Date: 2014-10-23 12:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/30e03a7f9110 Truffle: revert to long[] in frame and initial value depending on frame slot kind ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/StoreLocalTestNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/FrameWithoutBoxing.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java Changeset: 94f16a759646 Author: Andreas Woess Date: 2014-10-23 13:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/94f16a759646 Truffle: remove FrameTypeConversion interface ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/FrameWithoutBoxing.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/FrameSlotTypeSpecializationTest.java ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/ReturnTypeSpecializationTest.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameDescriptor.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameTypeConversion.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultFrameTypeConversion.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultVirtualFrame.java Changeset: ab62800259ff Author: Christian Humer Date: 2014-10-23 17:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ab62800259ff Truffle: renamed the splitting to callTargetCloning. Made RootNode cloning an implementation detail of the Truffle runtime. ! CHANGELOG.md ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLDisableSplittingBuiltin.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLGraalRuntimeBuiltin.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/DefaultTruffleSplittingStrategy.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/DefaultTruffleSplittingStrategyNew.java ! 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/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedDirectCallNode.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultDirectCallNode.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/DirectCallNode.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RootNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/SLRootNode.java From java at stefan-marr.de Fri Oct 24 07:29:37 2014 From: java at stefan-marr.de (Stefan Marr) Date: Fri, 24 Oct 2014 09:29:37 +0200 Subject: Pure Interpreter Speed In-Reply-To: References: <19BB6951-B681-4A26-A7D1-CFD41FE6B5B0@stefan-marr.de> Message-ID: <4F263869-D1F8-464F-A450-6B834E342741@stefan-marr.de> Hi Thomas: > On 24 Oct 2014, at 02:37, Thomas Wuerthinger wrote: > > Can you post the ?-version? results for the two VMs you are comparing and the two command lines? I just reproduced it locally with the following VMs: $ java -server -version java version "1.8.0_20" Java(TM) SE Runtime Environment (build 1.8.0_20-b26) Java HotSpot(?) 64-Bit Server VM (build 25.20-b23, mixed mode) $ ../graal/mxtool/mx --vm server vm -version java version "1.8.0_20" Java(TM) SE Runtime Environment (build 1.8.0_20-b26) OpenJDK 64-Bit Server VM (build 25.25-b02-internal-graal-unknown-venus-2014-10-19_13-05-36_CEST, mixed mode) The Graal code base is from October 18th. java -server -cp build/classes:libs/truffle.jar som.vm.Universe -cp Smalltalk:Examples/Benchmarks/DeltaBlue Examples/Benchmarks/BenchmarkHarness.som DeltaBlue 100 0 1000 Starting DeltaBlue benchmark ... DeltaBlue: iterations=1 runtime: 830573us DeltaBlue: iterations=1 runtime: 493144us DeltaBlue: iterations=1 runtime: 564083us DeltaBlue: iterations=1 runtime: 520939us ? ../graal/mxtool/mx --vm server vm -G:TruffleCompileOnly=__something_that_really_doesnt_exist__so_that_nothing_is_compiled__ -G:-TraceTruffleInlining -G:-TraceTruffleCompilation -Xbootclasspath/a:build/classes:../graal/truffle.jar som.vm.Universe -cp Smalltalk:Examples/Benchmarks/DeltaBlue Examples/Benchmarks/BenchmarkHarness.som DeltaBlue 100 0 1000 Starting DeltaBlue benchmark ... DeltaBlue: iterations=1 runtime: 1405182us DeltaBlue: iterations=1 runtime: 1094049us DeltaBlue: iterations=1 runtime: 1079595us DeltaBlue: iterations=1 runtime: 1065108us ? And, that?s measured with the latest version of TruffleSOM: $ git clone --recursive https://github.com/SOM-st/TruffleSOM.git $ ant Best regards Stefan -- Stefan Marr INRIA Lille - Nord Europe http://stefan-marr.de/research/ From bernhard.urban at jku.at Fri Oct 24 08:40:45 2014 From: bernhard.urban at jku.at (Bernhard Urban) Date: Fri, 24 Oct 2014 10:40:45 +0200 Subject: Pure Interpreter Speed In-Reply-To: <4F263869-D1F8-464F-A450-6B834E342741@stefan-marr.de> References: <19BB6951-B681-4A26-A7D1-CFD41FE6B5B0@stefan-marr.de> <4F263869-D1F8-464F-A450-6B834E342741@stefan-marr.de> Message-ID: Stefan, can you please try mx --vm server-nograal [...]? as the name tells, this is a server vm without graal modification, but built from the graal sourcetree. It should be equal to what you see with -server from the Oracle JDK (if not, then there is the problem). It would be a shame if the GraalTruffleRuntime would impose such an overhead. Overhead is expected, but I would say not in this order of magnitude. -Bernhard On Oct 24, 2014 9:35 AM, "Stefan Marr" wrote: > Hi Thomas: > > > On 24 Oct 2014, at 02:37, Thomas Wuerthinger < > thomas.wuerthinger at oracle.com> wrote: > > > > Can you post the ?-version? results for the two VMs you are comparing > and the two command lines? > > I just reproduced it locally with the following VMs: > > $ java -server -version > java version "1.8.0_20" > Java(TM) SE Runtime Environment (build 1.8.0_20-b26) > Java HotSpot(?) 64-Bit Server VM (build 25.20-b23, mixed mode) > > > $ ../graal/mxtool/mx --vm server vm -version > java version "1.8.0_20" > Java(TM) SE Runtime Environment (build 1.8.0_20-b26) > OpenJDK 64-Bit Server VM (build > 25.25-b02-internal-graal-unknown-venus-2014-10-19_13-05-36_CEST, mixed mode) > > The Graal code base is from October 18th. > > > java -server -cp build/classes:libs/truffle.jar som.vm.Universe -cp > Smalltalk:Examples/Benchmarks/DeltaBlue > Examples/Benchmarks/BenchmarkHarness.som DeltaBlue 100 0 1000 > > Starting DeltaBlue benchmark ... > DeltaBlue: iterations=1 runtime: 830573us > DeltaBlue: iterations=1 runtime: 493144us > DeltaBlue: iterations=1 runtime: 564083us > DeltaBlue: iterations=1 runtime: 520939us > ? > > > ../graal/mxtool/mx --vm server vm > -G:TruffleCompileOnly=__something_that_really_doesnt_exist__so_that_nothing_is_compiled__ > -G:-TraceTruffleInlining -G:-TraceTruffleCompilation > -Xbootclasspath/a:build/classes:../graal/truffle.jar som.vm.Universe -cp > Smalltalk:Examples/Benchmarks/DeltaBlue > Examples/Benchmarks/BenchmarkHarness.som DeltaBlue 100 0 1000 > > Starting DeltaBlue benchmark ... > DeltaBlue: iterations=1 runtime: 1405182us > DeltaBlue: iterations=1 runtime: 1094049us > DeltaBlue: iterations=1 runtime: 1079595us > DeltaBlue: iterations=1 runtime: 1065108us > ? > > > > And, that?s measured with the latest version of TruffleSOM: > > $ git clone --recursive https://github.com/SOM-st/TruffleSOM.git > $ ant > > Best regards > Stefan > > > -- > Stefan Marr > INRIA Lille - Nord Europe > http://stefan-marr.de/research/ > > > > From java at stefan-marr.de Fri Oct 24 09:01:53 2014 From: java at stefan-marr.de (Stefan Marr) Date: Fri, 24 Oct 2014 11:01:53 +0200 Subject: Pure Interpreter Speed In-Reply-To: References: <19BB6951-B681-4A26-A7D1-CFD41FE6B5B0@stefan-marr.de> <4F263869-D1F8-464F-A450-6B834E342741@stefan-marr.de> Message-ID: Hi Bernhard: > On 24 Oct 2014, at 10:40, Bernhard Urban wrote: > > can you please try mx --vm server-nograal [...]? as the name tells, this is a server vm without graal modification, but built from the graal sourcetree. Sorry, no good news: ../graal/mxtool/mx --vm server-nograal vm -Xbootclasspath/a:build/classes:../graal/truffle.jar som.vm.Universe -cp Smalltalk:Examples/Benchmarks/DeltaBlue Examples/Benchmarks/BenchmarkHarness.som DeltaBlue 100 0 1000 Starting DeltaBlue benchmark ... DeltaBlue: iterations=1 runtime: 753905us DeltaBlue: iterations=1 runtime: 431390us DeltaBlue: iterations=1 runtime: 489044us DeltaBlue: iterations=1 runtime: 453485us DeltaBlue: iterations=1 runtime: 425499us ? And just to make sure nothing else changed, I directly ran the normal one again: $ ../graal/mxtool/mx --vm server vm -G:TruffleCompileOnly=__something_that_really_doesnt_exist__so_that_nothing_is_compiled__ -G:-TraceTruffleInlining -G:-TraceTruffleCompilation -Xbootclasspath/a:build/classes:../graal/truffle.jar som.vm.Universe -cp Smalltalk:Examples/Benchmarks/DeltaBlue Examples/Benchmarks/BenchmarkHarness.som DeltaBlue 100 0 1000 Starting DeltaBlue benchmark ... DeltaBlue: iterations=1 runtime: 1336776us DeltaBlue: iterations=1 runtime: 1030942us DeltaBlue: iterations=1 runtime: 958083us DeltaBlue: iterations=1 runtime: 948710us DeltaBlue: iterations=1 runtime: 948175us DeltaBlue: iterations=1 runtime: 962985us > It would be a shame if the GraalTruffleRuntime would impose such an overhead. Overhead is expected, but I would say not in this order of magnitude. Well, it is a factor of 2 for the DeltaBlue on TruffleSOM. But, the other benchmarks I just retried look very similar. Best regards Stefan -- Stefan Marr INRIA Lille - Nord Europe http://stefan-marr.de/research/ From christian.humer at gmail.com Fri Oct 24 10:03:29 2014 From: christian.humer at gmail.com (Christian Humer) Date: Fri, 24 Oct 2014 12:03:29 +0200 Subject: Pure Interpreter Speed In-Reply-To: References: <19BB6951-B681-4A26-A7D1-CFD41FE6B5B0@stefan-marr.de> <4F263869-D1F8-464F-A450-6B834E342741@stefan-marr.de> Message-ID: Hi Stefan, I quickly measured the interpreter performance for the first 20 runs for deltablue on Truffle Javascript with the current tip. I get on server (lower is better): 255,108,76,67,61,69,57,60,57,55,54,57,54,56,54,55,57,56,55,55 --- DeltaBlue finished (1418ms / 20 = 70.900ms/run) And on client - graal tiered mode (lower is better): 1576,238,403,69,87,84,67,74,72,62,52,47,51,47,49,50,51,47,47,46 [ 1576 => 46 ] --- DeltaBlue finished (3219ms / 20 = 160.950ms/run) The first runs on client-graal tiered are slower. As far as I know this is expected as the graal compiler needs to warm up. After warmup client-graal tiered is faster. - Christian Humer On Fri, Oct 24, 2014 at 11:01 AM, Stefan Marr wrote: > Hi Bernhard: > > > On 24 Oct 2014, at 10:40, Bernhard Urban wrote: > > > > can you please try mx --vm server-nograal [...]? as the name tells, this > is a server vm without graal modification, but built from the graal > sourcetree. > > Sorry, no good news: > > ../graal/mxtool/mx --vm server-nograal vm > -Xbootclasspath/a:build/classes:../graal/truffle.jar som.vm.Universe -cp > Smalltalk:Examples/Benchmarks/DeltaBlue > Examples/Benchmarks/BenchmarkHarness.som DeltaBlue 100 0 1000 > Starting DeltaBlue benchmark ... > DeltaBlue: iterations=1 runtime: 753905us > DeltaBlue: iterations=1 runtime: 431390us > DeltaBlue: iterations=1 runtime: 489044us > DeltaBlue: iterations=1 runtime: 453485us > DeltaBlue: iterations=1 runtime: 425499us > ? > > And just to make sure nothing else changed, I directly ran the normal one > again: > > $ ../graal/mxtool/mx --vm server vm > -G:TruffleCompileOnly=__something_that_really_doesnt_exist__so_that_nothing_is_compiled__ > -G:-TraceTruffleInlining -G:-TraceTruffleCompilation > -Xbootclasspath/a:build/classes:../graal/truffle.jar som.vm.Universe -cp > Smalltalk:Examples/Benchmarks/DeltaBlue > Examples/Benchmarks/BenchmarkHarness.som DeltaBlue 100 0 1000 > Starting DeltaBlue benchmark ... > DeltaBlue: iterations=1 runtime: 1336776us > DeltaBlue: iterations=1 runtime: 1030942us > DeltaBlue: iterations=1 runtime: 958083us > DeltaBlue: iterations=1 runtime: 948710us > DeltaBlue: iterations=1 runtime: 948175us > DeltaBlue: iterations=1 runtime: 962985us > > > > It would be a shame if the GraalTruffleRuntime would impose such an > overhead. Overhead is expected, but I would say not in this order of > magnitude. > > Well, it is a factor of 2 for the DeltaBlue on TruffleSOM. > But, the other benchmarks I just retried look very similar. > > Best regards > Stefan > > -- > Stefan Marr > INRIA Lille - Nord Europe > http://stefan-marr.de/research/ > > > > From java at stefan-marr.de Fri Oct 24 10:17:38 2014 From: java at stefan-marr.de (Stefan Marr) Date: Fri, 24 Oct 2014 12:17:38 +0200 Subject: Pure Interpreter Speed In-Reply-To: References: <19BB6951-B681-4A26-A7D1-CFD41FE6B5B0@stefan-marr.de> <4F263869-D1F8-464F-A450-6B834E342741@stefan-marr.de> Message-ID: Hi Christian: > On 24 Oct 2014, at 12:03, Christian Humer wrote: > > I get on server (lower is better): Ok, perhaps I am misunderstanding but this is with graal, right? What are your results with server-nograal? > And on client - graal tiered mode (lower is better): Ok, here the same question, what are the results with client-nograal? For me the question wasn?t server vs. client VM but graal vs. nograal. Thanks Stefan -- Stefan Marr INRIA Lille - Nord Europe http://stefan-marr.de/research/ From thomas.wuerthinger at oracle.com Fri Oct 24 12:56:41 2014 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Fri, 24 Oct 2014 14:56:41 +0200 Subject: Pure Interpreter Speed In-Reply-To: References: <19BB6951-B681-4A26-A7D1-CFD41FE6B5B0@stefan-marr.de> <4F263869-D1F8-464F-A450-6B834E342741@stefan-marr.de> Message-ID: Stefan, The speed you are measuring in both cases is the one of the server compiler executing your Truffle interpreter. In a plain VM, a call to Truffle.getRuntime() [1] will return an instance to DefaultTruffleRuntime whereas in a Graal VM, it will return an instance to HotSpotTruffleRuntime. The former is executing faster in the interpreter, but does not have the ability to compile and partial evaluate the trees for faster execution. We might be able to tweak the latter (e.g., disable profiling for some periods) - but interpreter-only speed has not been a priority. A large part of the performance difference most likely derives from argument and return value profiling for Truffle calls that we only do in the second case. - thomas [1] http://lafo.ssw.uni-linz.ac.at/javadoc/graalvm/com.oracle.truffle.api/javadoc/com/oracle/truffle/api/Truffle.html#getRuntime() From doug.simon at oracle.com Sat Oct 25 01:00:08 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Sat, 25 Oct 2014 01:00:08 +0000 Subject: hg: graal/graal: 4 new changesets Message-ID: <201410250100.s9P109Be027064@aojmv0008> Changeset: c88ab4f1f04a Author: Doug Simon Date: 2014-10-24 16:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c88ab4f1f04a re-enabled Checkstyle with the release of 6.0 that supports Java 8; fixed existing Checkstyle warnings ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/ResolvedJavaTypeResolveMethodTest.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaField.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaMethod.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/LIRKind.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ModifiersProvider.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaMethod.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Value.java ! graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java ! graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java ! graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineControlFlowGraph.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/calc/FloatConvert.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/cfg/AbstractControlFlowGraph.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/cfg/DominatorOptimizationProblem.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/cfg/PrintableDominatorOptimizationProblem.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.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/src/com/oracle/graal/compiler/hsail/test/EscapingNewBase.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/EscapingNewFloatStringTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/EscapingNewFloatTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/EscapingNewIntArrayTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/EscapingNewIntegerTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/EscapingNewStringConcatTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/EscapingNewStringTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/EscapingNewVec3ArrayTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/EscapingNewVec3Base.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/EscapingNewVec3Partial2Test.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/InstanceOfTwoLevelTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/StaticDoubleSpillBoundsCatchOneTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/StaticDoubleSpillBoundsCatchTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ArrayListSetTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ArrayListStreamTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/Body.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ByteArrayCopyConjointTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ByteArrayCopyDisjointTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/CharArrayCopyConjointTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/CharArrayCopyDisjointTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/DoubleMathBase.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/DoubleTwoInputMathBase.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/DremTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/FloatMathBase.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/FloatTwoInputMathBase.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ForEachToGraalTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/InstanceNBodyTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/InstanceOfNullTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/InstanceOopNBodyAccTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/InstanceOopNBodyTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/IntArrayCopyConjointTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/IntArrayCopyDisjointTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/LongArrayCopyConjointTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/LongArrayCopyDisjointTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/LongCmpTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/MandelInstanceTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/MandelStaticTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/MathTestBase.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/MoreThanEightArgsOOBTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/NonEscapingNewObjWithArrayTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ObjArrayCopyConjointTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ObjArrayCopyDisjointNonExactTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ObjArrayCopyDisjointTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ObjectStoreNullTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ReduceMaxTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ReduceMinTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/ReduceSumTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/StaticIntFieldSameClassTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/StaticIntFieldWriteTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/StaticNBodyTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/StringBuilderTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/StringSubsequenceTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/StringSubstringTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/VecmathNBodyDeoptTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/VecmathNBodyTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/VectorStreamTest.java ! graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/lambda/VirtualCallBase.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCNodeLIRBuilder.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/DebugFilter.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/BytecodeLIRBuilder.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/BytecodeParserTool.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchContext.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchPattern.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchProcessor.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchRuleRegistry.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchStatementSet.java ! graal/com.oracle.graal.debug/src/com/oracle/graal/debug/AnsiColor.java ! graal/com.oracle.graal.debug/src/com/oracle/graal/debug/internal/TimerImpl.java ! graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeUsagesTests.java + graal/com.oracle.graal.graph/.checkstyle_checks.xml - graal/com.oracle.graal.graph/.checkstyle_checks.xml.disabled ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraphNodeIterator.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodePosIterator.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeUsageIterable.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeUsageIterator.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeUsageWithModCountIterator.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/ForEachToGraal.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLoweringProvider.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILNewObjectSnippets.java ! graal/com.oracle.graal.hotspot.jfr/src/com/oracle/graal/hotspot/jfr/events/JFREventProvider.java ! graal/com.oracle.graal.hotspot.sourcegen/src/com/oracle/graal/hotspot/sourcegen/OptionsVerifier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotOptionsLoader.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/InitTimer.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/PrintStreamOption.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/ComputeLoopFrequenciesClosure.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/bytecode/BC_lcmp.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/except/UntrustedInterfaces.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/lang/LambdaEagerTest.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/micro/BigMixedParams04.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/optimize/NestedLoop_EA.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.lir.ptx/src/com/oracle/graal/lir/ptx/PTXControlFlow.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/SPARCDelayedControlTransfer.java ! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCFrameMap.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/SPARCSaveRegistersOp.java ! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCTailDelayedLIRInstruction.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMapBuilderImpl.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StateProcedure.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantTreeAnalyzer.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/DefUseTree.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/UseEntry.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/VariableMap.java ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/ElementException.java ! graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeVerifier.java ! graal/com.oracle.graal.nodeinfo/src/com/oracle/graal/nodeinfo/InputType.java ! graal/com.oracle.graal.nodeinfo/src/com/oracle/graal/nodeinfo/Verbosity.java ! graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/ObjectStampTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ForeignCallDescriptors.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ProfileCompiledMethodsPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/EquationalReasoner.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FlowSensitiveReductionPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FlowUtil.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/State.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/Witness.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/CallsiteHolderExplorable.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningData.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/SinglePassNodeIterator.java ! graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathSubstitutions.java ! graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/JStrictMath.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/DeoptimizeOnExceptionTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/EdgesTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/UnsafeSubstitutionsTest.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsUtil.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java ! graal/com.oracle.graal.sparc/src/com/oracle/graal/sparc/SPARC.java ! graal/com.oracle.graal.sparc/src/com/oracle/graal/sparc/SPARCScratchRegister.java ! graal/com.oracle.graal.test/src/com/oracle/graal/test/GraalJUnitCore.java ! graal/com.oracle.graal.test/src/com/oracle/graal/test/GraalJUnitRunListener.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/TruffleStampTest.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/CompilationPolicy.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/DefaultTruffleSplittingStrategyNew.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/DefaultTruffleStamp.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/ReadOnlyFrame.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleStamp.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/ForceMaterializeNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java ! graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/ContainsTest.java ! graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/FallbackTest.java ! graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/InsertBeforeTest.java ! graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/PolymorphicTest.java ! graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/SpecializationFallthroughTest.java ! graal/com.oracle.truffle.api.dsl/src/com/oracle/truffle/api/dsl/internal/DSLShare.java ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/InterfaceChildFieldTest.java ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/TruffleRuntimeTest.java + graal/com.oracle.truffle.api/.checkstyle_checks.xml - graal/com.oracle.truffle.api/.checkstyle_checks.xml.disabled ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/ExactMath.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/ExecutionContext.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultLoopNode.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/SourceCallback.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/InstrumentationNode.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/LineLocationToProbeCollectionMap.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/LineLocationToSourceSectionCollectionMap.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/ProbeManager.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/source/LineLocation.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/source/Source.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/JSONHelper.java ! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/CodeWriter.java ! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/generator/NodeCodeGenerator.java ! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/GeneratedPackageElement.java ! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/GeneratedTypeElement.java ! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/GeneratedTypeMirror.java ! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/transform/AbstractCodeWriter.java ! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/GuardExpression.java ! graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/MethodSpec.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/SLAssertionError.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/SLRootNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/SLStatementNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLInstrumenter.java ! mx/mx_graal.py ! mx/suite.py ! mxtool/mx.py Changeset: 53afdc71b311 Author: Chris Seaton Date: 2014-10-24 22:50 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/53afdc71b311 Truffle: added PrimitiveValueProfile. ! CHANGELOG.md + graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/utilities/PrimitiveValueProfileTest.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/PrimitiveValueProfile.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/ValueProfile.java Changeset: afbb8100ac92 Author: Chris Seaton Date: 2014-10-24 22:51 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/afbb8100ac92 Truffle: CallTarget to RootCallTaget in OptimizationFailedException. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/OptimizationFailedException.java Changeset: 44dab78fe6bb Author: Chris Seaton Date: 2014-10-24 22:53 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/44dab78fe6bb Truffle: do not throw permament compiler exceptions into guest languages. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java From doug.simon at oracle.com Sun Oct 26 02:00:05 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Sun, 26 Oct 2014 02:00:05 +0000 Subject: hg: graal/graal: 2 new changesets Message-ID: <201410260200.s9Q206IE008052@aojmv0008> Changeset: 2bf5ea10eea7 Author: Doug Simon Date: 2014-10-25 13:36 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2bf5ea10eea7 sharpened return types for HotSpot specific Graal API implementations ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotResolvedJavaFieldTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotResolvedObjectTypeTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompileTheWorld.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodData.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodHandleAccessProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedPrimitiveType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java Changeset: e93507e232c9 Author: Chris Seaton Date: 2014-10-25 13:24 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/e93507e232c9 Truffle: correct documentation of createPrimitiveProfile. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/ValueProfile.java From doug.simon at oracle.com Tue Oct 28 02:00:10 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Tue, 28 Oct 2014 02:00:10 +0000 Subject: hg: graal/graal: 7 new changesets Message-ID: <201410280200.s9S20B4l003851@aojmv0008> Changeset: be1316e633b5 Author: Andreas Woess Date: 2014-10-27 14:33 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/be1316e633b5 Truffle: share frame descriptor among cloned call targets ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RootNode.java Changeset: 933b3de3c5b0 Author: Benoit Daloze Date: 2014-10-27 16:13 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/933b3de3c5b0 Truffle: Fix a few stale references to SlowPath in method names and comments. ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/builtins/SLTestTruffleBoundary01Builtin.java Changeset: 9bb816169777 Author: Tom Rodriguez Date: 2014-10-27 13:37 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9bb816169777 Report code install timer in hosted mode ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/graal/graalCompiler.cpp ! src/share/vm/graal/graalCompiler.hpp Changeset: c59612b9d110 Author: Tom Rodriguez Date: 2014-10-24 12:45 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c59612b9d110 Use arrayOop subclasses in graalJavaAccess ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/graal/graalJavaAccess.cpp ! src/share/vm/graal/graalJavaAccess.hpp Changeset: 8c079b8d0446 Author: Tom Rodriguez Date: 2014-10-24 12:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8c079b8d0446 Reduce allocation during scope recording ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalCodeInstaller.hpp Changeset: 26d381457145 Author: Tom Rodriguez Date: 2014-10-24 13:01 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/26d381457145 More efficient use of BitSet during install ! src/share/vm/graal/graalCodeInstaller.cpp Changeset: cf09e921458f Author: Tom Rodriguez Date: 2014-10-27 13:39 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/cf09e921458f Merge From java at stefan-marr.de Tue Oct 28 07:51:29 2014 From: java at stefan-marr.de (Stefan Marr) Date: Tue, 28 Oct 2014 08:51:29 +0100 Subject: Truffle: share frame descriptor among cloned call targets In-Reply-To: <201410280200.s9S20B4l003851@aojmv0008> References: <201410280200.s9S20B4l003851@aojmv0008> Message-ID: Hi Andreas: Could you elaborate a little on this change? > On 28 Oct 2014, at 03:00, doug.simon at oracle.com wrote: > > Changeset: be1316e633b5 > Author: Andreas Woess > Date: 2014-10-27 14:33 +0100 > URL: http://hg.openjdk.java.net/graal/graal/rev/be1316e633b5 > > Truffle: share frame descriptor among cloned call targets > > ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RootNode.java I thought the idea was that the cloned AST trees can specialize themselves completely independently. Also with regard to the types in the frames. So, in TruffleSOM I am also making sure to clone the frame slots properly and clone all lexically embedded methods to have a proper match of descriptors and slot objects. Is all this not necessary anymore? Best regards Stefan -- Stefan Marr INRIA Lille - Nord Europe http://stefan-marr.de/research/ From doug.simon at oracle.com Wed Oct 29 02:00:07 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Wed, 29 Oct 2014 02:00:07 +0000 Subject: hg: graal/graal: 5 new changesets Message-ID: <201410290200.s9T208Z5011559@aojmv0008> Changeset: c2270ad35f57 Author: Roland Schatz Date: 2014-10-27 14:07 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/c2270ad35f57 Better construction of data section and data patches. ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeCacheProvider.java ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java + graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/DataSection.java + graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/VMConstant.java ! graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/SimpleAssemblerTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCompare.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotNodeLIRBuilder.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotCryptoSubstitutionTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCompiledCode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCompiledNmethod.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCompiledRuntimeStub.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/data/DataSection.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/data/DataSectionReference.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/data/MetaspaceData.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/data/OopData.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/data/PatchedData.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaspaceConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java ! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/CompilationResultBuilder.java ! src/cpu/sparc/vm/graalCodeInstaller_sparc.cpp ! src/cpu/x86/vm/graalCodeInstaller_x86.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalCodeInstaller.hpp ! src/share/vm/graal/graalJavaAccess.hpp Changeset: 89f97291c3a5 Author: Roland Schatz Date: 2014-10-27 14:24 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/89f97291c3a5 Hotspot: Support narrow oop relocations in constants section. ! src/share/vm/code/relocInfo.cpp ! src/share/vm/code/relocInfo.hpp ! src/share/vm/graal/graalCodeInstaller.cpp Changeset: b9f31ed0643b Author: Roland Schatz Date: 2014-10-28 11:15 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/b9f31ed0643b Unit tests for data patches. + graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/DataPatchInConstantsTest.java + graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/DataPatchTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java Changeset: 37be28df9dd7 Author: Christian Wirth Date: 2014-10-28 13:39 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/37be28df9dd7 fix Windows build ! src/share/vm/graal/graalCodeInstaller.cpp Changeset: 507093f8df35 Author: Christian Wirth Date: 2014-10-28 17:37 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/507093f8df35 add unittest for Truffle Assumptions cutting off branches. GRAAL-882 ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/AssumptionPartialEvaluationTest.java ! graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/PartialEvaluationTest.java + graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/nodes/AssumptionCutsBranchTestNode.java From andreas.woess at jku.at Wed Oct 29 16:13:13 2014 From: andreas.woess at jku.at (Andreas Woess) Date: Wed, 29 Oct 2014 17:13:13 +0100 Subject: Truffle: share frame descriptor among cloned call targets In-Reply-To: References: <201410280200.s9S20B4l003851@aojmv0008> Message-ID: <54511219.4020700@jku.at> Short answer: because it could break code in a few cases. A shallowCopy() isn't really that useful anyway, since it also shares existing FrameSlot instances and thus also the FrameSlotKinds. You can still do a full copy by overriding the copy() method. We don't do this because it requires any nodes referencing FrameSlots to be updated which is hard to do reliably in the framework. I've recently experimented with making this unnecessary, but I can't say yet whether this is going to happen. - andreas On 28/10/14 08:51, Stefan Marr wrote: > Hi Andreas: > > Could you elaborate a little on this change? > >> On 28 Oct 2014, at 03:00, doug.simon at oracle.com wrote: >> >> Changeset: be1316e633b5 >> Author: Andreas Woess >> Date: 2014-10-27 14:33 +0100 >> URL: http://hg.openjdk.java.net/graal/graal/rev/be1316e633b5 >> >> Truffle: share frame descriptor among cloned call targets >> >> ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RootNode.java > I thought the idea was that the cloned AST trees can specialize themselves completely independently. Also with regard to the types in the frames. So, in TruffleSOM I am also making sure to clone the frame slots properly and clone all lexically embedded methods to have a proper match of descriptors and slot objects. > > Is all this not necessary anymore? > > Best regards > Stefan > From doug.simon at oracle.com Thu Oct 30 02:00:05 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Thu, 30 Oct 2014 02:00:05 +0000 Subject: hg: graal/graal: Don't run AMD64 specific unit test on SPARC. Message-ID: <201410300200.s9U206ZD010971@aojmv0008> Changeset: d28acaa63680 Author: Roland Schatz Date: 2014-10-29 13:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d28acaa63680 Don't run AMD64 specific unit test on SPARC. ! graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/DataPatchInConstantsTest.java From doug.simon at oracle.com Fri Oct 31 02:00:09 2014 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Fri, 31 Oct 2014 02:00:09 +0000 Subject: hg: graal/graal: 36 new changesets Message-ID: <201410310200.s9V20Aaj011864@aojmv0008> Changeset: e8c54fd622a4 Author: Josef Eisl Date: 2014-10-28 13:43 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/e8c54fd622a4 Add ResolvedJavaType.getImplementor(). ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedPrimitiveType.java Changeset: d3dfd1f9545f Author: Josef Eisl Date: 2014-10-28 20:38 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d3dfd1f9545f Add TestResolvedJavaType.getImplementorTest(). ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaType.java Changeset: 49898cb251d8 Author: Josef Eisl Date: 2014-10-29 16:20 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/49898cb251d8 Make MethodCallTargetNode Simplifiable (instead of Canonicalizable). ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Changeset: a88d819ba6a1 Author: Roland Schatz Date: 2014-10-29 15:23 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/a88d819ba6a1 Print information about failed assumptions when running unittests in --verbose mode. ! graal/com.oracle.graal.test/src/com/oracle/graal/test/AnsiTerminalDecorator.java ! graal/com.oracle.graal.test/src/com/oracle/graal/test/GraalVerboseTextListener.java Changeset: ef357effbda7 Author: Roland Schatz Date: 2014-10-30 11:18 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/ef357effbda7 Backout of changeset 9a804ec7f707 (converted Constant and Value to be interfaces). ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/VirtualObject.java - graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/AbstractConstant.java - graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/AbstractValue.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/AllocatableValue.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/NullConstant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/PrimitiveConstant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/VMConstant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Value.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/ComplexMatchValue.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCompiledRuntimeStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCompressedNullConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMonitorValue.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java ! graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest2.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest3.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/CompositeValueReplacementTest4.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest1.java ! graal/com.oracle.graal.lir.test/src/com/oracle/graal/lir/test/ValuePositionTest2.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/CompositeValue.java ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalJavaAccess.hpp Changeset: 9619ba4daf4c Author: Roland Schatz Date: 2014-10-30 12:21 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/9619ba4daf4c Rename Constant to JavaConstant. ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeCacheProvider.java ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/SpeculationLog.java ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/ValueUtil.java ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/ConstantTest.java ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestConstantReflectionProvider.java ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestMetaAccessProvider.java ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaField.java ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaType.java ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TypeUniverse.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantReflectionProvider.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaConstant.java < graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Kind.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaAccessProvider.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaUtil.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/NullConstant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/PlatformKind.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/PrimitiveConstant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaField.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaMethod.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java ! graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MethodHandleAccessProvider.java ! graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/SnippetReflectionProvider.java ! graal/com.oracle.graal.asm.amd64.test/src/com/oracle/graal/asm/amd64/test/SimpleAssemblerTest.java ! graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/HSAILAssembler.java ! graal/com.oracle.graal.asm.ptx/src/com/oracle/graal/asm/ptx/PTXAssembler.java ! graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java ! graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64NodeLIRBuilder.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/calc/Condition.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractObjectStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/FloatStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IllegalStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ObjectStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/Stamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/StampFactory.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/VoidStamp.java ! graal/com.oracle.graal.compiler.hsail/src/com/oracle/graal/compiler/hsail/HSAILLIRGenerator.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/BoxingEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/CompareCanonicalizerTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ConditionTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FlowSensitiveReductionTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EATestBase.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/UnsafeEATest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/Interval.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/BytecodeLIRBuilder.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/NodeLIRBuilder.java ! graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/DataPatchInConstantsTest.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBytecodeLIRBuilder.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCompare.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotSafepointOp.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotAssembler.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotNodeLIRBuilder.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotSafepointOp.java ! graal/com.oracle.graal.hotspot.server/src/com/oracle/graal/hotspot/server/ReplacingStreams.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/AheadOfTimeCompilationTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/WriteBarrierVerificationTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCompiledRuntimeStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/debug/BenchmarkCounters.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/DefaultHotSpotLoweringProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCompressedNullConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaspaceConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodHandleAccessProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedPrimitiveType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSnippetReflectionProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSpeculationLog.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nfi/NativeCallStubGraphBuilder.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nfi/RawNativeCallNodeFactory.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/AheadOfTimeVerificationPhase.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/LoadJavaMirrorWithKlassPhase.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectGetClassNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java ! graal/com.oracle.graal.java.decompiler/src/com/oracle/graal/java/decompiler/lines/DecompilerSyntaxLine.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/AbstractBytecodeParser.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeDisassembler.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/JTTTest.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Compare.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ControlFlow.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64ZapRegistersOp.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.lir.ptx/src/com/oracle/graal/lir/ptx/PTXArithmetic.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXCompare.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXControlFlow.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXMemOp.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXMove.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 ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRFrameState.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRIntrospection.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/SwitchStrategy.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/CompilationResultBuilder.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/ConstantLoadOptimization.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/constopt/DefUseTree.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGeneratorTool.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/BasicInductionVariable.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/CountedLoopInfo.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/DerivedOffsetInductionVariable.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/DerivedScaledInductionVariable.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/InductionVariables.java ! graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/IntegerStampTest.java ! graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/NegateNodeCanonicalizationTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerBelowNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerRemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedDivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/VirtualizerTool.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/UseTrappingNullChecksPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/elem/InlineableGraph.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/verify/VerifyUsageWithEquals.java ! graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/ArraysSubstitutionsTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/BitOpNodesTest.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/BoxingSnippets.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/InstanceOfSnippetsTemplates.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BasicArrayCopyNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DeferredPiNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/PureFunctionMacroNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluatorCanonicalizer.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleExpansionLogger.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/LoadIndexedFinalNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/ObjectLocationIdentity.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalJavaAccess.hpp Changeset: 8652481a1110 Author: Roland Schatz Date: 2014-10-30 13:03 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/8652481a1110 Introduce new Constant interface for use in high-level graph. ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeCacheProvider.java + graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantReflectionProvider.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaConstant.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/VMConstant.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/calc/Condition.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/AbstractObjectStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/ArithmeticOpTable.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/FloatStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IllegalStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/IntegerStamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/Stamp.java ! graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/type/VoidStamp.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FlowSenReduTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/CompiledMethodTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java ! graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/DataPatchInConstantsTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantReflectionProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/CompilationResultBuilder.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGeneratorTool.java ! graal/com.oracle.graal.nodes.test/src/com/oracle/graal/nodes/test/NegateNodeCanonicalizationTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/BinaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/DivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/MulNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnaryArithmeticNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/DefaultJavaLoweringProvider.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java Changeset: e75eb4720d4e Author: Roland Schatz Date: 2014-10-30 14:10 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/e75eb4720d4e Introduce new JavaValue interface for use in debug info. ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/BytecodeFrame.java ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/VirtualObject.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/AllocatableValue.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaConstant.java + graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaValue.java ! graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java ! graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotDebugInfoBuilder.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotLIRFrameState.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMonitorValue.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRFrameState.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CompilationPrinter.java ! src/share/vm/graal/graalJavaAccess.hpp Changeset: c8d83f6db9a2 Author: Josef Eisl Date: 2014-10-29 17:16 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/c8d83f6db9a2 Make TailDuplicationPhase.DummyAnchorNode an AnchoringNode. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Changeset: 839f97696479 Author: Josef Eisl Date: 2014-10-29 18:54 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/839f97696479 Rename ResolvedJavaMethod.resolvedMethod() to resolveConcreteMethod() the reflect its actual behavior. + graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/ResolvedJavaTypeResolveConcreteMethodTest.java - graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/ResolvedJavaTypeResolveMethodTest.java ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaType.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedPrimitiveType.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/FlowSensitiveReduction.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/MultiTypeGuardInlineInfo.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningData.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeVerificationPhase.java Changeset: 660875e586f0 Author: Josef Eisl Date: 2014-10-29 19:07 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/660875e586f0 Add ResolvedJavaType.resolveMethod() (get the like-time resolved method). + graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/ResolvedJavaTypeResolveMethodTest.java ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaType.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedPrimitiveType.java Changeset: 0a17944b7baf Author: Josef Eisl Date: 2014-10-30 16:43 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/0a17944b7baf Throw an exception if ResolvedJavaType.getImplementor() is called with a non-interface type. ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaType.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedPrimitiveType.java Changeset: b7226cb963c3 Author: Josef Eisl Date: 2014-10-30 16:52 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/b7226cb963c3 Rename ResolvedJavaType.getImplementor() to getSingleImplementor(). ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaType.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedPrimitiveType.java Changeset: 62d3440228b8 Author: Josef Eisl Date: 2014-10-30 17:52 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/62d3440228b8 Improve javadoc for ResolvedJavaType.getSingleImplementor() and CompilerToVM.getKlassImplementor(). ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java Changeset: ff1f1481b367 Author: Roland Schatz Date: 2014-10-30 18:14 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/ff1f1481b367 Fix bug in code installer. ! src/share/vm/graal/graalCodeInstaller.cpp Changeset: 850b874592fa Author: Christian Humer Date: 2014-10-27 13:42 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/850b874592fa Truffle: factor out assumption invalidate into a truffle boundary. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedAssumption.java Changeset: d7e40b20b030 Author: Christian Humer Date: 2014-10-27 13:42 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d7e40b20b030 Truffle: refactor notifications in OptimizedCallTarget. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Changeset: c5c80abc3fc6 Author: Christian Humer Date: 2014-10-27 13:42 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/c5c80abc3fc6 Truffle: add support for a CompilationListener in GraalTruffleRuntime. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleCompilationListener.java ! 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/TruffleCompilerImpl.java Changeset: 62de94d5cf73 Author: Christian Humer Date: 2014-10-27 15:18 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/62de94d5cf73 Truffle: refactor implementation of TraceTruffleCompilation, TraceTruffleCompilationDetails into separate classes. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java ! 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/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/AbstractDebugCompilationListener.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationFailureListener.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationListener.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationPolymorphismListener.java Changeset: ae3b7695f0fb Author: Christian Humer Date: 2014-10-27 15:18 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/ae3b7695f0fb Truffle: refactor TruffleCallTargetProfiling into a separate class. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/PrintCallTargetProfiling.java Changeset: b3f6b210f723 Author: Christian Humer Date: 2014-10-27 15:30 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/b3f6b210f723 Truffle: refactor TraceTruffleInlining into a separte class. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceInliningListener.java Changeset: b1607c3ebe4f Author: Christian Humer Date: 2014-10-27 15:40 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/b1607c3ebe4f Truffle: refactor TraceTruffleCompilationCallTree into a separate class. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationCallTreeListener.java Changeset: a1873eefea65 Author: Christian Humer Date: 2014-10-27 17:07 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/a1873eefea65 Truffle: refactor TraceTrufflePerformanceWarnings into separate class. ! 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/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/AbstractDebugCompilationListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationListener.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TracePerformanceWarningsListener.java Changeset: 7f63e7683ee7 Author: Christian Humer Date: 2014-10-27 17:34 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/7f63e7683ee7 Truffle: refactor TraceTruffleCompilationAST into a separate class. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallUtils.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationASTListener.java Changeset: 35639ec046d7 Author: Christian Humer Date: 2014-10-27 17:37 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/35639ec046d7 Truffle: extract methods from OptimizedCallUtils and remove it. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/DefaultTruffleSplittingStrategy.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/DefaultTruffleSplittingStrategyNew.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java - graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallUtils.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/AbstractDebugCompilationListener.java Changeset: 881aa0ed3904 Author: Christian Humer Date: 2014-10-27 18:03 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/881aa0ed3904 Truffle: refactor TraceTruffleSplitting into separate class. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/DefaultTruffleSplittingStrategyNew.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleCompilationListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java - graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTargetLog.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedDirectCallNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/AbstractDebugCompilationListener.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceSplittingListener.java Changeset: abe9758da9d9 Author: Christian Humer Date: 2014-10-27 18:23 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/abe9758da9d9 Truffle: add headers for new compilation listener files. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/DefaultTruffleSplittingStrategy.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/DefaultTruffleSplittingStrategyNew.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleCompilationListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedDirectCallNode.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCacheImpl.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/AbstractDebugCompilationListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/PrintCallTargetProfiling.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationASTListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationCallTreeListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationFailureListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationPolymorphismListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceInliningListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TracePerformanceWarningsListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceSplittingListener.java Changeset: dc6b023513b8 Author: Christian Humer Date: 2014-10-27 19:25 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/dc6b023513b8 Truffle: added compilation graal tier finished event to compilation listener. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleCompilationListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/AbstractDebugCompilationListener.java Changeset: 84e270aa1f47 Author: Christian Humer Date: 2014-10-28 14:29 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/84e270aa1f47 Truffle: fixed invalidations were printed multiple times. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Changeset: 16757e473b36 Author: Christian Humer Date: 2014-10-28 14:29 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/16757e473b36 Truffle: fixed node visitor was traversing the full call tree. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java Changeset: 546cfe7a19b6 Author: Christian Humer Date: 2014-10-30 18:12 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/546cfe7a19b6 Truffle: add getQueuedCallTargets to GraalTruffleRuntime. ! graal/com.oracle.graal.truffle.hotspot/src/com/oracle/graal/truffle/hotspot/HotSpotTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java Changeset: c489edfac1c7 Author: Christian Humer Date: 2014-10-30 18:13 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/c489edfac1c7 Truffle: implemented new flag -G:+TruffleCompilationStatistics ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/GraalTruffleRuntime.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java + graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/CompilationStatisticsListener.java Changeset: ed32f33e7cb6 Author: Christian Humer Date: 2014-10-30 18:19 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/ed32f33e7cb6 Truffle: checkstyle fixes. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/AbstractDebugCompilationListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/CompilationStatisticsListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/PrintCallTargetProfiling.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationASTListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationCallTreeListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationFailureListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationPolymorphismListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceInliningListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TracePerformanceWarningsListener.java ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceSplittingListener.java Changeset: 3f4bcb84d798 Author: Christian Humer Date: 2014-10-30 22:56 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/3f4bcb84d798 Truffle: fixed getDataPatches disappeared. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/CompilationStatisticsListener.java Changeset: 0a72a0f9ef2e Author: Christian Humer Date: 2014-10-30 23:56 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/0a72a0f9ef2e Turffle: checkstyle fix. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/TraceCompilationFailureListener.java Changeset: 0b5aff6214b9 Author: Christian Humer Date: 2014-10-31 00:27 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/0b5aff6214b9 Truffle: checkstyle fixes. ! graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/CompilationStatisticsListener.java From Shreyas.Ramalingam at amd.com Thu Oct 23 20:34:54 2014 From: Shreyas.Ramalingam at amd.com (Ramalingam, Shreyas) Date: Thu, 23 Oct 2014 20:34:54 +0000 Subject: Webrev for generating hsail1.0 p Message-ID: Hi All, Webrev http://cr.openjdk.java.net/~tdeneau/graal-webrevs/webrev-hsail1.0p upgrades graal to generate hsail1.0p from 0.95. This is for the HSAIL backend. Can you please review ? Thanks, Shreyas