aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/doc/src/notes.xml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compiler/doc/src/notes.xml')
-rw-r--r--lib/compiler/doc/src/notes.xml113
1 files changed, 113 insertions, 0 deletions
diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml
index 3311943b3c..6db8d19b5a 100644
--- a/lib/compiler/doc/src/notes.xml
+++ b/lib/compiler/doc/src/notes.xml
@@ -32,6 +32,119 @@
<p>This document describes the changes made to the Compiler
application.</p>
+<section><title>Compiler 6.0</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ The compiler optimizes away building of terms that are
+ never actually used. As a result, the compiler in OTP 18
+ may produce more warnings for terms that are built but
+ not used than the compiler in OTP 17.</p>
+ <p>
+ Own Id: OTP-12453</p>
+ </item>
+ <item>
+ <p>
+ Using a map could incorrectly suppress warnings for
+ unused variables.</p>
+ <p>
+ Own Id: OTP-12515</p>
+ </item>
+ <item>
+ <p>
+ The compiler now properly reports unknown parse
+ transforms. That is, <c>undef</c> exceptions coming from
+ the parse transform itself is reported differently from
+ the absence of the parse transform.</p>
+ <p>
+ Own Id: OTP-12723</p>
+ </item>
+ <item>
+ <p>
+ Allow for 'creation of sub binary delayed' optimization
+ if maps instructions are in a clause.</p>
+ <p>
+ Own Id: OTP-12758</p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The <c>cerl</c> and <c>cerl_trees</c> modules in the
+ <c>compiler</c> application are now documented.</p>
+ <p>
+ Own Id: OTP-11978</p>
+ </item>
+ <item>
+ <p>
+ The deprecated '<c>asm</c>' option has been removed.</p>
+ <p>
+ *** POTENTIAL INCOMPATIBILITY ***</p>
+ <p>
+ Own Id: OTP-12100</p>
+ </item>
+ <item>
+ <p>
+ Support variables as Map keys in expressions and patterns</p>
+ <p>Erlang will accept any expression as keys in Map
+ expressions and it will accept literals or bound
+ variables as keys in Map patterns.</p>
+ <p>
+ Own Id: OTP-12218</p>
+ </item>
+ <item>
+ <p>
+ Infer Map type information in beam_type compiler
+ optimization pass.</p>
+ <p>
+ Own Id: OTP-12253</p>
+ </item>
+ <item>
+ <p>
+ Compiler optimizations have been improved.</p>
+ <p>
+ Own Id: OTP-12393</p>
+ </item>
+ <item>
+ <p>
+ Five undocumented functions in the module <c>core_lib</c>
+ have been deprecated and will be removed in the next
+ major release. The functions are: <c>get_anno/{1,2}</c>,
+ <c>is_literal/1</c>, <c>is_literal_list/1</c>, and
+ <c>literal_value</c>. Use the appropriate functions in
+ the <c>cerl</c> module instead.</p>
+ <p>
+ Own Id: OTP-12497</p>
+ </item>
+ <item>
+ <p>
+ Change some internal data structures to Maps in order to
+ speed up compilation time. Measured speed up is around
+ 10%-15%.</p>
+ <p>
+ Own Id: OTP-12774</p>
+ </item>
+ <item>
+ <p>
+ Fix beam_bool pass for Maps instruction get_map_elements</p>
+ <p>
+ Before beam_split the get_map_elements instruction is
+ still in blocks and the helper function in beam_jump did
+ not reflect this.</p>
+ <p>
+ Own Id: OTP-12844 Aux Id: 17 </p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Compiler 5.0.4</title>
<section><title>Fixed Bugs and Malfunctions</title>