From 91b2e57ea0e3ab794d4b57a12ef10205383525a5 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Mon, 14 Mar 2011 18:18:42 +0100 Subject: Prepare release --- lib/hipe/doc/src/notes.xml | 94 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) (limited to 'lib/hipe/doc/src') diff --git a/lib/hipe/doc/src/notes.xml b/lib/hipe/doc/src/notes.xml index 8c9dbc0c18..434bfac64c 100644 --- a/lib/hipe/doc/src/notes.xml +++ b/lib/hipe/doc/src/notes.xml @@ -30,6 +30,100 @@

This document describes the changes made to HiPE.

+
Hipe 3.7.9 + +
Fixed Bugs and Malfunctions + + +

+ Fix erroneous fail info of a hipe_bs_primop

+

+ Own Id: OTP-9036

+
+ +

+ The change fixes a bug in the translation of 'bs_add' + BEAM instruction to HiPE's Icode representation. When + these instructions appeared in a guard context the + previous translation was obviously buggy.

+

+ Own Id: OTP-9044

+
+ +

+ Sanitize the specs of the code module

+

+ After the addition of unicode_binary() to the + file:filename() type, dialyzer started complaining about + erroneous or incomplete specs in some functions of the + 'code' module. The culprit was hard-coded information in + erl_bif_types for functions of this module, which were + not updated. Since these functions have proper specs + these days and code duplication (pun intended) is never a + good idea, their type information was removed from + erl_bif_types.

+

+ While doing this, some erroneous comments were fixed in + the code module and also made sure that the code now runs + without dialyzer warnings even when the + -Wunmatched_returns option is used.

+

+ Some cleanups were applied to erl_bif_types too.

+

+ Own Id: OTP-9100

+
+ +

+ Fix bug in the simplification of inexact comparisons

+

+ On 31/1/2011 Paul Guyot reported a bug in the native code + compilation of inexact equality/inequality tests between + floats and integers. The relevant test was:

+

+ f(X) -> Y = X / 2, Y == 0.

+

+ and hipe erroneously evaluated the calls f(0) and f(0.0) + to 'false'.

+

+ The culprit was in the simplification code of the Icode + range analysis which used an erroneous test (lists:any/1 + instead of lists:all/1).

+

+ Own Id: OTP-9101

+
+ +

+ Document exiting and garbage_collecting process statuses

+

+ Own Id: OTP-9102

+
+ +

+ Remove hipe constants pool

+

+ Hipe constants used to be allocated within a single, + fixed-size pool for interaction with the garbage + collector. However, the garbage collector no longer + depends on constants being allocated within a single + pool, and the fixed size of the pool both meant + unnecessary allocations on most deployments and crashes + on deployments requiring more constants.

+

+ The code was simplified to directly invoke erts_alloc. + Debugging and undocumented function + hipe_bifs:show_literals/0 was removed (it returned true + and output text to the console), and debugging and + undocumented function hipe_bifs:constants_size/0 was + rewritten with a global to count the size of allocated + constants.

+

+ Own Id: OTP-9128

+
+
+
+ +
+
Hipe 3.7.8.1
Fixed Bugs and Malfunctions -- cgit v1.2.3