annotate CHANGELOG.md @ 16407:9575add7149c

Truffle: new option TraceTruffleCompilationCallTree which prints the inlined call tree just before compilation.
author Christian Humer <christian.humer@gmail.com>
date Fri, 04 Jul 2014 18:56:54 +0200
parents 4481cf549cfc
children 3f9ec3220077
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13920
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
1 # GraalVM Changelog
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
2
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
3 ## `tip`
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
4 ### Graal
15603
b7fb36e57da8 made Graal initialization be driven from Java to simplify sequencing and synchronization
Doug Simon <doug.simon@oracle.com>
parents: 15569
diff changeset
5 * Made initialization of Graal runtime lazy in hosted mode.
15662
50fbda571d99 mx: added jrelibrary dependency type
Doug Simon <doug.simon@oracle.com>
parents: 15604
diff changeset
6 * Added supported for new 'jrelibrary' dependency type in mx/projects.
50fbda571d99 mx: added jrelibrary dependency type
Doug Simon <doug.simon@oracle.com>
parents: 15604
diff changeset
7 * Java projects with compliance level higher than the JDKs specified by JAVA_HOME and EXTRA_JAVA_HOMES are ignored once mx/projects has been processed.
15784
fb530b9fa474 ResolvedJavaType.resolveMethod: fix javadoc, add assert in native code. update changelog
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 15662
diff changeset
8 * ResolvedJavaType.resolveMethod now takes a context type used to perform access checks. It now works correctly regarding default methods.
16399
4481cf549cfc removed (Java based) CompilationQueue
Doug Simon <doug.simon@oracle.com>
parents: 16085
diff changeset
9 * Removed Java based compilation queue (CompilationQueue.java).
4481cf549cfc removed (Java based) CompilationQueue
Doug Simon <doug.simon@oracle.com>
parents: 16085
diff changeset
10 * Enabled use of separate class loader (via -XX:+UseGraalClassLoader) for classes loaded from graal.jar to hide them from application classes.
15567
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
11
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
12 ### Truffle
16407
9575add7149c Truffle: new option TraceTruffleCompilationCallTree which prints the inlined call tree just before compilation.
Christian Humer <christian.humer@gmail.com>
parents: 16399
diff changeset
13 * New flag -G:+TraceTruffleCompilationCallTree to print the tree of inlined calls before compilation.
15600
2a5f05654bc6 changelog: note about truffle.jar separation
Bernhard Urban <bernhard.urban@jku.at>
parents: 15569
diff changeset
14 * `truffle.jar`: strip out build-time only dependency into a seperated JAR file (`truffle-dsl-processor.jar`)
16085
0cdce0e2d122 Truffle: Added -G:+TraceTruffleCompilationAST flag.
Christian Humer <christian.humer@gmail.com>
parents: 15784
diff changeset
15 * New flag -G:+TraceTruffleCompilationAST to print the AST before compilation.
15567
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
16 * ...
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
17
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
18 ## Version 0.3
15569
9535eccd2a11 changelog: graal-0.3
Bernhard Urban <bernhard.urban@jku.at>
parents: 15568
diff changeset
19 9-May-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/graal-0.3)
15567
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
20
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
21 ### Graal
14945
b14cb2d9253d Make compression and uncompression explicit in the high level graph.
Roland Schatz <roland.schatz@oracle.com>
parents: 14887
diff changeset
22 * Explicit support for oop compression/uncompression in high level graph.
14887
45045ab19008 Add LIRGenerator refactoring to CHANGELOG.
Josef Eisl <josef.eisl@jku.at>
parents: 14761
diff changeset
23 * LIRGenerator refactoring.
15010
f36e56e9dd9a add allowedUsageType to GuardProxy/GuardPhi, changelog, remove debug output
Lukas Stadler <lukas.stadler@oracle.com>
parents: 14945
diff changeset
24 * Explicit types for inputs (InputType enum).
15020
22390f39dfb1 moved some entries in CHANGELOG.md from 0.2 to tip
Doug Simon <doug.simon@oracle.com>
parents: 15013
diff changeset
25 * Added graal.version system property to Graal enabled VM builds.
22390f39dfb1 moved some entries in CHANGELOG.md from 0.2 to tip
Doug Simon <doug.simon@oracle.com>
parents: 15013
diff changeset
26 * Transitioned to JDK 8 as minimum JDK level for Graal.
15175
78f1a1a70628 Adapt CHANGELOG to reflect new signature of CallTarget#call.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15093
diff changeset
27 * Added support for stack introspection.
15370
319deee16746 add support for matching multiple HIR nodes when lowering to LIR
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 15175
diff changeset
28 * New MatchRule facility to convert multiple HIR nodes into specialized LIR
14887
45045ab19008 Add LIRGenerator refactoring to CHANGELOG.
Josef Eisl <josef.eisl@jku.at>
parents: 14761
diff changeset
29
14748
483d05bf77a7 changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents: 14707
diff changeset
30 ### Truffle
15474
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
31 * The method `CallTarget#call` takes now a variable number of Object arguments.
15566
f2988cdf41ee Small addition to changelog.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15474
diff changeset
32 * Support for collecting stack traces and for accessing the current frame in slow paths (see `TruffleRuntime#getStackTrace`).
15474
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
33 * Renamed `CallNode` to `DirectCallNode`.
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
34 * Renamed `TruffleRuntime#createCallNode` to `TruffleRuntime#createDirectCallNode`.
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
35 * Added `IndirectCallNode` for calls with a changing `CallTarget`.
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
36 * Added `TruffleRuntime#createIndirectCallNode` to create an `IndirectCallNode`.
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
37 * `DirectCallNode#inline` was renamed to `DirectCallNode#forceInlining()`.
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
38 * Removed deprecated `Node#adoptChild`.
14748
483d05bf77a7 changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents: 14707
diff changeset
39
483d05bf77a7 changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents: 14707
diff changeset
40 ## Version 0.2
14761
7608c74e14b6 changelog: repo links should point to tagname
Bernhard Urban <bernhard.urban@jku.at>
parents: 14748
diff changeset
41 25-Mar-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/graal-0.2)
14748
483d05bf77a7 changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents: 14707
diff changeset
42
483d05bf77a7 changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents: 14707
diff changeset
43 ### Graal
14647
8f483e200405 updated CHANGELOG.md
Doug Simon <doug.simon@oracle.com>
parents: 14640
diff changeset
44 * Use HotSpot stubs for certain array copy operations.
14640
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
45 * New methods for querying memory usage of individual objects and object graphs in Graal API (`MetaAccessProvider#getMemorySize`, `MetaUtil#getMemorySizeRecursive`).
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
46 * Added tiered configuration (C1 + Graal).
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
47 * Initial security model for Graal [GRAAL-22](https://bugs.openjdk.java.net/browse/GRAAL-22).
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
48 * New (tested) invariant that equality comparisons for `JavaType`/`JavaMethod`/`JavaField` values use `.equals()` instead of `==`.
14172
cd22c8dbda4f Made graph caching compilation local
Doug Simon <doug.simon@oracle.com>
parents: 13966
diff changeset
49 * Made graph caching compilation-local.
14647
8f483e200405 updated CHANGELOG.md
Doug Simon <doug.simon@oracle.com>
parents: 14640
diff changeset
50 * Added AllocSpy tool for analyzing allocation in Graal using the [Java Allocation Instrumenter](https://code.google.com/p/java-allocation-instrumenter/).
15013
deea05f9c316 updated CHANGELOG.md
Doug Simon <doug.simon@oracle.com>
parents: 15010
diff changeset
51 * Initial support for memory arithmetic operations on x86.
15020
22390f39dfb1 moved some entries in CHANGELOG.md from 0.2 to tip
Doug Simon <doug.simon@oracle.com>
parents: 15013
diff changeset
52 * Expanded Debug logging/dumping API to avoid allocation when this Debug facilities are not enabled.
13962
258a09b6449b Change AUTHORS, CHANGELOG, and README file from HTML to Markdown.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
53
13920
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
54 ### Truffle
14640
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
55 * New API `TruffleRuntime#createCallNode` to create call nodes and to give the runtime system control over its implementation.
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
56 * New API `RootNode#getCachedCallNodes` to get a weak set of `CallNode`s that have registered to call the `RootNode`.
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
57 * New API to split the AST of a call-site context sensitively. `CallNode#split`, `CallNode#isSplittable`, `CallNode#getSplitCallTarget`, `CallNode#getCurrentCallTarget`, `RootNode#isSplittable`, `RootNode#split`.
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
58 * New API to inline a call-site into the call-graph. `CallNode#isInlinable`, `CallNode#inline`, `CallNode#isInlined`.
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
59 * New API for the runtime environment to register `CallTarget`s as caller to the `RootNode`. `CallNode#registerCallTarget`.
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
60 * Improved API for counting nodes in Truffle ASTs. `NodeUtil#countNodes` can be used with a `NodeFilter`.
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
61 * New API to declare the cost of a Node for use in runtime environment specific heuristics. See `NodeCost`, `Node#getCost` and `NodeInfo#cost`.
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
62 * Removed old API for `NodeInfo#Kind` and `NodeInfo#kind`. As a replacement the new `NodeCost` API can be used.
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
63 * Changed `Node#replace` reason parameter type to `CharSequence` (to enable lazy string building)
15474
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
64 * Deprecated `Node#adoptChild` and `Node#adoptChildren`, no longer needed in node constructor
14640
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
65 * New `Node#insert` method for inserting new nodes into the tree (formerly `adoptChild`)
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
66 * New `Node#adoptChildren` helper method that adopts all (direct and indirect) children of a node
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
67 * New API `Node#atomic` for atomic tree operations
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
68 * Made `Node#replace` thread-safe
14568
2e90d9a9a677 Truffle: Added API changes to the changelog.
Christian Humer <christian.humer@gmail.com>
parents: 14172
diff changeset
69
13879
b124e22eb772 Initial changelog.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
70
13920
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
71 ## Version 0.1
14761
7608c74e14b6 changelog: repo links should point to tagname
Bernhard Urban <bernhard.urban@jku.at>
parents: 14748
diff changeset
72 5-Feb-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/graal-0.1)
13965
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 13962 13920
diff changeset
73
13920
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
74 ### Graal
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
75
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
76 * Initial version of a dynamic Java compiler written in Java.
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
77 * Support for multiple co-existing GPU backends ([GRAAL-1](https://bugs.openjdk.java.net/browse/GRAAL-1)).
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
78 * Fixed a compiler bug when running RuneScape ([GRAAL-7](https://bugs.openjdk.java.net/browse/GRAAL-7)).
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
79 * Bug fixes ([GRAAL-4](https://bugs.openjdk.java.net/browse/GRAAL-4), [GRAAL-5](https://bugs.openjdk.java.net/browse/GRAAL-5)).
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
80
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
81 ### Truffle
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
82
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
83 * Initial version of a multi-language framework on top of Graal.
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
84 * Update of the [Truffle Inlining API](http://mail.openjdk.java.net/pipermail/graal-dev/2014-January/001516.html).