Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-05-31 | Code rewrites to avoid exported vars warnings | Kostis Sagonas | |
2016-05-31 | Use type name, not record notation, in specs | Kostis Sagonas | |
2016-03-15 | update copyright-year | Henrik Nord | |
2015-11-27 | hipe: Guard against enormous numbers in ranges | Magnus Lång | |
This allows us to compile bs_match_int_SUITE with HiPE without a system_limit crash. | |||
2015-06-18 | Change license text to APLv2 | Bruce Yinhe | |
2014-02-23 | Deprecate pre-defined built-in types | Hans Bolinder | |
The types array(), dict(), digraph(), gb_set(), gb_tree(), queue(), set(), and tid() have been deprecated. They will be removed in OTP 18.0. Instead the types array:array(), dict:dict(), digraph:graph(), gb_set:set(), gb_tree:tree(), queue:queue(), sets:set(), and ets:tid() can be used. (Note: it has always been necessary to use ets:tid().) It is allowed in OTP 17.0 to locally re-define the types array(), dict(), and so on. New types array:array/1, dict:dict/2, gb_sets:set/1, gb_trees:tree/2, queue:queue/1, and sets:set/1 have been added. | |||
2013-06-12 | Update copyright years | Björn-Egil Dahlberg | |
2013-02-25 | Fix bug related to the handling of is_number/1 by the range analysis | Kostis Sagonas | |
The following module produced erroneous results when compiled with HiPE: -module(a). -export([foo/1]). foo(X) when is_number(X) -> is_integer(X). Running: 1> c(a). 2> a:foo(0). true 3> hipe:c(a). 4> a:foo(0). false % *** WRONG *** The problem was that the 'number' case for the `hipe_icode:type_test/1` was going to the default case where the argument was determined as being something other than an integer. Thanks to Sebastian Egner and Johannes Weißl for bringing the bug into attention. Fixed on the day it was reported. | |||
2011-02-14 | Cleanup specs | Kostis Sagonas | |
2011-02-14 | Fix bug in the simplification of inexact comparisons | Kostis Sagonas | |
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). | |||
2011-02-14 | Various cleanups and cosmetic changes | Kostis Sagonas | |
2010-11-22 | hipe: Update types and specs | Kostis Sagonas | |
2009-11-20 | The R13B03 release.OTP_R13B03 | Erlang/OTP | |