# HG changeset patch # User Christian Humer # Date 1395344411 -3600 # Node ID ab8a5b82fe7335e95905a0ed5922b020db143af7 # Parent 2a4b6003ef03d3d0d202d5975730b67b2fa42117# Parent 0111aa258537484e8291ca86f74bdaaa4e5f205c Merge. diff -r 2a4b6003ef03 -r ab8a5b82fe73 CHANGELOG.md --- a/CHANGELOG.md Thu Mar 20 20:39:46 2014 +0100 +++ b/CHANGELOG.md Thu Mar 20 20:40:11 2014 +0100 @@ -2,26 +2,28 @@ ## `tip` ### Graal -* New methods for querying memory usage of individual objects and object graphs in Graal API (MetaAccessProvider#getMemorySize, MetaUtil#getMemorySizeRecursive). -* New (tested) invariant that equality comparisons for JavaType/JavaMethod/JavaField values use .equals() instead of '=='. +* Use HotSpot stubs for certain array copy operations +* New methods for querying memory usage of individual objects and object graphs in Graal API (`MetaAccessProvider#getMemorySize`, `MetaUtil#getMemorySizeRecursive`). +* Added tiered configuration (C1 + Graal). +* Initial security model for Graal [GRAAL-22](https://bugs.openjdk.java.net/browse/GRAAL-22). +* New (tested) invariant that equality comparisons for `JavaType`/`JavaMethod`/`JavaField` values use `.equals()` instead of `==`. * Made graph caching compilation-local. ### Truffle -* New API TruffleRuntime#createCallNode to create call nodes and to give the runtime system control over its implementation. -* New API RootNode#getCachedCallNodes to get a weak set of CallNodes that have registered to call the RootNode. -* New API to split the AST of a call-site context sensitively. CallNode#split, CallNode#isSplittable, CallNode#getSplitCallTarget, CallNode#getCurrentCallTarget, RootNode#isSplittable, RootNode#split. -* New API to inline a call-site into the call-graph. CallNode#isInlinable, CallNode#inline, CallNode#isInlined. -* New API for the runtime environment to register CallTargets as caller to the RootNode. CallNode#registerCallTarget. -* Improved API for counting nodes in Truffle ASTS. NodeUtil#countNodes can be used with a NodeFilter filter Nodes. -* New API to declare the cost of a Node for use in runtime environment specific heuristics. See NodeCost, Node#getCost() and NodeInfo#cost(). -* Removed old API for NodeInfo#Kind and NodeInfo#kind(). As a replacement the new Node cost API can be used. -* Changed Node#replace reason parameter type to CharSequence (to allow for lazy string building) -* Deprecated Node#adoptChild and Node#adoptChild, no longer needed in node constructor -* New Node#insert method for inserting new nodes into the tree (formerly adoptChild) -* New Node#adoptChildren() helper method that adopts all (direct and indirect) children of a node -* New API Node#atomic for atomic tree operations -* Made Node#replace thread-safe - +* New API `TruffleRuntime#createCallNode` to create call nodes and to give the runtime system control over its implementation. +* New API `RootNode#getCachedCallNodes` to get a weak set of `CallNode`s that have registered to call the `RootNode`. +* New API to split the AST of a call-site context sensitively. `CallNode#split`, `CallNode#isSplittable`, `CallNode#getSplitCallTarget`, `CallNode#getCurrentCallTarget`, `RootNode#isSplittable`, `RootNode#split`. +* New API to inline a call-site into the call-graph. `CallNode#isInlinable`, `CallNode#inline`, `CallNode#isInlined`. +* New API for the runtime environment to register `CallTarget`s as caller to the `RootNode`. `CallNode#registerCallTarget`. +* Improved API for counting nodes in Truffle ASTs. `NodeUtil#countNodes` can be used with a `NodeFilter`. +* New API to declare the cost of a Node for use in runtime environment specific heuristics. See `NodeCost`, `Node#getCost` and `NodeInfo#cost`. +* Removed old API for `NodeInfo#Kind` and `NodeInfo#kind`. As a replacement the new `NodeCost` API can be used. +* Changed `Node#replace` reason parameter type to `CharSequence` (to enable lazy string building) +* Deprecated `Node#adoptChild` and `Node#adoptChild`, no longer needed in node constructor +* New `Node#insert` method for inserting new nodes into the tree (formerly `adoptChild`) +* New `Node#adoptChildren` helper method that adopts all (direct and indirect) children of a node +* New API `Node#atomic` for atomic tree operations +* Made `Node#replace` thread-safe ## Version 0.1 diff -r 2a4b6003ef03 -r ab8a5b82fe73 graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/ObjectPTXTest.java --- a/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/ObjectPTXTest.java Thu Mar 20 20:39:46 2014 +0100 +++ b/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/ObjectPTXTest.java Thu Mar 20 20:40:11 2014 +0100 @@ -66,6 +66,7 @@ return a.i + i; } + @Ignore("com.oracle.graal.graph.GraalInternalError: should not reach here: unhandled register type v3|z") @Test public void test2() { A a = new A(); @@ -79,6 +80,7 @@ return a.z; } + @Ignore("[CUDA] Check for malformed PTX kernel or incorrect PTX compilation options") @Test public void test3() { for (byte b : new byte[]{Byte.MIN_VALUE, -10, 0, 1, 2, 10, Byte.MAX_VALUE}) { @@ -92,6 +94,7 @@ return a.b + b; } + @Ignore("com.oracle.graal.graph.GraalInternalError: should not reach here: unhandled register type v5|s") @Test public void test4() { for (short s : new short[]{Short.MIN_VALUE, -10, 0, 1, 2, 10, Short.MAX_VALUE}) {