Mercurial > hg > truffle
comparison CHANGELOG.md @ 14850:fbae9be45c95
Merge.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Wed, 26 Mar 2014 20:44:11 +0100 |
parents | 7608c74e14b6 |
children | 45045ab19008 |
comparison
equal
deleted
inserted
replaced
14849:97a0878202c2 | 14850:fbae9be45c95 |
---|---|
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 * ... |
6 * New (tested) invariant that equality comparisons for JavaType/JavaMethod/JavaField values use .equals() instead of '=='. | 6 ### Truffle |
7 * ... | |
8 | |
9 ## Version 0.2 | |
10 25-Mar-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/graal-0.2) | |
11 | |
12 ### Graal | |
13 * Use HotSpot stubs for certain array copy operations. | |
14 * New methods for querying memory usage of individual objects and object graphs in Graal API (`MetaAccessProvider#getMemorySize`, `MetaUtil#getMemorySizeRecursive`). | |
15 * Added tiered configuration (C1 + Graal). | |
16 * Initial security model for Graal [GRAAL-22](https://bugs.openjdk.java.net/browse/GRAAL-22). | |
17 * New (tested) invariant that equality comparisons for `JavaType`/`JavaMethod`/`JavaField` values use `.equals()` instead of `==`. | |
7 * Made graph caching compilation-local. | 18 * Made graph caching compilation-local. |
19 * Added AllocSpy tool for analyzing allocation in Graal using the [Java Allocation Instrumenter](https://code.google.com/p/java-allocation-instrumenter/). | |
20 * Initial support for memory arithmetic operations on x86 | |
8 | 21 |
9 ### Truffle | 22 ### Truffle |
10 * New API TruffleRuntime#createCallNode to create call nodes and to give the runtime system control over its implementation. | 23 * 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. | 24 * 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. | 25 * 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. | 26 * 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. | 27 * 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. | 28 * 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(). | 29 * 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. | 30 * 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) | 31 * 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 | 32 * 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) | 33 * 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 | 34 * New `Node#adoptChildren` helper method that adopts all (direct and indirect) children of a node |
22 * New API Node#atomic for atomic tree operations | 35 * New API `Node#atomic` for atomic tree operations |
23 * Made Node#replace thread-safe | 36 * Made `Node#replace` thread-safe |
24 | |
25 | 37 |
26 | 38 |
27 ## Version 0.1 | 39 ## Version 0.1 |
28 5-Feb-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/b124e22eb772) | 40 5-Feb-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/graal-0.1) |
29 | 41 |
30 ### Graal | 42 ### Graal |
31 | 43 |
32 * Initial version of a dynamic Java compiler written in Java. | 44 * Initial version of a dynamic Java compiler written in Java. |
33 * Support for multiple co-existing GPU backends ([GRAAL-1](https://bugs.openjdk.java.net/browse/GRAAL-1)). | 45 * Support for multiple co-existing GPU backends ([GRAAL-1](https://bugs.openjdk.java.net/browse/GRAAL-1)). |