aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-01-17Allow packing of some more instructionsBjörn Gustavsson
2011-01-17Support packing of the 'I' type in a 64-bit emulatorBjörn Gustavsson
In many (not all) cases, the value for the 'I' type will fit into 32 bits.
2011-01-17beam_makeops: Refactor packing code to facilitate extensionsBjörn Gustavsson
We don't want the packable types listed in two places.
2011-01-17Eliminate redundant jump instructionsBjörn Gustavsson
2011-01-17Eliminate the special instructions for selecting floats and bignumsBjörn Gustavsson
2011-01-17Add test for non-matching big numberBjörn Gustavsson
2011-01-17BEAM loader: Introduce a new move2_xxxx instructionBjörn Gustavsson
2011-01-17BEAM loader: Pack more instructions using a new 'Q' typeBjörn Gustavsson
Introduce a new 'Q' type, similar to 'P' except that it can be packed.
2011-01-17If the wordsize is 64 bits, pack up to 4 operands into a wordBjörn Gustavsson
In the 32-bit BEAM emulator, it is only possible to pack 3 register operands into one word. Therefore, the move2 instruction (that has 4 operands) needs two words for its operands. Take advantage of the larger wordsize in the 64-bit emulator and pack up to 4 operands into a single word.
2011-01-17Pass the external word size to the beam_makeops scriptBjörn Gustavsson
Giving the beam_makeops script access to the external word size (=the size of instruction words) will allow it to pack more operands into a word for the 64 bits emulator.
2011-01-17BEAM loader: Combine is_type/1 and is_eq/1 instructionsBjörn Gustavsson
In the transformation engine in the loader, an is_eq/1 instruction is currently always preceded by an is_type/1 instruction. Therefore, save a word and slight amount of time by combining those instructions into an is_type_eq/2 instruction.
2011-01-17BEAM loader: Omit type tests for instructions that don't need themBjörn Gustavsson
2011-01-17beam_debug: Fix dissambly of some variable-operand instructionsBjörn Gustavsson
The i_jump_on_val_zero/3 and i_select_tuple_arity/3 instructions were not disassembled correctly.
2011-01-17beam_debug: Change one occurrence of "X[0]" to "x[0]" for consistencyBjörn Gustavsson
2011-01-17beam_makeops: Allow -pack and -nonext to be combinedBjörn Gustavsson
2011-01-17beam_makeops: Relax requirements for having specific instructionsBjörn Gustavsson
2011-01-17BEAM loader: Fix bug in handling of "rest" argumentsBjörn Gustavsson
It would only really work in simple case like: select_val S=q Fail=f Size=u Rest=* => ... where all operands for a single instruction where bound to variables, and not for more complicated cases such as: i_put_tuple Dst Arity Puts=* | put PutSrc => ...
2011-01-17Remove the last vestiges of the allocating fmove/2 instructionBjörn Gustavsson
There was a version of the BEAM loader and emulator that had two versions of the fmove/2 instruction, one version that allocated heap space internally and a newer version that assumed that a previous test_heap/2 instruction had already allocated the heap space. Though the allocating fmove/2 instruction is no longer supported, some vestiges of it still remains.
2011-01-17Makefile.in: Add dependency for files generated by util/beam_makeopsBjörn Gustavsson
2011-01-17Add utils/count for counting the static instruction frequencyBjörn Gustavsson
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-17Update release notesErlang/OTP
2011-01-17Merge branch 'ia/ssl/unknown-extension-handling-verify-none/OTP-9029' into ↵Erlang/OTP
maint-r14 * ia/ssl/unknown-extension-handling-verify-none/OTP-9029: Prepare for release Verification of a critical extended_key_usage-extension corrected
2011-01-17Merge branch 'ia/ssl/uncache-pem/OTP-9018' into maint-r14Erlang/OTP
* ia/ssl/uncache-pem/OTP-9018: Corrected handling of data from an ets select.
2011-01-17Prepare for releaseIngela Anderton Andin
2011-01-17Verification of a critical extended_key_usage-extension correctedIngela Anderton Andin
When a verify fun is supplied, it should not be called to verify the extended_key_usage-extension when it is already verified by the ssl_certificate:validate_extension/2
2011-01-17Merge branch 'ia/bas64-uses-dprecated-size' into devIngela Anderton Andin
* ia/bas64-uses-dprecated-size: Removed use of deprecated function size
2011-01-17Removed use of deprecated function sizeIngela Anderton Andin
2011-01-14Merge branch 'ia/ssl/connection-memory-size/OTP-9021' into devIngela Anderton Andin
* ia/ssl/connection-memory-size/OTP-9021: Reduce memory footprint
2011-01-13Merge branch 'pan/fortify-source-gcc-4.5' into devPatrik Nyblom
* pan/fortify-source-gcc-4.5: Remove strange name field in efile_drv.c as it upsets -D_FORTIFY_SOURCE OTP-9025
2011-01-13Merge branch 'sv/epmd-check-listen' into devPatrik Nyblom
* sv/epmd-check-listen: Remove special treatment of EADDRINUSE check return value of epmd server listen() call OTP-9024
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-12Remove strange name field in efile_drv.c as it upsets -D_FORTIFY_SOURCEPatrik Nyblom
2011-01-11Remove special treatment of EADDRINUSEPatrik Nyblom
2011-01-11check return value of epmd server listen() callSteve Vinoski
The listen() call can fail due to a variety of conditions, so check its return value and if it fails, print a suitable debug message if appropriate and then exit. The exit values used are the same for those already used for bind() failures: 0 if the error is EADDRINUSE, 1 otherwise.
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-10Corrected handling of data from an ets select.Ingela Anderton Andin
The previous code happened to worked if the select-statment returned only on entry.
2011-01-06Fix erroneous fail info of a hipe_bs_primopKostis Sagonas
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-29Merge branch 'egil/timer-wheel-min-time/OTP-8990' into devBjörn-Egil Dahlberg
* egil/timer-wheel-min-time/OTP-8990: Teach timer-wheel slots to use double linked lists Remove timer-thread implementation Refactor timer interface Teach timer-wheel to keep min time
2010-12-29Teach timer-wheel slots to use double linked listsBjörn-Egil Dahlberg
Conflicts: erts/emulator/beam/erl_time.h