Mercurial > hg > truffle
annotate CHANGELOG.md @ 22165:67f75f61c974
Certain languages (like FastR) prefer access to raw byte streams. Offering it. One always has an option to wrap Input and Output Streams into character based Readers and Writers
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Mon, 21 Sep 2015 12:36:30 +0200 |
parents | 05ea2117f650 |
children | b31dcacfc8ff |
rev | line source |
---|---|
21994
7f5cf6b167f1
Changelog: make it Truffle-only and prepare for 0.8
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21240
diff
changeset
|
1 # Truffle Changelog |
13920
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
2 |
21994
7f5cf6b167f1
Changelog: make it Truffle-only and prepare for 0.8
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21240
diff
changeset
|
3 This changelog summarizes major changes between Truffle versions relevant to languages implementors building upon the Truffle framework. The main focus is on APIs exported by Truffle. |
18729
1efe32c9d761
Update CHANGELOG and AUTHORS file.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18486
diff
changeset
|
4 |
18731
97f2038b7c4a
changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18730
diff
changeset
|
5 |
13920
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
6 ## `tip` |
21994
7f5cf6b167f1
Changelog: make it Truffle-only and prepare for 0.8
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21240
diff
changeset
|
7 ### Truffle |
21229 | 8 ... |
9 | |
21994
7f5cf6b167f1
Changelog: make it Truffle-only and prepare for 0.8
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21240
diff
changeset
|
10 ## Version 0.8 |
7f5cf6b167f1
Changelog: make it Truffle-only and prepare for 0.8
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21240
diff
changeset
|
11 17-Jul-2015, [Repository Revision](http://lafo.ssw.uni-linz.ac.at/hg/truffle/shortlog/graal-0.8) |
21229 | 12 ### Truffle |
21994
7f5cf6b167f1
Changelog: make it Truffle-only and prepare for 0.8
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21240
diff
changeset
|
13 * The Truffle repository no longer contains Graal |
22000
05ea2117f650
Highlight few changes since 0.7
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21994
diff
changeset
|
14 * TruffleVM is an entrypoint for creating, building and running multi language Truffle systems |
05ea2117f650
Highlight few changes since 0.7
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21994
diff
changeset
|
15 * Implement TruffleLanguage and use @Registration to register your language into the TruffleVM system |
05ea2117f650
Highlight few changes since 0.7
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21994
diff
changeset
|
16 * Include Truffle TCK (test compatibility kit) into your test cases to verify your language implementation is compliant enough |
05ea2117f650
Highlight few changes since 0.7
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21994
diff
changeset
|
17 * Interoperability API polished |
05ea2117f650
Highlight few changes since 0.7
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21994
diff
changeset
|
18 * Cleanup of Source related API |
21164
a394890fd474
Prepare changelog for next version
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21154
diff
changeset
|
19 |
a394890fd474
Prepare changelog for next version
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21154
diff
changeset
|
20 ## Version 0.7 |
a394890fd474
Prepare changelog for next version
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21154
diff
changeset
|
21 29-Apr-2015, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.7) |
18731
97f2038b7c4a
changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18730
diff
changeset
|
22 ### Truffle |
21154
271eee87201c
Update readme and changelog
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21042
diff
changeset
|
23 * New, faster partial evaluation (no more TruffleCache). |
271eee87201c
Update readme and changelog
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21042
diff
changeset
|
24 * If a method is annotated with @ExplodeLoop and contains a loop that can not be exploded, partial evaluation will fail. |
271eee87201c
Update readme and changelog
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21042
diff
changeset
|
25 * Truffle background compilation is now multi-threaded. |
271eee87201c
Update readme and changelog
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21042
diff
changeset
|
26 * Experimental merge=true flag for @ExplodeLoop allows building bytecode-based interpreters (see BytecodeInterpreterPartialEvaluationTest). |
18750
8a758dce7d80
Truffle: added new deepCopy method to Node.
Christian Humer <christian.humer@gmail.com>
parents:
18731
diff
changeset
|
27 * Added Node#deepCopy as primary method to copy ASTs. |
18816
972009398b30
Disable inlining across Truffle boundary by default.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18810
diff
changeset
|
28 * Disable inlining across Truffle boundary by default. New option TruffleInlineAcrossTruffleBoundary default false. |
19142
64e6c7b83515
Truffle/Instrumentation: update ChangeLog
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
19045
diff
changeset
|
29 * Node.replace(Node) now guards against non-assignable replacement, and Node.isReplacementSafe(Node) checks in advance. |
64e6c7b83515
Truffle/Instrumentation: update ChangeLog
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
19045
diff
changeset
|
30 * Instrumentation: AST "probing" is now safe and implemented by Node.probe(); language implementors need only implement Node.isInstrumentable() and Node.createWrapperNode(). |
64e6c7b83515
Truffle/Instrumentation: update ChangeLog
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
19045
diff
changeset
|
31 * Instrumentation: A new framework defines a category of simple "instrumentation tools" that can be created, configured, and installed, after which they autonomously collect execution data of some kind. |
64e6c7b83515
Truffle/Instrumentation: update ChangeLog
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
19045
diff
changeset
|
32 * Instrumentation: A new example "instrumentation tool" is a language-agnostic collector of code coverage information (CoverageTracker); there are two other examples. |
19975
cd59085cf0d8
Truffle: remove Node#onAdopt() hook
Andreas Woess <andreas.woess@oracle.com>
parents:
19296
diff
changeset
|
33 * Removed unsafe compiler directives; use `sun.misc.Unsafe` instead. |
cd59085cf0d8
Truffle: remove Node#onAdopt() hook
Andreas Woess <andreas.woess@oracle.com>
parents:
19296
diff
changeset
|
34 * Removed `Node#onAdopt()`. |
18731
97f2038b7c4a
changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18730
diff
changeset
|
35 |
18810
aaff308f290c
Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents:
18750
diff
changeset
|
36 ### Truffle-DSL |
19296
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
37 * Implemented a new generated code layout that reduces the code size. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
38 * Changed all methods enclosed in a @TypeSystem must now be static. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
39 * Changed all methods enclosed in generated type system classes are now static. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
40 * Deprecated the type system constant used in the generated type system classes. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
41 * Changed NodeFactory implementations are no longer generated by default. Use {Node}Gen#create instead of {Node}Factory#create to create new instances of nodes. |
18810
aaff308f290c
Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents:
18750
diff
changeset
|
42 * Added @GenerateNodeFactory to generate NodeFactory implementations for this node and its subclasses. |
19296
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
43 * Deprecated @NodeAssumptions for removal in the next release. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
44 * Deprecated experimental @Implies for removal in the next release. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
45 * Added new package c.o.t.api.dsl.examples to the c.o.t.api.dsl project containing documented and debug-able Truffle-DSL use cases. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
46 * Changed "typed execute methods" are no longer required for use as specialization return type or parameter. It is now sufficient to declare them in the @TypeSystem. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
47 * Added @Cached annotation to express specialization local state. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
48 * Added Specialization#limit to declare a limit expression for the maximum number of specialization instantiations. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
49 * Changed syntax and semantics of Specialization#assumptions and Specialization#guards. They now use a Java like expression syntax. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
50 * Changed guard expressions that do not bind any dynamic parameter are invoked just once per specialization instantiation. They are now asserted to be true on the fast path. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
51 * Renamed @ImportGuards to @ImportStatic. |
20938
18c0f02fa4d2
Truffle-DSL: make type systems optional.
Christian Humer <christian.humer@gmail.com>
parents:
19975
diff
changeset
|
52 * Changed declaring a @TypeSystemReference for a node that contains specializations is not mandatory anymore. |
18c0f02fa4d2
Truffle-DSL: make type systems optional.
Christian Humer <christian.humer@gmail.com>
parents:
19975
diff
changeset
|
53 * Changed types used in specializations are not restricted on types declared in the type system anymore. |
18c0f02fa4d2
Truffle-DSL: make type systems optional.
Christian Humer <christian.humer@gmail.com>
parents:
19975
diff
changeset
|
54 * Changed nodes that declare all execute methods with the same number of evaluated arguments as specialization arguments do not require @NodeChild annotations anymore. |
18c0f02fa4d2
Truffle-DSL: make type systems optional.
Christian Humer <christian.humer@gmail.com>
parents:
19975
diff
changeset
|
55 * Changed types used in checks and casts are not mandatory to be declared in the type system. |
18810
aaff308f290c
Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents:
18750
diff
changeset
|
56 |
18731
97f2038b7c4a
changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18730
diff
changeset
|
57 ## Version 0.6 |
97f2038b7c4a
changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18730
diff
changeset
|
58 19-Dec-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.6) |
16864
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
59 ### Truffle |
18729
1efe32c9d761
Update CHANGELOG and AUTHORS file.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18486
diff
changeset
|
60 * Instrumentation: add Instrumentable API for language implementors, with most details automated (see package `com.oracle.truffle.api.instrument`). |
17421
87ea195b66ff
Truffle: Make BranchProfile constructor private and introduce a factory Method BranchProfile.create().
Christian Humer <christian.humer@gmail.com>
parents:
17275
diff
changeset
|
61 * The BranchProfile constructor is now private. Use BranchProfile#create() instead. |
18130
b4e38f4ca414
Truffle: rename @SlowPath to @TruffleBoundary.
Christian Humer <christian.humer@gmail.com>
parents:
17421
diff
changeset
|
62 * Renamed @CompilerDirectives.SlowPath to @CompilerDirectives.TruffleBoundary |
18162
ab62800259ff
Truffle: renamed the splitting to callTargetCloning. Made RootNode cloning an implementation detail of the Truffle runtime.
Christian Humer <christian.humer@gmail.com>
parents:
18130
diff
changeset
|
63 * Renamed RootNode#isSplittable to RootNode#isCloningAllowed |
ab62800259ff
Truffle: renamed the splitting to callTargetCloning. Made RootNode cloning an implementation detail of the Truffle runtime.
Christian Humer <christian.humer@gmail.com>
parents:
18130
diff
changeset
|
64 * Removed RootNode#split. Cloning ASTs for splitting is now an implementation detail of the Truffle runtime implementation. |
ab62800259ff
Truffle: renamed the splitting to callTargetCloning. Made RootNode cloning an implementation detail of the Truffle runtime.
Christian Humer <christian.humer@gmail.com>
parents:
18130
diff
changeset
|
65 * Renamed DirectCallNode#isSplittable to DirectCallNode#isCallTargetCloningAllowed |
ab62800259ff
Truffle: renamed the splitting to callTargetCloning. Made RootNode cloning an implementation detail of the Truffle runtime.
Christian Humer <christian.humer@gmail.com>
parents:
18130
diff
changeset
|
66 * Renamed DirectCallNode#split to DirectCallNode#cloneCallTarget |
ab62800259ff
Truffle: renamed the splitting to callTargetCloning. Made RootNode cloning an implementation detail of the Truffle runtime.
Christian Humer <christian.humer@gmail.com>
parents:
18130
diff
changeset
|
67 * Renamed DirectCallNode#isSplit to DirectCallNode#isCallTargetCloned |
18164
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
18162
diff
changeset
|
68 * Added PrimitiveValueProfile. |
18276
1f3ab088d958
Truffle: implemented defer compilation.
Christian Humer <christian.humer@gmail.com>
parents:
18220
diff
changeset
|
69 * Added -G:TruffleTimeThreshold=5000 option to defer compilation for call targets |
18311
3343ed66de79
Truffle: RootNode#getExecutionContext.
Chris Seaton <chris.seaton@oracle.com>
parents:
18276
diff
changeset
|
70 * Added RootNode#getExecutionContext to identify nodes with languages |
18369
966034c24f0e
Truffle: make NodeInterface a pure marker interface
Andreas Woess <andreas.woess@jku.at>
parents:
18332
diff
changeset
|
71 * Removed `FrameTypeConversion` interface and changed the corresponding `FrameDescriptor` constructor to have a default value parameter instead. |
966034c24f0e
Truffle: make NodeInterface a pure marker interface
Andreas Woess <andreas.woess@jku.at>
parents:
18332
diff
changeset
|
72 * Removed `CompilerDirectives.unsafeFrameCast` (equivalent to a `(MaterializedFrame)` cast). |
966034c24f0e
Truffle: make NodeInterface a pure marker interface
Andreas Woess <andreas.woess@jku.at>
parents:
18332
diff
changeset
|
73 * Added `TruffleRuntime#getCapability` API method. |
966034c24f0e
Truffle: make NodeInterface a pure marker interface
Andreas Woess <andreas.woess@jku.at>
parents:
18332
diff
changeset
|
74 * Added `NodeInterface` and allowed child field to be declared with interfaces that extend it. |
18389
104be1322fb7
Truffle: CHANGELOG entry for CompilerOptions.
Chris Seaton <chris.seaton@oracle.com>
parents:
18369
diff
changeset
|
75 * Added `CompilerOptions` and allowed it to be set for `ExecutionContext` and `RootNode`. |
18730
61739e1b2296
Added one more reference to the CHANGELOG.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18729
diff
changeset
|
76 * Added experimental object API (see new project `com.oracle.truffle.api.object`). |
17180
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
77 |
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
78 ## Version 0.5 |
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
79 23-Sep-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.5) |
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
80 ### Truffle |
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
81 * 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
|
82 * Added `NeverValidAssumption` to complement `AlwaysValidAssumption`. |
97d0508b7cf1
Truffle: entries in change log.
Chris Seaton <chris.seaton@oracle.com>
parents:
16992
diff
changeset
|
83 * Fixed a bug in `AssumedValue` that may not invalidate correctly. |
17180
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
84 * New option, `-G:+/-TruffleCompilationExceptionsAreThrown`, that will throw an `OptimizationFailedException` for compiler errors. |
16864
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
85 |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
86 ## Version 0.4 |
17180
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
87 19-Aug-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.4) |
15567
10732e1421ee
changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
15566
diff
changeset
|
88 ### 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
|
89 * 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
|
90 * 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
|
91 * `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
|
92 * 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
|
93 * New experimental `TypedObject` interface added. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
94 * Renamed flag `-G:+TruffleSplittingEnabled` to `-G:+TruffleSplitting` |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
95 * 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
|
96 * 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
|
97 * 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
|
98 * 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
|
99 * 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
|
100 * Added `isVisited` method for `BranchProfile`. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
101 * 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
|
102 |
10732e1421ee
changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
15566
diff
changeset
|
103 ## Version 0.3 |
17180
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
104 9-May-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.3) |
14748
483d05bf77a7
changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents:
14707
diff
changeset
|
105 ### Truffle |
15474
dd624471bd30
Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents:
15370
diff
changeset
|
106 * 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
|
107 * 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
|
108 * Renamed `CallNode` to `DirectCallNode`. |
dd624471bd30
Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents:
15370
diff
changeset
|
109 * Renamed `TruffleRuntime#createCallNode` to `TruffleRuntime#createDirectCallNode`. |
dd624471bd30
Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents:
15370
diff
changeset
|
110 * 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
|
111 * 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
|
112 * `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
|
113 * Removed deprecated `Node#adoptChild`. |
14748
483d05bf77a7
changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents:
14707
diff
changeset
|
114 |
483d05bf77a7
changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents:
14707
diff
changeset
|
115 ## Version 0.2 |
17180
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
116 25-Mar-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.2) |
13920
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
117 ### Truffle |
14640
0111aa258537
changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents:
14630
diff
changeset
|
118 * 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
|
119 * 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
|
120 * 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
|
121 * 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
|
122 * 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
|
123 * 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
|
124 * 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
|
125 * 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
|
126 * 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
|
127 * 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
|
128 * 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
|
129 * 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
|
130 * 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
|
131 * Made `Node#replace` thread-safe |
14568
2e90d9a9a677
Truffle: Added API changes to the changelog.
Christian Humer <christian.humer@gmail.com>
parents:
14172
diff
changeset
|
132 |
13879
b124e22eb772
Initial changelog.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
133 |
13920
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
134 ## Version 0.1 |
17180
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
135 5-Feb-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.1) |
13920
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
136 ### Truffle |
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
137 * 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
|
138 * Update of the [Truffle Inlining API](http://mail.openjdk.java.net/pipermail/graal-dev/2014-January/001516.html). |