aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe
AgeCommit message (Collapse)Author
2018-01-19Merge branch 'hasse/dialyzer/fix_bsl' into maintHans Bolinder
* hasse/dialyzer/fix_bsl: dialyzer: Fix bsl/2 bug
2018-01-15Merge branch 'sverker/cuddle-big-bin-tests' into maintSverker Eriksson
2018-01-12dialyzer: Fix bsl/2 bugHans Bolinder
Also modified erl_bif_types:infinity_bsl() when called with zero as first argument. As of writing this, erlang:'bsl'/2 is modified on the master branch to never fail if called with a huge second argument.
2018-01-08dialyzer: Correct handling of erlang:abs/1Hans Bolinder
See also https://bugs.erlang.org/browse/ERL-551.
2018-01-05hipe: Avoid out-of-memory crash for bs_SUITE:bs_constructSverker Eriksson
2018-01-03Fix bug in hipe primop bs_put_utf8Sverker Eriksson
by preventing it from doing GC, which generated code relies on.
2017-12-08Update release notesErlang/OTP
2017-12-08Update version numbersErlang/OTP
2017-11-22dialyzer: Extend the map implementation's handling of ?unitHans Bolinder
The Maps implementation handles ?unit in more cases. Exactly when t_is_none_or_unit() is to be called is not clear to me. The added cases are about a map type being ?unit, but the key or the value of an association can also be ?unit, but that is not always checked.
2017-11-20Merge branch 'lukas/docs/xmllint_fixes/OTP-14721' into maintLukas Larsson
* lukas/docs/xmllint_fixes/OTP-14721: ssl/ssh: Remove/ignore unused XML_FILES doc files Refactor xmllint check and make it fail on failure Add toplevel xmllint make target Conflicts: lib/crypto/doc/src/Makefile
2017-11-09Merge PR-1618 from sverker/sverker/hipe-doc-limitations OTP-14767Sverker Eriksson
Document HiPE limitations
2017-11-06Clearify call trace limitations.Sverker Eriksson
2017-11-03Removed "unused list comprehensions"Sverker Eriksson
which don't seem to be true.
2017-11-03Merge PR-1607 from sverker/hipe_bin_utf32_bug OTP-14740Sverker Eriksson
Fix hipe bug in binary <<X/utf32>> construction
2017-11-03Fix bug in hipe for <<X/utf32>>Sverker Eriksson
by introducing new primop 'is_unicode' with no exception (ab)use and no GC. Replaces bs_validate_unicode which is kept for backward compat for now.
2017-11-02hipe: Add doc sections about limitationsSverker Eriksson
2017-10-31Refactor xmllint check and make it fail on failureLukas Larsson
This commit also adds a check to see that all files that are part of an xi:include also have part of XML_FILES and vice versa. It also fixes any applications where this was not true.
2017-10-10Merge branch 'lars/doc-cleanup/OTP-14475' into maintLars Thorsen
* lars/doc-cleanup/OTP-14475: [edoc] Remove unused module otpsgml_layout.erl Remove unused files from the documentation build
2017-09-28Remove unused files from the documentation buildLars Thorsen
2017-09-22Update release notesErlang/OTP
2017-09-22Update version numbersErlang/OTP
2017-09-19Update runtime deps to depend on new stdlib functionalityDan Gudmundsson
~tw and new string functions are new since OTP-20 (stdlib-3.4)
2017-09-18Merge branch 'hasse/dialyzer/map_fixes/OTP-14572' into maintHans Bolinder
* hasse/dialyzer/map_fixes/OTP-14572: dialyzer: Adjust a test case dialyzer: Modify handling of singleton map key types Dialyzer: Rewrite one map type invariant Dialyzer: Rewrite some of the docs of map types
2017-09-15dialyzer: Improve check of unknown typesHans Bolinder
The implementation of OTP-14218 (commit 6d3b38a) has a weakness: only a very limited part of the type form is checked. This is now fixed: types not used by specs are checked equally well as types used by specs. The new function erl_types:t_from_form_check_remote() checks usage of remote types. It does not expand used local types, and has (almost) no limits on depth and size.
2017-09-12dialyzer: Modify handling of singleton map key typesHans Bolinder
The test case loop.erl shows that there is a problem with certain singleton key types. Here the internal representation toggles between #{a | b => ...} and #{a => ..., b => ...} The choice is to turn #{a | b => ...} into #{a => ..., b => ...} early (t_from_form()). The aim is to keep as much info as possible (in pairs). However, including complex singleton keys (tuples, maps) in this scheme is potentially too costly, and a bit complicated. So one more choice is made: let atoms and number (and nothing else) be singleton types, and let complex keys go into the default key.
2017-09-12Dialyzer: Rewrite one map type invariantHans Bolinder
2017-09-05hipe: Improve handling of UnicodeHans Bolinder
2017-06-21Prepare releaseErlang/OTP
2017-06-13hipe: Remove 'undefined' from a record field's typeHans Bolinder
2017-06-13hipe: Remove use of 'catch'Hans Bolinder
Substitute try/catch for an obsoletely used catch. Thanks to Kostis for pointing it out.
2017-06-13hipe: Optimize contract decoration somewhatHans Bolinder
2017-06-13hipe: Correct a typespecHans Bolinder
2017-06-09dialyzer: Improve handling of UnicodeHans Bolinder
2017-05-31Revert "Prepare release"Hans Nilsson
This reverts commit eaf8ca41dfa4850437ad270d3897399c9358ced0.
2017-05-30Prepare releaseErlang/OTP
2017-05-22dialyzer: Warn for bad type variables of parameterized typesHans Bolinder
As of commit 854ee8b (Erlang/OTP 18) warnings about using '_' as type variable in parameterized types have not been output. The code of erl_types:t_var_names() is corrected. The spec is also corrected (thanks to Kostis for pointing out the bug).
2017-05-05Revert "Prepare release"Raimo Niskanen
This reverts commit dc57404252c47520f352834ad9be45ad684f96c9.
2017-05-04Prepare releaseErlang/OTP
2017-05-04Update copyright yearRaimo Niskanen
2017-04-27hipe: Fix unknown typeHans Bolinder
Due to a bug in Dialyzer, unknown types have been introduced.
2017-04-25Merge branch 'sverker/refactor'Sverker Eriksson
* sverker/refactor: erts: Introduce struct binary_internals erts: Introduce erts_bin_release erts: Init refc=1 in erts_bin_drv_alloc* erts: Init refc=1 in erts_bin_nrml_alloc erts: Remove deliberate leak of hipe fun entries erts: Remove hipe_bifs:remove_refs_from/1 Refactor hipe specific code to use ErtsCodeInfo erts: Refactor ErtsCodeInfo.native
2017-04-21erts: Deprecate the non-smp emulatorsLukas Larsson
2017-04-05erts: Remove hipe_bifs:remove_refs_from/1Sverker Eriksson
which serves no purpose after all the hipe load&purge fixes merged at 32729cab75325de58bf127e6e8836348071b8682
2017-03-30Fix ErLLVM in --enable-m32-build buildsMagnus Lång
By having ErLLVM explicitly tell LLVM which architecture we're expecting it to compile for we remove the risk of having LLVM generate amd64 code for a x86 VM.
2017-03-28Merge PR-1392 from margnus1/hipe-range-fixpoint-bug OTP-14306Sverker Eriksson
HiPE: Fix ERL-278: Fix range analysis miscompilation bug
2017-03-28hipe_icode_range: Add comment about side-effectsMagnus Lång
2017-03-27Merge PR-1386 from kostis/hipe-const-alignment OTP-14302Sverker Eriksson
hipe: Fix alignment of byte-sized constants
2017-03-27Merge pull request #1387 from margnus1/hipe-spilllimit-fixSverker Eriksson
HiPE: Fix off-by-one bug in register allocators Fix for PR-1380
2017-03-27hipe: Fix range analysis of calls with ignored resMagnus Lång
HiPE's range analysis would not update the arguments of a callee when the result of the call was ignored. Fixes ERL-278.
2017-03-27hipe: Fix range analysis of 'rem' operatorMagnus Lång
erl_bif_types contains a fixed and improved copy-paste (obvious from the dead Max_range2_leq_zero if branches) of hipe_icode_range:range_rem/2. For now, delete the dead code and propagate back fixes and improvements to hipe_icode_range.