Age | Commit message (Collapse) | Author |
|
Add testcases and clean up to get better code coverage.
|
|
|
|
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.
|
|
Add testcases for encode/decode_unsigned/1,2.
|
|
Add testcases for referenced_byte_size/1.
Add failure tests for referenced_byte_size.
|
|
Add testcases for binary:list_to_bin/1 and binary:copy/1,2.
Add reference implementation of list_to_bin/1.
|
|
Add testcases for bin_to_list.
Teach binref.erl bin_to_list.
|
|
Add allcoator parameter to erts_get_aligned_binary_bytes_extra.
Add testcases for the functions above.
Add reference implementation for the functions above.
|
|
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.
|
|
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.
|
|
Fix heap-hole when trapping in binary.c
Fix boyer more segfaulting when searchstring is longer than haystack
|
|
Add testcase embryos and reference implementation.
Change name of compile function according to EEP31.
|
|
|
|
|
|
|
|
* bg/compiler-attributes:
Remove opaque declarations from the attributes
|
|
The bug was introduced in d60f055697cfe8e7f94be4d291d49bb00a66bc52.
|
|
|
|
The documentation of lists:keysort/2 states that the sort is stable.
|
|
-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.
|
|
* 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.)
|
|
|
|
|
|
|
|
OTP-8627: Fix flex lib(s) installation.
|
|
|
|
* 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.
|
|
* dgud/emacs-21-fix:
Remove usage of 'font-lock-preprocessor-face' if not available
|
|
* pl/fix-shared-lib-install:
Fix shared libraries installation
|
|
|
|
New ssl now supports secure renegotiation as described by RFC 5746.
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
R12 nodes cannot load code that use the optimized receive that
we are about to implement.
|
|
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"
|
|
It can be useful for other test suites.
|
|
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.
|
|
While at it, take out redundant code.
|
|
* 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.
|
|
* bg/file-del_dir:
Adjust test of file:del_dir("..") to accept {error,einval}
|
|
|
|
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.
|
|
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"
|
|
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.
|
|
|
|
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.
|
|
* rd/erlang-eunit:
erlang-eunit.el: Require cl, as it is used
|