aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2010-05-17Add guard BIFs binary_part/2,3Patrik Nyblom
Add the gc_bif's to the VM. Add infrastructure for gc_bif's (guard bifs that can gc) with two and. three arguments in VM (loader and VM). Add compiler support for gc_bif with three arguments. Add compiler (and interpreter) support for new guard BIFs. Add testcases for new guard BIFs in compiler and emulator.
2010-05-17Add binary:{encode,decode}_unsigned({1,2}Patrik Nyblom
Add testcases for encode/decode_unsigned/1,2.
2010-05-17Add referenced_byte_size/1Patrik Nyblom
Add testcases for referenced_byte_size/1. Add failure tests for referenced_byte_size.
2010-05-17Add binary:list_to_bin/1 and binary:copy/1,2Patrik Nyblom
Add testcases for binary:list_to_bin/1 and binary:copy/1,2. Add reference implementation of list_to_bin/1.
2010-05-17Add bin_to_list/{1,2,3}Patrik Nyblom
Add testcases for bin_to_list. Teach binref.erl bin_to_list.
2010-05-17Add binary:longest_common_prefix/longest_common_suffixPatrik Nyblom
Add allcoator parameter to erts_get_aligned_binary_bytes_extra. Add testcases for the functions above. Add reference implementation for the functions above.
2010-05-17Add binary:part to erl_bif_binary.cPatrik Nyblom
Change name of the 'scope' option for binary:match/matches. Add split and replace to binary.erl. Cleanup comments etc in binary.erl and atom.names Add testcases for part, split, replace and scopes.
2010-05-17Count reductions for process even when not trappingPatrik Nyblom
Set loop factors to 10. Teach erts_debug:set_internal_state to limit loop factor for binary. Add random tests for matches and match with multiple searchstrings.
2010-05-17Add random compare testcasePatrik Nyblom
Fix heap-hole when trapping in binary.c Fix boyer more segfaulting when searchstring is longer than haystack
2010-05-17Teach binary.c the semantics to take longest instead of shortest matchPatrik Nyblom
Add testcase embryos and reference implementation. Change name of compile function according to EEP31.
2010-05-17Initial commit of the binary EEPPatrik Nyblom
2010-05-17Removed/commented out currently dead code.Ingela Anderton Andin
2010-05-12timer: Update specs and apply tidier cleanupsKostis Sagonas
2010-05-12Merge branch 'bg/compiler-attributes' into devErlang/OTP
* bg/compiler-attributes: Remove opaque declarations from the attributes
2010-05-12hipe_beam_to_icode: Correct names of new recv_* instructionsKostis Sagonas
The bug was introduced in d60f055697cfe8e7f94be4d291d49bb00a66bc52.
2010-05-12OTP-8629 stdlib: prepare erl_parse.yrl for future extensionHans Bolinder
2010-05-12OTP-8628 stdlib: correction lists(3)Hans Bolinder
The documentation of lists:keysort/2 states that the sort is stable.
2010-05-12Remove opaque declarations from the attributesBjörn Gustavsson
-opaque declarations should not be retained in the attributes (because they will be loaded along with the code and are not useful). While at it, filter away those Dialyzer attributes as early as possible - in v3_kernel.
2010-05-12Merge branch 'bg/opt-receive' into devErlang/OTP
* bg/opt-receive: Test that gen_server:call/2,3 are fast even with a huge message queue erts: Add tests for the receive optimization Update primary bootstrap erts: Implement recv_mark/1 and recv_set/1 for real compiler tests: Cover the error handling code in beam_receive compiler test: Test optimization of receive statements Optimize selective receives in the presence of a large message queue Introduce the new recv_mark/1 and recv_mark/1 instructions Compile tests that communicate with R12 nodes with the r12 option Move p_run/2 to test_lib gen: Inline wait_resp_mon/2 to help the compiler optimize OTP-8623 bg/opt-receive reveive statements that can only read out a newly created reference are now specially optimized so that it will execute in constant time regardless of the number of messages in the receive queue for the process. That optimization will benefit calls to gen_server:call(). (See gen:do_call/4 for an example of a receive statement that will be optimized.)
2010-05-11OTP-8620 Updates of ct_sshPeter Andersson
2010-05-11Updated vsnIngela Anderton Andin
2010-05-11Handling of empty certificate extensions OTP-8626Ingela Anderton Andin
2010-05-11OTP-8561: A minor compiler related performance improvement.Micael Karlberg
OTP-8627: Fix flex lib(s) installation.
2010-05-11hipe_icode: Suppress a dialyzer warningKostis Sagonas
2010-05-11Merge branch 'bg/beam_lib' into devErlang/OTP
* bg/beam_lib: Remove redundant includes Make beam_lib:cmp/2 stricter OTP-8625 bg/beam_lib The beam_lib:cmp/2 function now compares BEAM files in stricter way. The BEAM files will be considered different if there are any changes except in the compilation information ("CInf") chunk. beam_lib:cmp/2 used to ignore differences in the debug information (significant for Dialyzer) and other chunks that did not directly change the run-time behavior.
2010-05-11Merge branch 'dgud/emacs-21-fix' into devErlang/OTP
* dgud/emacs-21-fix: Remove usage of 'font-lock-preprocessor-face' if not available
2010-05-11Merge branch 'pl/fix-shared-lib-install' into devErlang/OTP
* pl/fix-shared-lib-install: Fix shared libraries installation
2010-05-11Added ticketsIngela Anderton Andin
2010-05-11OTP-8568 RFC -5746Ingela Anderton Andin
New ssl now supports secure renegotiation as described by RFC 5746.
2010-05-11Test that gen_server:call/2,3 are fast even with a huge message queueBjörn Gustavsson
2010-05-11compiler tests: Cover the error handling code in beam_receiveBjörn Gustavsson
2010-05-11compiler test: Test optimization of receive statementsBjörn Gustavsson
We don't attempt to run the generated code, but use beam_disasm and check for the presence or absence (as appropriate) of the recv_mark/1 and recv_set/1 instructions.
2010-05-11Optimize selective receives in the presence of a large message queueBjörn Gustavsson
If a gen_server process has many messages in its message queue and calls another gen_server process, the selective receive in gen_server:call() will have to go through the entire message queue. Have the compiler generate the new mark_recv/1 and mark_recv/1 instructions that can avoid going through the entire message queue.
2010-05-11Introduce the new recv_mark/1 and recv_mark/1 instructionsBjörn Gustavsson
Make the recv_mark/1 and recv_mark/1 instructions known to the compiler and run-time system. For the moment, make the loader ignore any occurrences of those instructions in BEAM files. Also update hipe_beam_to_icode to ignore those instructions.
2010-05-11Compile tests that communicate with R12 nodes with the r12 optionBjörn Gustavsson
R12 nodes cannot load code that use the optimized receive that we are about to implement.
2010-05-10OTP-8563: Decode/Encode of Counter64 errorMicael Karlberg
OTP-8574: Option to allow invalid row OIDs OTP-8594: Make snmp forward compatible with new crypto OTP-8595: snmpc fails to compile BITS with "holes"
2010-05-10Move p_run/2 to test_libBjörn Gustavsson
It can be useful for other test suites.
2010-05-10gen: Inline wait_resp_mon/2 to help the compiler optimizeBjörn Gustavsson
We are about to introduce a new optimization that requires the creation of a monitor and the following receive statement to be in the same function.
2010-05-06Fix an erroneous specKostis Sagonas
While at it, take out redundant code.
2010-05-06Merge branch 'sv/sasl-fix-get_status' into devErlang/OTP
* sv/sasl-fix-get_status: Prepare patch release fix sys:get_status backward compatibility for sasl release_handler_1 OTP-8619 sv/sasl-fix-get_status In R13B04 sys:get_status was modified to invoke format_status/2 in the callback module if the module exports that function. This resulted in a change to the term returned from calling sys:get_status on the supervisor module, since supervisor is a gen_server and gen_server exports format_status. The sasl release_handler_1 module had a dependency on the pre-R13B04 term returned by sys:get_status when invoked on a supervisor, so the R13B04 change broke that dependency. This problem has been fixed by change release_handler_1 to handle both the pre-R13B04 and R13B04 terms that sys:get_status can return from a supervisor.
2010-05-06Merge branch 'bg/file-del_dir' into devErlang/OTP
* bg/file-del_dir: Adjust test of file:del_dir("..") to accept {error,einval}
2010-05-06Remove redundant includesBjörn Gustavsson
2010-05-06Make beam_lib:cmp/2 stricterBjörn Gustavsson
The beam_lib:cmp/2 function only compares the executable parts of the BEAM files, not attributes or abstract code. Since the types and specs (used by Dialyzer) are contained in the abstract code, beam_lib:cmp/2 will return 'ok' if the only difference between two BEAM file are in the types or specs. If an Erlang/OTP system is installed in a revision control system, and beam_lib:cmp/2 is used to avoid committing unchanged but newly compiled BEAM files, BEAM files with no other changes than in types or specs may not get updated, which can problems if Dialyzer or the debugger is run. To avoid that problem, change beam_lib:cmp/2 to compare all chunks *except* for the "CInf" chunk. The "CInf" chunk contains the compilation time, compiler options, and compiler version.
2010-05-06OTP-8563: Decode/Encode of Counter64 errorMicael Karlberg
OTP-8574: Option to allow invalid row OIDs OTP-8594: Make snmp forward compatible with new crypto OTP-8595: snmpc fails to compile BITS with "holes"
2010-05-05Adjust test of file:del_dir("..") to accept {error,einval}Björn Gustavsson
On FreeBSD, file:del_dir("..") will return {error,einval} rather than the expected {error,eexist}, and so will file:del_dir("../.."), and so on. It could be argued that we should change the implementation of file:del_dir/1 to remap the error code (as some other error codes are remapped to reduce the differences between different platforms), but the consistency gained does not seem to be worth the effort. Therefore, until we'll find a real-world use case where it is essential to have consistent error codes for file:del_dir("..") on all platforms, change the test case to accept both errors.
2010-05-05Prepare patch releaseBjörn Gustavsson
2010-05-05fix sys:get_status backward compatibility for sasl release_handler_1Steve Vinoski
In R13B04 sys:get_status was modified to invoke format_status/2 in the callback module if the module exports that function. This resulted in a change to the term returned from calling sys:get_status on the supervisor module, since supervisor is a gen_server and gen_server exports format_status. The sasl release_handler_1 module had a dependency on the pre-R13B04 term returned by sys:get_status when invoked on a supervisor, so the R13B04 change broke that dependency. Change release_handler_1 to handle both the pre-R13B04 and R13B04 terms that sys:get_status can return from a supervisor.
2010-05-04Merge branch 'rd/erlang-eunit' into devErlang/OTP
* rd/erlang-eunit: erlang-eunit.el: Require cl, as it is used
2010-05-03Remove usage of 'font-lock-preprocessor-face' if not availableDan Gudmundsson
i.e. in emacs-21
2010-05-03Add type info for erlang:load_nif/2Kostis Sagonas