Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
This commit introduces two BIFs:
* erts_internal:map_type/1
* erts_internal:map_hashmap_children/1
erts_internal:map_hashmap_children/1 is only intended for use within
erts_debug:size/1 since the internal hashmap node is not allowed to
leak anywhere.
|
|
|
|
|
|
|
|
where key 1 is less than key 1.0
|
|
This is a commit to enable printouts of hashmaps during development and
will be enhanced once hashmaps are in place.
|
|
* nox/maps-match_specs-fixes/OTP-12270:
erts: Strengthen maps match spec compilation tests
Properly collect variables in match specs with maps
Fix compilation of match specs with maps
|
|
Substitute references to edoc_lib:get_doc_env/3 for references to
edoc_lib:get_doc_env/4.
|
|
|
|
* shijiang1130/master:
Add client example for using the SSH module
OTP-12558
|
|
* maint:
asn1ct_gen: Correct generation of .hrl files for multiple ellipses
Fix BER code generation
|
|
* egil/revert-os_getenv-test_server:
Revert "Start using os:getenv/2 fun" in test_server
|
|
* bjorn/asn1/double-ellipses/OTP-12546:
asn1ct_gen: Correct generation of .hrl files for multiple ellipses
Fix BER code generation
|
|
* dgud/kernel/unicode_file_read/OTP-12144:
kernel: Add test for unicode mode in file
kernel: Fix file:read_line/1 unicode error handling
|
|
* dgud/observer/misc-fixes:
observer: Fix external monitors to registered processes in cdv
observer: Cleanup io server parts
observer: Fix range test
|
|
* dgud/observer/crashdump-run-queue/OTP/12401:
observer: Add scheduler run queue to cdv
|
|
* maint:
mnesia: Flush late messages
Add Debug info
mnesia: better debug info when tests fail
mnesia: Ensure tables are loaded before testing them
|
|
* dgud/testcasecuddle:
mnesia: Flush late messages
Add Debug info
mnesia: better debug info when tests fail
mnesia: Ensure tables are loaded before testing them
|
|
|
|
* hb/pr/357:
Make the scanned form of the io_lib format strings available for processing
|
|
* hb/dialyzer/fix_from_form/OTP-12350:
[dialyzer] Correct handling of limited opaque types
[dialyzer] Add testcases
[dialyzer] Limit depth and size of types from forms
[dialyzer] Fix the conversion of forms to types
|
|
|
|
When a file was opened with some unicode encoding, file:read_line/1
could return unicode codepoints > 255 in list mode and wrong error
message in bin mode.
Chose to break out 'get_line' functionality from get_chars/5 since
'get_until' handling is different (comes from io module which should
return unicode lists) and seems to have its own (doc?) problems.
|
|
|
|
* josevalim/jv-binary-ets:
Support binary standard input in ets:i/1
OTP-12550
|
|
|
|
The tests cannot be handled by earlier versions of Dialyzer.
|
|
|
|
In particular fix handling of records.
|
|
This adds three new functions to io_lib - scan_format/2, unscan_format/1,
and build_text/1 - which expose the parsed form of the format control
sequences to make it possible to easily modify or filter the input to
io_lib:format/2. This can e.g. be used in order to replace unbounded-size
control sequences like ~w or ~p with corresponding depth-limited ~W and ~P
before doing the actual formatting.
|
|
|
|
* mururu/fix-type:
Fix typos in the public_key doc
OTP-12549
|
|
* ia/ssl/crl-cache/OTP-10362:
ssl: fix white box tests
ssl: Integrate public_key CRL verification with the ssl application
|
|
Conflicts:
erts/test/otp_SUITE.erl
|
|
* seriyps/zlib-inflate-bound:
Add zlib limited output buffer size functionality
Conflicts:
erts/preloaded/ebin/zlib.beam
OTP-12548
|
|
* erland/ssh/time/OTP-12444:
Update misleading comment in ssh_basic_SUITE
Update new time API and be back-compatible in ssh
Use new time API and be back-compatible in ssh otp_SUITE: Ignore undefined functions in ssh
|
|
|
|
|
|
|
|
* ia/public_key/crl/OTP-12547:
public_key: Improve CRL handling support
|
|
|
|
* bjorn/compiler/maps:
v3_codegen: Teach the put_map_* instructions to reuse source registers
beam_validator: Tighten tests of maps
v3_core: Eliminate the sloppiness-encouraging get_ianno/1 function
v3_core: Add is_map tests before map instructions
beam_type: Use the complete register map when calculating liveness
Introduce '%live' annotations with a complete register map
beam_validator: Teach bif_type/3 and is_bif_safe/2 about is_map/1
v3_core: Simplify conversion of map patterns
|
|
The put_map_assoc and put_map_exact instructions in the run-time
system will support that the target register is the same as one of
the source registers. Teach the code generator to take advantage
of that.
The disadvantages of not reusing register when possible is that the
garbage collector may retain dead terms longer than necessary.
|
|
|
|
get_ianno/1 would retrieve either a bare annotation or an
annotation wrapped in an #a{} record. In both cases, it would
return a wrapped annotation.
We can replace the calls to get_ianno/1 with calls to get_anno/1,
because the argument is always an #iclause{} and all iclause records
are always initialized with a wrapped annotation.
|
|
If we have a sequence of put_map_* instructions operating on the
same map, it will be more efficient if we can have one is_map/2
instruction before put_map_* instructions, so that each put_map_*
does not need to test whether the argument is a map.
|
|
When calculating the number of live registers for allocation
instruction, it is not always safe to start with the number of live
registers at the start of the block. We will need to use the register
map to know whether there are any holes (dead registers) that are not
subsequently filled.
If the allocation instruction already has a number of live registers
calculated, there is nothing to be gained by raising it.
|