annotate CHANGELOG.md @ 19130:6fce03279f0a

LIRGenerator: assert that we are not creating copies of variables (unintentionally). Creating copies of variables is almost always a bug.
author Josef Eisl <josef.eisl@jku.at>
date Wed, 04 Feb 2015 16:53:11 +0100
parents 862997951c0a
children 64e6c7b83515
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
18729
1efe32c9d761 Update CHANGELOG and AUTHORS file.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18486
diff changeset
3 This changelog summarizes major changes between Graal versions relevant to languages implementors building upon the Truffle framework and developers building technology on top of Graal. The main focus is on APIs exported by Graal and Truffle.
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`
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
7 ### Graal
18823
5a21cac1968f Add utilities ModifiersProvider#isConcrete, ResolvedJavaMethod#hasReceiver, ResolvedJavaMethod#hasBytecodes to Graal API.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18816
diff changeset
8 * Add utilities ModifiersProvider#isConcrete, ResolvedJavaMethod#hasBytecodes, ResolvedJavaMethod#hasReceiver to Graal API.
19045
862997951c0a Add GraalDirectives API to influence compiler behavior.
Roland Schatz <roland.schatz@oracle.com>
parents: 18823
diff changeset
9 * Add `GraalDirectives` API, containing methods to influence compiler behavior for unittests and microbenchmarks.
18731
97f2038b7c4a changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18730
diff changeset
10 * ...
97f2038b7c4a changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18730
diff changeset
11
97f2038b7c4a changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18730
diff changeset
12 ### Truffle
18750
8a758dce7d80 Truffle: added new deepCopy method to Node.
Christian Humer <christian.humer@gmail.com>
parents: 18731
diff changeset
13 * 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
14 * Disable inlining across Truffle boundary by default. New option TruffleInlineAcrossTruffleBoundary default false.
18731
97f2038b7c4a changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18730
diff changeset
15
18810
aaff308f290c Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents: 18750
diff changeset
16 ### Truffle-DSL
aaff308f290c Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents: 18750
diff changeset
17 * All methods enclosed in a @TypeSystem must now be static.
aaff308f290c Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents: 18750
diff changeset
18 * All methods enclosed in generated type system classes are static.
aaff308f290c Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents: 18750
diff changeset
19 * Deprecated the public singleton used in the generated type system classes.
aaff308f290c Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents: 18750
diff changeset
20 * NodeFactory implementations are no longer generated by default. Use {Node}Gen#create instead of {Node}Factory#create to create new instances of nodes.
aaff308f290c Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents: 18750
diff changeset
21 * Added @GenerateNodeFactory to generate NodeFactory implementations for this node and its subclasses.
aaff308f290c Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents: 18750
diff changeset
22
aaff308f290c Truffle-DSL: started Truffle-DSL changelog.
Christian Humer <christian.humer@gmail.com>
parents: 18750
diff changeset
23
18731
97f2038b7c4a changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18730
diff changeset
24 ## Version 0.6
97f2038b7c4a changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18730
diff changeset
25 19-Dec-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.6)
97f2038b7c4a changelog: graal-0.6
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18730
diff changeset
26 ### Graal
18729
1efe32c9d761 Update CHANGELOG and AUTHORS file.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18486
diff changeset
27 * Merged with jdk8u25-b17.
1efe32c9d761 Update CHANGELOG and AUTHORS file.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18486
diff changeset
28 * Added `com.oracle.graal.api.meta.Remote` interface for future support of remote and replay compilation.
17187
bd760d193008 updated CHANGELOG.md
Doug Simon <doug.simon@oracle.com>
parents: 17185
diff changeset
29 * Changed name suite specification from `mx/projects.py` to `mx/suite.py`.
18419
0e794bf2decb Add CHANGELOG entry about the changed behavior of ResolvedJavaType#resolveMethod().
Josef Eisl <josef.eisl@jku.at>
parents: 18409
diff changeset
30 * Changed semantics (and signature) of `ResolvedJavaType#resolveMethod()` (old behavior available via `resolveConcreteMethod()`).
18465
f0a8b72315c1 Move ResolvedJavaField#read[Constant]Value and getMethodHandleAccess() to ConstantReflectionProvider
Andreas Woess <andreas.woess@jku.at>
parents: 18419
diff changeset
31 * Moved `ResolvedJavaField#read[Constant]Value` and `getMethodHandleAccess()` to `ConstantReflectionProvider`.
16864
7d4f630172a1 changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents: 16852
diff changeset
32
7d4f630172a1 changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents: 16852
diff changeset
33 ### Truffle
18729
1efe32c9d761 Update CHANGELOG and AUTHORS file.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18486
diff changeset
34 * 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
35 * 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
36 * 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
37 * 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
38 * 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
39 * 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
40 * 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
41 * Renamed DirectCallNode#isSplit to DirectCallNode#isCallTargetCloned
18164
53afdc71b311 Truffle: added PrimitiveValueProfile.
Chris Seaton <chris.seaton@oracle.com>
parents: 18162
diff changeset
42 * Added PrimitiveValueProfile.
18276
1f3ab088d958 Truffle: implemented defer compilation.
Christian Humer <christian.humer@gmail.com>
parents: 18220
diff changeset
43 * 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
44 * 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
45 * 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
46 * 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
47 * Added `TruffleRuntime#getCapability` API method.
966034c24f0e Truffle: make NodeInterface a pure marker interface
Andreas Woess <andreas.woess@jku.at>
parents: 18332
diff changeset
48 * 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
49 * 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
50 * 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
51
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
52 ## Version 0.5
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
53 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
54 ### Graal
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
55 * New register allocator optimization: `-G:+ConstantLoadOptimization`.
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
56 * SPARC backend is able to run benchmark and passing most of the JTTs.
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
57 * Fix: Stamp: interface types can not be trusted except after explicit runtime checks.
17185
7169e42f7e1b updated CHANGELOG.md
Doug Simon <doug.simon@oracle.com>
parents: 17180
diff changeset
58 * Changed format of suite specification from a properties file (`mx/projects`) to a Python file (`mx/projects.py`).
7169e42f7e1b updated CHANGELOG.md
Doug Simon <doug.simon@oracle.com>
parents: 17180
diff changeset
59
17180
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
60
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
61 ### Truffle
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
62 * 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
63 * Added `NeverValidAssumption` to complement `AlwaysValidAssumption`.
97d0508b7cf1 Truffle: entries in change log.
Chris Seaton <chris.seaton@oracle.com>
parents: 16992
diff changeset
64 * 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
65 * 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
66
7d4f630172a1 changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents: 16852
diff changeset
67 ## Version 0.4
17180
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
68 19-Aug-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.4)
16864
7d4f630172a1 changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents: 16852
diff changeset
69 ### 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
70 * 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
71 * 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
72 * 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
73 * `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
74 * Removed Java based compilation queue (`CompilationQueue.java`).
7d4f630172a1 changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents: 16852
diff changeset
75 * 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
76
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
77 ### 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
78 * 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
79 * 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
80 * `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
81 * 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
82 * New experimental `TypedObject` interface added.
7d4f630172a1 changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents: 16852
diff changeset
83 * Renamed flag `-G:+TruffleSplittingEnabled` to `-G:+TruffleSplitting`
7d4f630172a1 changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents: 16852
diff changeset
84 * 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
85 * 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
86 * 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
87 * 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
88 * 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
89 * Added `isVisited` method for `BranchProfile`.
7d4f630172a1 changelog: graal-0.4
Bernhard Urban <bernhard.urban@jku.at>
parents: 16852
diff changeset
90 * 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
91
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
92 ## Version 0.3
17180
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
93 9-May-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.3)
15567
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
94
10732e1421ee changelog: graal-0.3
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 15566
diff changeset
95 ### Graal
14945
b14cb2d9253d Make compression and uncompression explicit in the high level graph.
Roland Schatz <roland.schatz@oracle.com>
parents: 14887
diff changeset
96 * 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
97 * LIRGenerator refactoring.
15010
f36e56e9dd9a add allowedUsageType to GuardProxy/GuardPhi, changelog, remove debug output
Lukas Stadler <lukas.stadler@oracle.com>
parents: 14945
diff changeset
98 * 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
99 * 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
100 * 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
101 * 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
102 * 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
103
14748
483d05bf77a7 changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents: 14707
diff changeset
104 ### Truffle
15474
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
105 * 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
106 * 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
107 * Renamed `CallNode` to `DirectCallNode`.
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
108 * Renamed `TruffleRuntime#createCallNode` to `TruffleRuntime#createDirectCallNode`.
dd624471bd30 Truffle: remove deprecated Node#adoptChild, Node#adoptChildren.
Andreas Woess <andreas.woess@jku.at>
parents: 15370
diff changeset
109 * 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
110 * 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
111 * `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
112 * Removed deprecated `Node#adoptChild`.
14748
483d05bf77a7 changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents: 14707
diff changeset
113
483d05bf77a7 changelog: graal-0.2
Bernhard Urban <bernhard.urban@jku.at>
parents: 14707
diff changeset
114 ## Version 0.2
17180
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
115 25-Mar-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.2)
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 ### Graal
14647
8f483e200405 updated CHANGELOG.md
Doug Simon <doug.simon@oracle.com>
parents: 14640
diff changeset
118 * 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
119 * 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
120 * 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
121 * 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
122 * 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
123 * Made graph caching compilation-local.
14647
8f483e200405 updated CHANGELOG.md
Doug Simon <doug.simon@oracle.com>
parents: 14640
diff changeset
124 * 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
125 * 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
126 * 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
127
13920
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
128 ### Truffle
14640
0111aa258537 changelog: use code syntax, add some points to graal section
Bernhard Urban <bernhard.urban@jku.at>
parents: 14630
diff changeset
129 * 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
130 * 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
131 * 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
132 * 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
133 * 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
134 * 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
135 * 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
136 * 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
137 * 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
138 * 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
139 * 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
140 * 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
141 * 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
142 * Made `Node#replace` thread-safe
14568
2e90d9a9a677 Truffle: Added API changes to the changelog.
Christian Humer <christian.humer@gmail.com>
parents: 14172
diff changeset
143
13879
b124e22eb772 Initial changelog.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
144
13920
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
145 ## Version 0.1
17180
ae5b66255083 changelog: graal-0.5
Bernhard Urban <bernhard.urban@jku.at>
parents: 17080
diff changeset
146 5-Feb-2014, [Repository Revision](http://hg.openjdk.java.net/graal/graal/shortlog/graal-0.1)
13965
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 13962 13920
diff changeset
147
13920
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
148 ### Graal
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
149
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
150 * 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
151 * 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
152 * 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
153 * 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
154
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
155 ### Truffle
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
156
848b50624671 changelog: switch to markdown syntax
Bernhard Urban <bernhard.urban@jku.at>
parents: 13879
diff changeset
157 * 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
158 * Update of the [Truffle Inlining API](http://mail.openjdk.java.net/pipermail/graal-dev/2014-January/001516.html).