Mercurial > hg > truffle
annotate CHANGELOG.md @ 22301:26e79a4358fe
removed "path" and "sourcePath" attributes from distributions and libraries
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Sun, 11 Oct 2015 14:34:57 +0200 |
parents | b56fe0d3b560 |
children |
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 |
22268
b56fe0d3b560
Merge with acfea340b19199faaa44bd5e103c716c17ea2b21
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
22172
diff
changeset
|
8 * The Instrumentation Framework has been revised and has new APIs that are integrated into the PolyglotEngine. |
b56fe0d3b560
Merge with acfea340b19199faaa44bd5e103c716c17ea2b21
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
22172
diff
changeset
|
9 * Instrumention support required of language implementatins is specified as abstract methods on TruffleLanguage. |
b56fe0d3b560
Merge with acfea340b19199faaa44bd5e103c716c17ea2b21
Michael Van De Vanter <michael.van.de.vanter@oracle.com>
parents:
22172
diff
changeset
|
10 * Clients access instrumentation sevices via an instance of Instrumenter, provided by the Polyglot framework. |
21229 | 11 |
21994
7f5cf6b167f1
Changelog: make it Truffle-only and prepare for 0.8
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21240
diff
changeset
|
12 ## 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
|
13 17-Jul-2015, [Repository Revision](http://lafo.ssw.uni-linz.ac.at/hg/truffle/shortlog/graal-0.8) |
21229 | 14 ### Truffle |
21994
7f5cf6b167f1
Changelog: make it Truffle-only and prepare for 0.8
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21240
diff
changeset
|
15 * The Truffle repository no longer contains Graal |
22172
b31dcacfc8ff
Replacing more TruffleVM references in comments with the new PolyglotEngine name
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
22000
diff
changeset
|
16 * PolyglotEngine is an entrypoint for creating, building and running multi language Truffle systems |
b31dcacfc8ff
Replacing more TruffleVM references in comments with the new PolyglotEngine name
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
22000
diff
changeset
|
17 * Implement TruffleLanguage and use @Registration to register your language into the Truffle polyglot system |
22000
05ea2117f650
Highlight few changes since 0.7
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21994
diff
changeset
|
18 * 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
|
19 * Interoperability API polished |
05ea2117f650
Highlight few changes since 0.7
Jaroslav Tulach <jaroslav.tulach@oracle.com>
parents:
21994
diff
changeset
|
20 * Cleanup of Source related API |
21164
a394890fd474
Prepare changelog for next version
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21154
diff
changeset
|
21 |
a394890fd474
Prepare changelog for next version
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21154
diff
changeset
|
22 ## Version 0.7 |
a394890fd474
Prepare changelog for next version
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21154
diff
changeset
|
23 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
|
24 ### Truffle |
21154
271eee87201c
Update readme and changelog
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21042
diff
changeset
|
25 * New, faster partial evaluation (no more TruffleCache). |
271eee87201c
Update readme and changelog
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21042
diff
changeset
|
26 * 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
|
27 * Truffle background compilation is now multi-threaded. |
271eee87201c
Update readme and changelog
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21042
diff
changeset
|
28 * 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
|
29 * 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
|
30 * 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
|
31 * 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
|
32 * 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
|
33 * 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
|
34 * 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
|
35 * 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
|
36 * Removed `Node#onAdopt()`. |
18731
97f2038b7c4a
changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18730
diff
changeset
|
37 |
18810
aaff308f290c
Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents:
18750
diff
changeset
|
38 ### Truffle-DSL |
19296
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
39 * 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
|
40 * 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
|
41 * 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
|
42 * 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
|
43 * 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
|
44 * 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
|
45 * Deprecated @NodeAssumptions for removal in the next release. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
46 * 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
|
47 * 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
|
48 * 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
|
49 * Added @Cached annotation to express specialization local state. |
a078c666d8d4
Truffle-DSL: updated change log.
Christian Humer <christian.humer@gmail.com>
parents:
19278
diff
changeset
|
50 * 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
|
51 * 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
|
52 * 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
|
53 * Renamed @ImportGuards to @ImportStatic. |
20938
18c0f02fa4d2
Truffle-DSL: make type systems optional.
Christian Humer <christian.humer@gmail.com>
parents:
19975
diff
changeset
|
54 * 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
|
55 * 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
|
56 * 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
|
57 * 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
|
58 |
18731
97f2038b7c4a
changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18730
diff
changeset
|
59 ## Version 0.6 |
97f2038b7c4a
changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18730
diff
changeset
|
60 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
|
61 ### Truffle |
18729
1efe32c9d761
Update CHANGELOG and AUTHORS file.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18486
diff
changeset
|
62 * 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
|
63 * 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
|
64 * 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
|
65 * 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
|
66 * 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
|
67 * 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
|
68 * 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
|
69 * Renamed DirectCallNode#isSplit to DirectCallNode#isCallTargetCloned |
18164
53afdc71b311
Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents:
18162
diff
changeset
|
70 * Added PrimitiveValueProfile. |
18276
1f3ab088d958
Truffle: implemented defer compilation.
Christian Humer <christian.humer@gmail.com>
parents:
18220
diff
changeset
|
71 * 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
|
72 * 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
|
73 * 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
|
74 * 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
|
75 * Added `TruffleRuntime#getCapability` API method. |
966034c24f0e
Truffle: make NodeInterface a pure marker interface
Andreas Woess <andreas.woess@jku.at>
parents:
18332
diff
changeset
|
76 * 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
|
77 * 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
|
78 * 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
|
79 |
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
80 ## Version 0.5 |
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
81 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
|
82 ### Truffle |
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
83 * 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
|
84 * Added `NeverValidAssumption` to complement `AlwaysValidAssumption`. |
97d0508b7cf1
Truffle: entries in change log.
Chris Seaton <chris.seaton@oracle.com>
parents:
16992
diff
changeset
|
85 * 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
|
86 * 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
|
87 |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
88 ## Version 0.4 |
17180
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
89 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
|
90 ### 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
|
91 * 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
|
92 * 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
|
93 * `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
|
94 * 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
|
95 * New experimental `TypedObject` interface added. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
96 * Renamed flag `-G:+TruffleSplittingEnabled` to `-G:+TruffleSplitting` |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
97 * 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
|
98 * 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
|
99 * 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
|
100 * 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
|
101 * 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
|
102 * Added `isVisited` method for `BranchProfile`. |
7d4f630172a1
changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents:
16852
diff
changeset
|
103 * 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
|
104 |
10732e1421ee
changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
15566
diff
changeset
|
105 ## Version 0.3 |
17180
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
106 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
|
107 ### Truffle |
15474
dd624471bd30
Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents:
15370
diff
changeset
|
108 * 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
|
109 * 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
|
110 * Renamed `CallNode` to `DirectCallNode`. |
dd624471bd30
Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents:
15370
diff
changeset
|
111 * Renamed `TruffleRuntime#createCallNode` to `TruffleRuntime#createDirectCallNode`. |
dd624471bd30
Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents:
15370
diff
changeset
|
112 * 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
|
113 * 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
|
114 * `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
|
115 * Removed deprecated `Node#adoptChild`. |
14748
483d05bf77a7
changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents:
14707
diff
changeset
|
116 |
483d05bf77a7
changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents:
14707
diff
changeset
|
117 ## Version 0.2 |
17180
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
118 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
|
119 ### Truffle |
14640
0111aa258537
changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents:
14630
diff
changeset
|
120 * 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
|
121 * 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
|
122 * 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
|
123 * 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
|
124 * 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
|
125 * 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
|
126 * 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
|
127 * 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
|
128 * 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
|
129 * 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
|
130 * 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
|
131 * 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
|
132 * 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
|
133 * Made `Node#replace` thread-safe |
14568
2e90d9a9a677
Truffle: Added API changes to the changelog.
Christian Humer <christian.humer@gmail.com>
parents:
14172
diff
changeset
|
134 |
13879
b124e22eb772
Initial changelog.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
135 |
13920
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
136 ## Version 0.1 |
17180
ae5b66255083
changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents:
17080
diff
changeset
|
137 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
|
138 ### Truffle |
848b50624671
changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents:
13879
diff
changeset
|
139 * 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
|
140 * Update of the [Truffle Inlining API](http://mail.openjdk.java.net/pipermail/graal-dev/2014-January/001516.html). |