Mercurial > hg > truffle
annotate CHANGELOG.md @ 17097:fc94fd8a28dc
Disable graph caching until assumptions problem is fixed
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Wed, 10 Sep 2014 23:14:58 +0200 |
parents | 2476180699f6 |
children | ae5b66255083 |
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 |
16864
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
5 * ... |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
6 |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
7 ### Truffle |
16992
5a1d764f6afc
Truffle: added support for Runtime#getCallTargets()
Christian Humer <christian.humer@gmail.com>
parents:
16864
diff
changeset
|
8 * Added TruffleRuntime#getCallTargets() to get all call targets that were created and are still referenced. |
17058
97d0508b7cf1
Truffle: entries in change log.
Chris Seaton <chris.seaton@oracle.com>
parents:
16992
diff
changeset
|
9 * Added `NeverValidAssumption` to complement `AlwaysValidAssumption`. |
97d0508b7cf1
Truffle: entries in change log.
Chris Seaton <chris.seaton@oracle.com>
parents:
16992
diff
changeset
|
10 * Fixed a bug in `AssumedValue` that may not invalidate correctly. |
17080
2476180699f6
Truffle: change log entry for TruffleCompilationExceptionsAreThrown.
Chris Seaton <chris.seaton@oracle.com>
parents:
17058
diff
changeset
|
11 * New option, TruffleCompilationExceptionsAreThrown, that will throw a OptimizationFailedException for compiler errors. |
16864
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
12 |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
13 ## Version 0.4 |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
14 19-Aug-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/graal-0.4) |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
15 ### 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
|
16 * Made initialization of Graal runtime lazy in hosted mode. |
16864
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
17 * Added supported for new `jrelibrary` dependency type in `mx/projects`. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
18 * 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. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
19 * `ResolvedJavaType.resolveMethod` now takes a context type used to perform access checks. It now works correctly regarding default methods. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
20 * Removed Java based compilation queue (`CompilationQueue.java`). |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
21 * 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
|
22 |
10732e1421ee
changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
15566
diff
changeset
|
23 ### Truffle |
16529
f6ac86d3334e
Change API for stack walking to a visitor: TruffleRuntime#iterateFrames replaces TruffleRuntime#getStackTrace
Christian Wimmer <christian.wimmer@oracle.com>
parents:
16410
diff
changeset
|
24 * Change API for stack walking to a visitor: `TruffleRuntime#iterateFrames` replaces `TruffleRuntime#getStackTrace` |
16864
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
25 * 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
|
26 * `truffle.jar`: strip out build-time only dependency into a seperated JAR file (`truffle-dsl-processor.jar`) |
16864
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
27 * New flag `-G:+TraceTruffleCompilationAST` to print the AST before compilation. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
28 * New experimental `TypedObject` interface added. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
29 * Renamed flag `-G:+TruffleSplittingEnabled` to `-G:+TruffleSplitting` |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
30 * New flag `-G:+TruffleSplittingNew` to enable the experimental splitting mode based on function arguments. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
31 * New flag `-G:+TruffleSplittingTypedInstanceStamps` to enable splitting for `TypedObject` instances. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
32 * New flag `-G:+TruffleSplittingClassInstanceStamps` to enable splitting for Java object instances except `TypedObject`. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
33 * New flag `-G:TruffleSplittingStartCallCount=3` which sets the number of minimal calls until splitting is performed. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
34 * New flag `-G:-TruffleSplittingAggressive` if enabled splits every function call. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
35 * Added `isVisited` method for `BranchProfile`. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
36 * Added new `ConditionProfile`, `BinaryConditionProfile` and `CountingConditionProfile` utility classes to profile if conditions. |
15567
10732e1421ee
changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
15566
diff
changeset
|
37 |
10732e1421ee
changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
15566
diff
changeset
|
38 ## Version 0.3 |
15569
9535eccd2a11
changelog: graal-0.3
Bernhard Urban <bernhard.urban@jku.at>
parents:
15568
diff
changeset
|
39 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
|
40 |
10732e1421ee
changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
15566
diff
changeset
|
41 ### Graal |
14945
b14cb2d9253d
Make compression and uncompression explicit in the high level graph.
Roland Schatz <roland.schatz@oracle.com>
parents:
14887
diff
changeset
|
42 * 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
|
43 * LIRGenerator refactoring. |
15010
f36e56e9dd9a
add allowedUsageType to GuardProxy/GuardPhi, changelog, remove debug output
Lukas Stadler <lukas.stadler@oracle.com>
parents:
14945
diff
changeset
|
44 * 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
|
45 * 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
|
46 * 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
|
47 * 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
|
48 * 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
|
49 |
14748
483d05bf77a7
changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents:
14707
diff
changeset
|
50 ### Truffle |
15474
dd624471bd30
Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents:
15370
diff
changeset
|
51 * 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
|
52 * 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
|
53 * Renamed `CallNode` to `DirectCallNode`. |
dd624471bd30
Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents:
15370
diff
changeset
|
54 * Renamed `TruffleRuntime#createCallNode` to `TruffleRuntime#createDirectCallNode`. |
dd624471bd30
Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents:
15370
diff
changeset
|
55 * 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
|
56 * 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
|
57 * `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
|
58 * Removed deprecated `Node#adoptChild`. |
14748
483d05bf77a7
changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents:
14707
diff
changeset
|
59 |
483d05bf77a7
changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents:
14707
diff
changeset
|
60 ## Version 0.2 |
14761
7608c74e14b6
changelog: repo links should point to tagname
Bernhard Urban <bernhard.urban@jku.at>
parents:
14748
diff
changeset
|
61 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
|
62 |
483d05bf77a7
changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents:
14707
diff
changeset
|
63 ### Graal |
14647 | 64 * 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
|
65 * 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
|
66 * 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
|
67 * 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
|
68 * 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
|
69 * Made graph caching compilation-local. |
14647 | 70 * Added AllocSpy tool for analyzing allocation in Graal using the [Java Allocation Instrumenter](https://code.google.com/p/java-allocation-instrumenter/). |
15013 | 71 * 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
|
72 * 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
|
73 |
13920
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
74 ### Truffle |
14640
0111aa258537
changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents:
14630
diff
changeset
|
75 * 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
|
76 * 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
|
77 * 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
|
78 * 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
|
79 * 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
|
80 * 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
|
81 * 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
|
82 * 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
|
83 * 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
|
84 * 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
|
85 * 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
|
86 * 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
|
87 * 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
|
88 * Made `Node#replace` thread-safe |
14568
2e90d9a9a677
Truffle: Added API changes to the changelog.
Christian Humer <christian.humer@gmail.com>
parents:
14172
diff
changeset
|
89 |
13879
b124e22eb772
Initial changelog.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
90 |
13920
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
91 ## Version 0.1 |
14761
7608c74e14b6
changelog: repo links should point to tagname
Bernhard Urban <bernhard.urban@jku.at>
parents:
14748
diff
changeset
|
92 5-Feb-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/rev/graal-0.1) |
13965 | 93 |
13920
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
94 ### Graal |
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
95 |
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
96 * 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
|
97 * 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
|
98 * 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
|
99 * 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
|
100 |
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
101 ### Truffle |
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
102 |
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
103 * 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
|
104 * Update of the [Truffle Inlining API](http://mail.openjdk.java.net/pipermail/graal-dev/2014-January/001516.html). |