Mercurial > hg > graal-compiler
comparison CHANGELOG.md @ 14640:0111aa258537
changelog: use code syntax, add some points to graal section
author | Bernhard Urban <bernhard.urban@jku.at> |
---|---|
date | Thu, 20 Mar 2014 19:42:30 +0100 |
parents | 51d774eb5e14 |
children | 8f483e200405 |
comparison
equal
deleted
inserted
replaced
14639:0f82263406e0 | 14640:0111aa258537 |
---|---|
1 # GraalVM Changelog | 1 # GraalVM Changelog |
2 | 2 |
3 ## `tip` | 3 ## `tip` |
4 ### Graal | 4 ### Graal |
5 * New methods for querying memory usage of individual objects and object graphs in Graal API (MetaAccessProvider#getMemorySize, MetaUtil#getMemorySizeRecursive). | 5 * Use HotSpot stubs for certain array copy operations |
6 * New (tested) invariant that equality comparisons for JavaType/JavaMethod/JavaField values use .equals() instead of '=='. | 6 * New methods for querying memory usage of individual objects and object graphs in Graal API (`MetaAccessProvider#getMemorySize`, `MetaUtil#getMemorySizeRecursive`). |
7 * Added tiered configuration (C1 + Graal). | |
8 * Initial security model for Graal [GRAAL-22](https://bugs.openjdk.java.net/browse/GRAAL-22). | |
9 * New (tested) invariant that equality comparisons for `JavaType`/`JavaMethod`/`JavaField` values use `.equals()` instead of `==`. | |
7 * Made graph caching compilation-local. | 10 * Made graph caching compilation-local. |
8 | 11 |
9 ### Truffle | 12 ### Truffle |
10 * New API TruffleRuntime#createCallNode to create call nodes and to give the runtime system control over its implementation. | 13 * New API `TruffleRuntime#createCallNode` to create call nodes and to give the runtime system control over its implementation. |
11 * New API RootNode#getCachedCallNodes to get a weak set of CallNodes that have registered to call the RootNode. | 14 * New API `RootNode#getCachedCallNodes` to get a weak set of `CallNode`s that have registered to call the `RootNode`. |
12 * New API to split the AST of a call-site context sensitively. CallNode#split, CallNode#isSplittable, CallNode#getSplitCallTarget, CallNode#getCurrentCallTarget, RootNode#isSplittable, RootNode#split. | 15 * New API to split the AST of a call-site context sensitively. `CallNode#split`, `CallNode#isSplittable`, `CallNode#getSplitCallTarget`, `CallNode#getCurrentCallTarget`, `RootNode#isSplittable`, `RootNode#split`. |
13 * New API to inline a call-site into the call-graph. CallNode#isInlinable, CallNode#inline, CallNode#isInlined. | 16 * New API to inline a call-site into the call-graph. `CallNode#isInlinable`, `CallNode#inline`, `CallNode#isInlined`. |
14 * New API for the runtime environment to register CallTargets as caller to the RootNode. CallNode#registerCallTarget. | 17 * New API for the runtime environment to register `CallTarget`s as caller to the `RootNode`. `CallNode#registerCallTarget`. |
15 * Improved API for counting nodes in Truffle ASTS. NodeUtil#countNodes can be used with a NodeFilter filter Nodes. | 18 * Improved API for counting nodes in Truffle ASTs. `NodeUtil#countNodes` can be used with a `NodeFilter`. |
16 * New API to declare the cost of a Node for use in runtime environment specific heuristics. See NodeCost, Node#getCost() and NodeInfo#cost(). | 19 * New API to declare the cost of a Node for use in runtime environment specific heuristics. See `NodeCost`, `Node#getCost` and `NodeInfo#cost`. |
17 * Removed old API for NodeInfo#Kind and NodeInfo#kind(). As a replacement the new Node cost API can be used. | 20 * Removed old API for `NodeInfo#Kind` and `NodeInfo#kind`. As a replacement the new `NodeCost` API can be used. |
18 * Changed Node#replace reason parameter type to CharSequence (to allow for lazy string building) | 21 * Changed `Node#replace` reason parameter type to `CharSequence` (to enable lazy string building) |
19 * Deprecated Node#adoptChild and Node#adoptChild, no longer needed in node constructor | 22 * Deprecated `Node#adoptChild` and `Node#adoptChild`, no longer needed in node constructor |
20 * New Node#insert method for inserting new nodes into the tree (formerly adoptChild) | 23 * New `Node#insert` method for inserting new nodes into the tree (formerly `adoptChild`) |
21 * New Node#adoptChildren() helper method that adopts all (direct and indirect) children of a node | 24 * New `Node#adoptChildren` helper method that adopts all (direct and indirect) children of a node |
22 * New API Node#atomic for atomic tree operations | 25 * New API `Node#atomic` for atomic tree operations |
23 * Made Node#replace thread-safe | 26 * Made `Node#replace` thread-safe |
24 | |
25 | 27 |
26 | 28 |
27 ## Version 0.1 | 29 ## Version 0.1 |
28 5-Feb-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/b124e22eb772) | 30 5-Feb-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/b124e22eb772) |
29 | 31 |