Age | Commit message (Collapse) | Author |
|
|
|
* ingela/ssl/test-move:
ssl: Move tests from ssl_certificate_verify_SUITE to ssl_cert_SUITE
|
|
* john/erts/cp-management-fixup:
erts: Simplify deallocate_return
|
|
* maint:
erts: Add missing prototype
|
|
* john/erts/missing-prototype-erts_bin_nrml_alloc_fnf:
erts: Add missing prototype
|
|
|
|
Test should be run for all diffrent cert types. ssl_payload_SUITE
should test socket active option.
|
|
|
|
* maint:
Update test suite
Also unwrap map_type_* name and value
Add unwrap calls to map_field_* in erl_syntax
|
|
maint
* zadean/syntax_tools/add_missing_unwrap/OTP-16012/PR-2348:
Update test suite
Also unwrap map_type_* name and value
Add unwrap calls to map_field_* in erl_syntax
|
|
* maint:
Fix filelib:wildcard/1,2 for patterns containing ".." and/or "@"
|
|
bjorng/bjorn/stdlib/fix-file_lib-wildcard/ERL-1029/OTP-15987
Fix filelib:wildcard/1,2 for patterns containing ".." and/or "@"
|
|
Change internal hash table implementation
|
|
|
|
Start up of SASl when compared log level is all
|
|
* sverker/ets-test-cuddle:
stdlib: Fix ets_SUITE:tabfile_ext4
|
|
on machines with long host names.
Move forward the file location interval to corrupt.
An ETS table file corrupted in the header may still be readable
with table content unchanged and that will cause tabfile_ext4 to fail.
The header length increase with long host names and added table options.
|
|
|
|
* sverker/ets-delete-tree-trapping:
erts: Refactor ets catree deletion
|
|
|
|
* ingela/ssl/test-cuddle:
ssl: Make sure test starts in a "good" state
ssl: Cuddle timeout
|
|
|
|
|
|
Add record with exact and associated map types to type_specs.erl. The
record forces the erl_parse format for map types to be retained.
Add test wrapped_subtrees to the test suite. It ensures that each
erl_parse node it encounters can be wrapped and accessed with
erl_syntax:subtrees/1 without error.
|
|
|
|
This adds missing calls to unwrap/1 for the map_field_* name and value functions and puts them inline with map_expr_fields/1.
Using these functions with "wrapped" nodes fails with badarg.
|
|
Optimize continuation pointer management
|
|
The `move_call` instructions are combinations of a `move` instruction
and a `call` instruction. As currently implemented, the `move` part of
the instruction is executed in its entirety before the `call` part is
even started. The reason is that the C compiler cannot see that it
would be safe to read the target address of the call before writing to
the move destination.
Rewrite the instructions to explicitly read both the source for the
move and the target address for the call before writing the
destination of the move.
Micro-benchmarks show a small but consistent speed-up after this
change.
|
|
Eliminating the CP register and putting continuation
pointers directly on the stack made the deallocate_return
instruction slower.
Try to mitigate this slow down by specializing deallocate_return
for small stack. For the move_deallocate_return instruction,
reorder instructions to make it possible to execute the read
instructions in parallel.
|
|
The BEAM instructions for calling a function don't save the
continuation pointer (return address) on the stack, but to a special
BEAM register called CP. It is the responsibility of the called
function to save CP to the stack frame before calling other functions.
In the earlier implementations of BEAM on Sparc, CP was located in a
CPU register. That meant that the continuation pointer was never
written to memory when calling simple functions that didn't call
other functions at all or ended in a tail-call to another function.
The modern BEAM no longer keeps CP in CPU register. Instead, it is
kept in the `process` struct (in `p->cp`). That means the continuation
pointer must be written to the memory on every call, and if the called
function will call other functions, it will must read the continuation
pointer from `p->cp` and store it on the stack.
This commit eliminates the concept of the CP register and modifies
the call instructions to directly store the continuation pointer on
the stack. That makes allocation and trimming of stack frames slightly
faster. A more important benefit is simplification of code that handles
continuation pointers. Because all continuation pointers are now stored
on the stack, the special case of handling `p->cp` disappears.
Co-authored-by: John Högberg <[email protected]>
|
|
`..` was broken and only worked when it was used in the beginning
of the pattern before any wildcard characters. For example:
1> filelib:wildcard("erts/..").
["erts/.."]
Using `..` preceded by wildcard characters would not work:
1> filelib:wildcard("*/..").
[]
`@` is not a wildcard character but is used internally in `filelib` as
an escape character and was not handled as other literal
characters. That could lead to performance degradation as it disabled
an optimization of the matching of the literal prefix of a pattern. It
would also cause the following example to fail:
1> filelib:wildcard("@/..").
[]
This commit corrects the handling `..` and also makes sure that the
use of `@` in a pattern does not degrade performance.
https://bugs.erlang.org/browse/ERL-1029
|
|
* josevalim/edoc/no-more-inets/OTP-15999/PR-2317:
system: Remove special handling of EDoc in otp_SUITE.
Remove inets dependency from edoc
|
|
|
|
Add helping verb
|
|
|
|
* ingela/ssl/test-cuddle:
public_key: Use another time in test certificates
ssl: Robustify test case
|
|
Some OpenSSL versions has problems handling the current selected time
causing interop tests to fail.
|
|
|
|
* hasse/remove_old_IO_requests/OTP-15695:
stdlib: Remove old I/O-requests from test suites
stdlib (doc): Do not mention old requests
snmp: Update old format I/O-request
sasl: Use encoding when reading terms
parsetools (doc): Update old format I/O-requests
mnesia: Update old format I/O-request
kernel: Update old format I/O-requests
stdlib: Remove no longer used function
kernel: Remove commented out code
stdlib: Remove commented out code
|
|
* maint:
eunit: Handle get_until requests with explicit encoding
|
|
* hasse/eunit/io_protocol_fix/OTP-16000:
eunit: Handle get_until requests with explicit encoding
|
|
|
|
|
|
|
|
* kpy3/fix-fd-leak-in-logger/OTP-15997:
Close log files in case of inode change properly
|
|
|
|
|
|
|
|
|
|
|