aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
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-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-17c: Reduce memory footprintBjörn Gustavsson
Use a binary instead of a string for the help text.
2011-01-17erl_posix_msg: Reduce memory footprintBjörn Gustavsson
Since the error messages in the erl_posix_msg module are presumably used very seldom, save memory by using binaries instead of strings.
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-17Removed use of deprecated function sizeIngela Anderton Andin
2011-01-13Reduce memory footprintIngela Anderton Andin
Handshake hashes, premaster secret and "public_key_info" does not need to be saved when the connection has been established. The own certificate is no longer duplicated in the state.
2011-01-11Merge branch 'ia/ssl/doc-spec-discrepancy' into devIngela Anderton Andin
* ia/ssl/doc-spec-discrepancy: Fixed Dialyzer specs
2011-01-11Merge branch 'td/base64-mime-decoding' into devIngela Anderton Andin
* td/base64-mime-decoding: Improve pad character handling in base64 MIME decoding functions OTP-9020
2011-01-10Fixed Dialyzer specsIngela Anderton Andin
------------------------------------------------------------------------- ssl's published documentation states: ssl_accept(ListenSocket) -> ssl_accept(ListenSocket, Timeout) -> ok | {error, Reason} (see http://www.erlang.org/doc/man/ssl.html#ssl_accept-1) while its code has the specs: -spec ssl_accept(#sslsocket{}) -> {ok, #sslsocket{}} | {error, reason()}. -spec ssl_accept(#sslsocket{}, list() | timeout()) -> {ok, #sslsocket{}} | {error, reason()}. One of the two cannot be right. This should be fixed. Moreover, I do not see why the spec just mentions list() for the options when the documentation explicitly mentions the options of ssl. Kostis ---------------------------------------------------------------------
2011-01-03Merge branch 'vb/ei-exts' into devBjörn-Egil Dahlberg
* vb/ei-exts: Fix testcases erl_global_whereis, erl_global_names Fix wrong erl_compare_ext result comparing lists Correct erl_global{register, unregister} functions Add PID (~p) type parameters to ei_format Add char (~c) type parameters to ei_format OTP-9015 Conflicts: lib/erl_interface/include/ei.h
2010-12-30Fix testcases erl_global_whereis, erl_global_namesBjörn-Egil Dahlberg
Enable erl_global_whereis and erl_global names.
2010-12-29Merge branch 'ao/percept-web-stop-rebased' into devBjörn-Egil Dahlberg
* ao/percept-web-stop-rebased: Verifies the consistency of stopping behavior. Fixes a bug found in percept:stop_webserver/1, where it doesn't stop the webserver completely OTP-9012
2010-12-29Verifies the consistency of stopping behavior.Ahmed Omar
Updated the test case webserver to cover both stopping functions stop_webserver/1 and stop_webserver/0.
2010-12-29Fixes a bug found in percept:stop_webserver/1, where it doesn't stop the ↵Ahmed Omar
webserver completely percept:stop_webserver/1 will only stop the httpd service in inets, but not the percept_httpd process. As a result, when trying to start the webserver again it will return {error, already_started}. Test case was updated to simulate this case and fix is included to stop the webserver in a consistent way wether stop_webserver/0 or stop_webserver/1 was used.
2010-12-29Merge branch 'ao/percept-race-cond' into devBjörn-Egil Dahlberg
* ao/percept-race-cond: Fixes a race condition found in percept_db start/1 function. OTP-9012
2010-12-29Merge branch 'maint-r14' into devPatrik Nyblom
Conflicts: lib/stdlib/vsn.mk
2010-12-29Merge branch 'pan/r14b01-dialyzer-type-corrections' into devPatrik Nyblom
* pan/r14b01-dialyzer-type-corrections: Correct type specs in io
2010-12-28Prepare releaseErlang/OTP
2010-12-28Correct type specs in ioPatrik Nyblom
2010-12-28Remove dead code (and dialyzer errors) from filename and rePatrik Nyblom
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-21Correct type specs in ioPatrik Nyblom
2010-12-21Merge branch 'ja/fix-hipe-spec-ets-new' into devNiclas Axelsson
2010-12-21Merge branch 'sa/dialyzer-or-fix' into devNiclas Axelsson
2010-12-21Merge branch 'pan/r14b01-dialyzer-type-corrections' into devPatrik Nyblom
* pan/r14b01-dialyzer-type-corrections: Remove faulty change left by mistake in epp OTP-9008
2010-12-21Remove faulty change left by mistake in eppPatrik Nyblom
2010-12-21Merge branch 'pan/r14b01-dialyzer-type-corrections' into devPatrik Nyblom
* pan/r14b01-dialyzer-type-corrections: Removed dead code Remove dead code (and dialyzer errors) from filename and re Set types correctly for open_port({spawn_executable, ... OTP-9008
2010-12-21Merge branch 'bjorn/compiler/export-type/OTP-8998' into devBjörn Gustavsson
* bjorn/compiler/export-type/OTP-8998: compiler: Don't include -export_type as attributes in BEAM files
2010-12-21compiler: Don't include -export_type as attributes in BEAM filesBjörn Gustavsson
Similar to -spec and -type, -export_type should be not be included as attributes (and therefore loaded) in BEAM files, but only in the abstract code chunk.
2010-12-21Merge branch 'bjorn/bs-zero-width-bug/OTP-8997' into devBjörn Gustavsson
* bjorn/bs-zero-width-bug/OTP-8997: Fix type-checking of variable used in zero-width bit syntax construction
2010-12-21Fix type-checking of variable used in zero-width bit syntax constructionBjörn Gustavsson
<<A:0>> will always produce an empty binary, regardless of the type of A. The bug is in the run-time system. Fix it so that a non-numeric value for A will cause a badarg exception. Reported-by: Zvi
2010-12-20Merge branch 'maint-r14' into devIngela Anderton Andin
2010-12-20Merge commit 'build/maint-r14/2010-12-20_15.15' into maint-r14Ingela Anderton Andin
2010-12-20Merge branch 'pan/unicode-filenames/testcase-correction' into devPatrik Nyblom
* pan/unicode-filenames/testcase-correction: Make file_name_SUITE:very_icky work on Windows OTP-8887
2010-12-20Merge branch 'ks/r14b01-hipe-fix' into devPatrik Nyblom
* ks/r14b01-hipe-fix: Fix native code compiler infinite loop and update type info for 're' OTP-9008
2010-12-20Fix bug in the handling of 'or' by DialyzerStavros Aronis
Dialyzer had a minor issue when the arguments of the built-in function 'or' had the fixed value 'false'. This testcase should return no warnings: -module(false_false). -export([false_or/0]). false_or() -> false or false.
2010-12-20Merge branch 'pan/bad-dist-msg/OTP-8993' into devPatrik Nyblom
* pan/bad-dist-msg/OTP-8993: Remove ancient distribution message DOP_NODE_LINK from all code Teach VM not to dump core on bad dist message structure
2010-12-20Removed dead codePatrik Nyblom
2010-12-20Make file_name_SUITE:very_icky work on WindowsPatrik Nyblom
2010-12-17Remove dead code (and dialyzer errors) from filename and rePatrik Nyblom
2010-12-17Merge branch 'maint-r14' into devNiclas Eklund
2010-12-17Merge branch 'maint-r13' into maint-r14Niclas Eklund
Conflicts: lib/orber/doc/src/notes.xml lib/orber/vsn.mk
2010-12-17Update release notesErlang/OTP
2010-12-17Merge branch 'ia/ssl/session-and-cert-cache-handling/OTP-8965' into maint-r14Erlang/OTP
* ia/ssl/session-and-cert-cache-handling/OTP-8965: Prepare for release Cache invalidation and consistent user closing Cache invaldation first version does not break old test cases
2010-12-17Merge branch 'rickard/ets-tab-delete/OTP-8999' into devRickard Green
* rickard/ets-tab-delete/OTP-8999: Safe deallocation of ETS-table structures Fix rwlock resource leak when hitting system limit Conflicts: erts/emulator/beam/erl_process.h erts/emulator/beam/erl_process.c
2010-12-17Merge branch 'bmk/inets/httpd_hrl_file_install/OTP-8988' into devIngela Anderton Andin
* bmk/inets/httpd_hrl_file_install/OTP-8988: External include files
2010-12-17Cleaned up meaningless code discovered thanks to coverIngela Anderton Andin
2010-12-16External include filesMicael Karlberg
HTTPD header file install "fixed". That is, the include files in the include dir are installed in the include dir (by the Makefile in the src/inets_app). New wrapper header files (with the same names httpd.hrl and mod_auth.hrl) has been created in the src/http_server dir (which in turn is installed in the src/http_server dir by the Makefile in the src/http_server dir).