summaryrefslogtreecommitdiff
path: root/lib/hipe
Commit message (Collapse)AuthorAgeFilesLines
* Prepare releaseOTP_R16B01Erlang/OTP2013-06-172-1/+31
|
* Update copyright yearsBjörn-Egil Dahlberg2013-06-129-9/+9
|
* Merge branch 'ks/hipe-cleanup-escaping/OTP-11031' into maintFredrik Gustafsson2013-04-112-20/+19
|\ | | | | | | | | * ks/hipe-cleanup-escaping/OTP-11031: Loosen the assumptions of code that handles escaping functions
| * Loosen the assumptions of code that handles escaping functionsKostis Sagonas2013-03-122-20/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The HiPE compiler implicitly relied on the assumption that a function will never appear as both exported and also used as function closure. This was true because the BEAM compiler prior to R16B created module local anonymous functions for each closure. A proposed change to the BEAM compiler invalidates this invariant, so in order to accommodate for this change there needs to be a change of how the set of possibly escaping functions is computed. While doing this, the code was simplified by taking out a boolean() tag that indicated whether a function is a closure or exported and also slightly cleaned up the affected modules.
* | Fix handling of bs_match_string translationKostis Sagonas2013-03-101-74/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | Prior to R16B, the bs_match_string instruction worked only for cases that had a destination variable. As shown by the example below, this is not always the case and the Dst list can be empty. test(<<42, _/bits>> = B) -> B. This fixes a bug reported by Loïc Hoguin (02/12/2013); the original post used a different code example to illustrate the problem. While revising the code, a significant clean up was also performed.
* | Take out 'constant' type test and unnecessary type declarationKostis Sagonas2013-03-101-7/+1
| |
* | Take out 'constant' type test from left over commentsKostis Sagonas2013-03-101-2/+0
| |
* | Enable more warningsKostis Sagonas2013-03-102-2/+2
| |
* | Use remote type instead of relying on hipe_icode.hrlKostis Sagonas2013-03-102-10/+10
| |
* | Add type info for hipe_bifs:nstack_used_size/0Kostis Sagonas2013-03-101-0/+4
| |
* | Use correct type nameKostis Sagonas2013-03-101-1/+1
| |
* | Update a commentKostis Sagonas2013-03-101-2/+2
|/
* Fix the title of hipe_app documentation pageLoïc Hoguin2013-03-021-1/+1
|
* Prepare releaseOTP_R16BErlang/OTP2013-02-252-1/+27
|
* Merge branch 'kostis/hipe-icode-range-bug'Sverker Eriksson2013-02-252-7/+9
|\ | | | | | | | | | | | | | | * kostis/hipe-icode-range-bug: Fix bug related to the handling of is_number/1 by the range analysis Clean up and homogenize text messages for options OTP-10897
| * Fix bug related to the handling of is_number/1 by the range analysisKostis Sagonas2013-02-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Clean up and homogenize text messages for optionsKostis Sagonas2013-02-251-7/+7
| |
* | Update copyright yearsBjörn-Egil Dahlberg2013-02-221-1/+1
|/
* Merge branch 'ks/hipe_bif-remove_refs_from/OTP-10851'Fredrik Gustafsson2013-02-201-1/+1
|\ | | | | | | | | | | * ks/hipe_bif-remove_refs_from/OTP-10851: Fixed test to allow for lists:foreach/2 call Change the return value of hipe_bifs:remove_refs_from/1
| * Change the return value of hipe_bifs:remove_refs_from/1Kostis Sagonas2013-02-131-1/+1
| | | | | | | | | | | | | | | | | | In order to avoid an ummatched return warning in erts and make the code more sane, the return value of the bif was changed from [] to 'ok'. (Probably more hipe_bifs need such changes but they will have to wait.) While at it, the code of various functions in hipe_unified_loader was shortened by using lists:foreach/1 instead of explicit recursion.
* | Merge branch 'sa/dialyzer-types-arity/OTP-10861'Fredrik Gustafsson2013-02-201-26/+18
|\ \ | | | | | | | | | | | | | | | | | | * sa/dialyzer-types-arity/OTP-10861: Minor refactoring Update Dialyzer's documentation Support for types with the same name and different arity
| * | Support for types with the same name and different arityStavros Aronis2013-02-151-26/+18
| |/
* | Merge branch 'ks/type-doc-cleanup/OTP-10850'Fredrik Gustafsson2013-02-191-0/+4
|\ \ | | | | | | | | | | | | | | | * ks/type-doc-cleanup/OTP-10850: Add support for printing <<_:_*1>> as bitstring() Clean up of documentation of type language
| * | Add support for printing <<_:_*1>> as bitstring()Kostis Sagonas2013-02-111-0/+4
| |/
* | Add new binary conversion bifsLukas Larsson2013-02-141-5/+0
|/ | | | Added: binary_to_integer/1,2, integer_to_binary/1,2
* Prepare releaseOTP_R16A_RELEASE_CANDIDATEErlang/OTP2013-01-292-1/+45
|
* Fix wording of error messageStavros Aronis2013-01-281-1/+1
|
* Extend char() to Unicode charactersHans Bolinder2013-01-251-33/+1
| | | | | | | | | | The code related to the introduction of unicode_string() and unicode_char() has been removed. The types char() and string() have been extended to include Unicode characters. In fact char() was changed some time ago; this commit is about cleaning up the documentation and introduce better names for some functions.
* Properly support functions with arbitrary arity in type specs.Stavros Aronis2013-01-231-2/+2
| | | | Dialyzer now understands the "fun(...)" syntax in type specs.
* [hipe, kernel, stdlib] Correct a few typesHans Bolinder2013-01-211-4/+1
| | | | | | | The type ascii_string() in the base64 module has been corrected. The type file:file_info() has been cleaned up. The type file:fd() has been made opaque in the documentation. The type nodes() has been removed from erl_bif_types.erl.
* Merge branch 'nox/enable-silent-rules/OTP-10726'Björn-Egil Dahlberg2013-01-183-11/+11
|\ | | | | | | | | * nox/enable-silent-rules/OTP-10726: Implement ./otp_build configure --enable-silent-rules
| * Implement ./otp_build configure --enable-silent-rulesAnthony Ramine2013-01-153-11/+11
| | | | | | | | | | | | With silent rules, the output of make is less verbose and compilation warnings are easier to spot. Silent rules are disabled by default and can be disabled or enabled at will by make V=0 and make V=1.
* | Merge branch 'sa/dialyzer-record-field-type/OTP-10681'Fredrik Gustafsson2013-01-151-1/+1
|\ \ | | | | | | | | | | | | * sa/dialyzer-record-field-type/OTP-10681: Fix precision of record creation violation warnings
| * | Fix precision of record creation violation warningsStavros Aronis2012-11-171-1/+1
| | | | | | | | | | | | | | | | | | Before patch Dialyzer was reporting all the fields that were not subtypes of the declared ones as incorrect. The correct violations are for the fields whose intersection with the declared ones is empty.
* | | Prepare OTP files for Unicode as default encodingHans Bolinder2013-01-0915-56/+56
| |/ |/|
* | Merge branch 'rickard/port-optimizations/OTP-10336' into ↵Rickard Green2012-12-071-41/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rickard/r16/port-optimizations/OTP-10336 * rickard/port-optimizations/OTP-10336: Change annotate level for emacs-22 in cerl Update etp-commands Add documentation on communication in Erlang Add support for busy port message queue Add driver callback epilogue Implement true asynchronous signaling between processes and ports Add erl_drv_[send|output]_term Move busy port flag Use rwlock for driver list Optimize management of port tasks Improve configuration of process and port tables Remove R9 compatibility features Use ptab functionality also for ports Prepare for use of ptab functionality also for ports Atomic port state Generalize process table implementation Implement functionality for delaying thread progress from unmanaged threads Conflicts: erts/doc/src/erl_driver.xml erts/doc/src/erlang.xml erts/emulator/beam/beam_bif_load.c erts/emulator/beam/beam_bp.c erts/emulator/beam/beam_emu.c erts/emulator/beam/bif.c erts/emulator/beam/copy.c erts/emulator/beam/erl_alloc.c erts/emulator/beam/erl_alloc.types erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_bif_port.c erts/emulator/beam/erl_bif_trace.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_message.c erts/emulator/beam/erl_port_task.c erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_process_lock.c erts/emulator/beam/erl_trace.c erts/emulator/beam/export.h erts/emulator/beam/global.h erts/emulator/beam/io.c erts/emulator/sys/unix/sys.c erts/emulator/sys/vxworks/sys.c erts/emulator/test/port_SUITE.erl erts/etc/unix/cerl.src erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/prim_inet.beam erts/preloaded/src/prim_inet.erl lib/hipe/cerl/erl_bif_types.erl lib/kernel/doc/src/inet.xml lib/kernel/src/inet.erl
| * | Implement true asynchronous signaling between processes and portsRickard Green2012-12-071-47/+58
| | |
* | | Merge tag 'OTP_R15B03'Björn-Egil Dahlberg2012-11-272-1/+17
|\ \ \ | | | | | | | | | | | | The R15B03 release
| * | | Prepare releaseOTP_R15B03Erlang/OTP2012-11-262-1/+17
| | | |
| * | | Correct spec for erlang:process_info(Pid,links)Patrik Nyblom2012-11-161-1/+1
| | |/ | |/|
* | | Merge branch 'maint'Henrik Nord2012-10-031-4/+4
|\ \ \ | |/ /
| * | Fix handling of tuple set remote types appearing in tuple setsStavros Aronis2012-09-261-4/+4
| | | | | | | | | | | | | | | Originally reported by Joseph Wayne Norton, simplified testcase provided by Hans Bolinder.
* | | Merge tag 'OTP_R15B02'Björn-Egil Dahlberg2012-09-042-1/+45
|\ \ \ | |/ / | | | | | | The R15B02 release
| * | Prepare releaseOTP_R15B02Erlang/OTP2012-09-032-1/+45
| | |
* | | Merge branch 'maint'Björn-Egil Dahlberg2012-08-315-5/+5
|\ \ \ | |/ / | | | | | | | | | | | | Conflicts: lib/diameter/autoconf/vxworks/sed.general xcomp/README.md
| * | Update copyright yearsBjörn-Egil Dahlberg2012-08-315-5/+5
| | |
* | | Merge branch 'maint'Sverker Eriksson2012-08-291-1/+1
|\ \ \ | |/ / | | | | | | | | | Conflicts: lib/hipe/cerl/erl_bif_types.erl
| * | Merge branch 'sverk/dialyzer-warnings' into maintSverker Eriksson2012-08-291-1/+10
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | * sverk/dialyzer-warnings: Fix dialyzer warning for erlang:statistics(scheduler_wall_time) Fix dialyzer warning for system_flag(scheduler_wall_time) Fix dialyzer warning for hipe_bifs:remove_refs_from(all)
| | * | Fix dialyzer warning for erlang:statistics(scheduler_wall_time)Sverker Eriksson2012-08-281-0/+3
| | | |
| | * | Fix dialyzer warning for system_flag(scheduler_wall_time)Sverker Eriksson2012-08-281-0/+6
| | | |