aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe
AgeCommit message (Collapse)Author
2011-09-08Merge branch 'dev' into majorHenrik Nord
2011-09-08Merge branch 'sa/dialyzer-dev' into devHenrik Nord
* sa/dialyzer-dev: Add origin information to #fun_var closures Suppress some warnings about generation of non-returning funs Enhance Dialyzer's inference on comparisons Fix infinite loop in dataflow Minor fix in dead code Update r9c/{inets,mnesia} results in dialyzer's test suite OTP-9529
2011-09-08Merge branch 'fm/external_size_2' into devHenrik Nord
* fm/external_size_2: Add erlang:external_size/2 BIF OTP-9528
2011-09-01Merge branch 'dev' into majorHenrik Nord
2011-09-01Merge branch 'ta/hipe_cleanup' into devHenrik Nord
* ta/hipe_cleanup: Clean up hipe.hrl.src (Signed-off-by: Kostis) OTP-9511
2011-08-29Enhance Dialyzer's inference on comparisonsStavros Aronis
This patch makes Dialyzer aware of Erlang's total ordering of terms, enabling discrepancy detection in cases where e.g. integer() < tuple() is treated as a comparison that might also return false (when it is certain to always return true).
2011-08-27Add erlang:external_size/2 BIFFilipe David Manana
This BIF's second parameter is a list of options. Currently the only allowed option is {minor_version, Version} where version is either 0 (default) or 1.
2011-08-26Merge branch 'dev' into majorBjörn Gustavsson
* dev: code: Optimize purge/1 and soft_purge/1 using check_old_code/1 Add erlang:check_old_code/1 check_process_code/2: Quickly return 'false' if there is no old code
2011-08-25Add erlang:check_old_code/1Björn Gustavsson
Add erlang:check_old_code/1 to quickly check whether a module has old code. If there is no old code, there is no need to call erlang:check_process_code/2 for all processes, which will save some time if there are many processes.
2011-08-16emulator: Add a fourth element in exception stacktracesBjörn Gustavsson
This commit is a preparation for introducing location information (filename/line number) in stacktraces in exceptions. Currently a stack trace looks like: [{Mod1,Function1,Arity1}, . . . {ModN,FunctionN,ArityN}] Add a forth element to each tuple that can be used indication the filename and line number of the source file: [{Mod1,Function1,Arity1,Location1}, . . . {ModN,FunctionN,ArityN,LocationN}] In this commit, the fourth element will just be an empty list, and we will change all code that look at or manipulate stacktraces.
2011-08-16Include location information for line instructions in BEAM filesBjörn Gustavsson
2011-08-16compiler, emulator: Introduce the line/1 instructionBjörn Gustavsson
Introduce the line/1 instruction in the compiler and the BEAM virtual machine. It will not yet be generated by the compiler and will not actually carry any information.
2011-07-19Clean up hipe.hrl.src (Signed-off-by: Kostis)Tuncer Ayaz
2011-07-06Remove deprecated concat_binary/1Björn Gustavsson
concat_binary/1 was deprecated in R13B04, but already in the R10B-2 release, the documentation recommends using list_to_binary/1 instead.
2011-06-20Add more specs and typesHans Bolinder
An incorrect spec, rpc:yield/1, has been fixed.
2011-05-24Prepare releaseOTP_R14B03Erlang/OTP
2011-05-23Fix erroneous definition of t_binary_compiled_pattern()Kostis Sagonas
While at it: 1. Moved types in their proper place 2. Did minor cleanups and 3. Took out an unused function
2011-05-16OTP-9094: [httpc] Add support for upload body streaming (PUT and POST).Micael Karlberg
Filipe David Manana OTP-9114: [ftp] Added (type) spec for all exported functions. OTP-9123: mod_esi:deliver/2 made to accept binary data. Bernard Duggan OTP-9124: [httpd] Prevent XSS in error pages. Michael Santos OTP-9131: [httpd] Wrong security property names used in documentation. Garrett Smith OTP-9157: [httpd] Improved error messages. Ricardo Catalinas Jim�nez OTP-9158: [httpd] Fix timeout message generated by mod_esi. Bernard Duggan OTP-9202: [httpd] Extended support for file descriptors. Attila Rajmund Nohl OTP-9230: The default ssl kind has now been changed to essl. OTP-9246: [httpc] httpc manager crash because of a handler retry race condition. Merge branch 'bmk/inets/inet56_integration' into dev
2011-05-02Fix handling of <<_:N,_:_*M>> type expressionsKostis Sagonas
2011-05-02Fix the argument of erlang:list_to_bitstring/1Kostis Sagonas
2011-05-02Move function to its proper placeKostis Sagonas
2011-05-02Remove unneeded function 'sequence/2'Stavros Aronis
Same functionality provided by string:join/2.
2011-04-06Merge branch 'dev' into bmk/inets/inet56_integrationMicael Karlberg
2011-04-05Merge branch 'ks/hipe-ppc64' into devHenrik Nord
* ks/hipe-ppc64: Enable HiPE by default when compiling for PPC64 Translate RTL to PPC code on PPC64 too Changes in ppc files for PPC64 Additions for the PPC64 backend Changes for the PPC64 backend Added loader for ppc64 New files for the 64-bit backends Cleanup tags OTP-9198
2011-03-22Fix hipe bug in convert_matchstate, bignum-padding one word too longSverker Eriksson
2011-03-17Merge branch 'dev' into ↵Micael Karlberg
bmk/inets/ftp/missing_spec_causes_dialyxer_problems/OTP-9114 Also fixed a bunch of "end-years" (was 2010 but should have been 2011, which the commit hook not happy with).
2011-03-14Prepare releaseOTP_R14B02Erlang/OTP
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-04Merge branch 'ks/process_status' into devNiclas Axelsson
* ks/process_status: Document exiting and garbage_collecting process statuses OTP-9102
2011-03-04Merge branch 'ks/hipe-icode-range-fix' into devNiclas Axelsson
* ks/hipe-icode-range-fix: Cleanup specs Fix bug in the simplification of inexact comparisons Various cleanups and cosmetic changes OTP-9101
2011-03-04Merge branch 'ks/code-spec-fixes' into devNiclas Axelsson
* ks/code-spec-fixes: Sanitize the specs of the code module OTP-9100
2011-03-02Document exiting and garbage_collecting process statusesKostis Sagonas
2011-02-14Translate RTL to PPC code on PPC64 tooKostis Sagonas
2011-02-14Changes in ppc files for PPC64Kostis Sagonas
2011-02-14Additions for the PPC64 backendKostis Sagonas
2011-02-14Cleanup specsKostis Sagonas
2011-02-14Fix bug in the simplification of inexact comparisonsKostis 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-14Various cleanups and cosmetic changesKostis Sagonas
2011-02-03Fix translation of bs_add's fail labelsKostis Sagonas
2011-01-31Sanitize the specs of the code moduleKostis Sagonas
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.
2011-01-20Merge branch 'ks/bs_start_match-fails' into devNiclas Axelsson
* ks/bs_start_match-fails: Fix erroneous fail info of a hipe_bs_primop OTP-9036
2011-01-17Merge branch 'bjorn/beam-loader/OTP-9030' into devBjörn Gustavsson
* bjorn/beam-loader/OTP-9030: (43 commits) c: Reduce memory footprint erl_posix_msg: Reduce memory footprint Introduce a few more variations of the move instructions Combine a move + jump sequence into the move_jump instruction Optimize and clean-up the exact equality/non-equality instructions Optimize addition of a small integer to a variable Introduce a special instruction for select_val with two values Introduce a few more specialized put_list instructions Eliminate the "put_list c n Dst" instructions Eliminate the specific move_sd instruction Eliminate use of GetArg1() in the badmatch and case_end instructions Eliminate use of GetArg2() in the i_element instruction Eliminate use of GetArg1() in the fast_element instruction Eliminate use of GetArg1() in the jump_on_val* instructions Eliminate use of GetArg1() in the select_val instruction beam_emu: Eliminate sloppy use of tmp_arg1 and tmp_arg2 beam_emu: Don't inline helper functions into process_main() beam_emu: Clean up calling of the error_handler module Simplify a select_val instruction that selects only one value Optimize creation of tuples ...
2011-01-17Add erts_debug:instructions/0 for listing all specific instructionsBjörn Gustavsson
erts_debug:instructions/0 is useful for finding which specific instructions that are not used at all.
2011-01-06Fix erroneous fail info of a hipe_bs_primopKostis Sagonas
2010-12-29Merge branch 'maint-r14' into devPatrik Nyblom
Conflicts: lib/stdlib/vsn.mk
2010-12-28Prepare releaseErlang/OTP
2010-12-28Set types correctly for open_port({spawn_executable, ...Patrik Nyblom
2010-12-28Fix native code compiler infinite loop and update type info for 're'Kostis Sagonas
The introduction of filenames being unicode binaries revealed a problem in the type analysis of the native code compiler which resulted in an infinite loop when compiling the 'filename' module. In addition, the hard-coded type information for the built-in functions of the 're' module was out-of-date, which resulted in erroneous type information for 'filelib' functions being stored in the PLT.
2010-12-21Merge branch 'ja/fix-hipe-spec-ets-new' into devNiclas Axelsson
2010-12-16Set types correctly for open_port({spawn_executable, ...Patrik Nyblom