Age | Commit message (Collapse) | Author |
|
|
|
Magic references are *intentionally* indistinguishable from ordinary
references for the Erlang software. Magic references do not change
the language, and are intended as a pure runtime internal optimization.
An ordinary reference is typically used as a key in some table. A
magic reference has a direct pointer to a reference counted magic
binary. This makes it possible to implement various things without
having to do lookups in a table, but instead access the data directly.
Besides very fast lookups this can also improve scalability by
removing a potentially contended table. A couple of examples of
planned future usage of magic references are ETS table identifiers,
and BIF timer identifiers.
Besides future optimizations using magic references it should also
be possible to replace the exposed magic binary cludge with magic
references. That is, magic binaries that are exposed as empty
binaries to the Erlang software.
|
|
* egil/20/erts/signal-service/OTP-14186:
kernel: Document signal server
erts: Use os module instead of erts_internal for set_signal/2
erts: Do not handle SIGILL
erts: Fix thread suspend in crashdump
erts: Do not enable SIGINT
erts: Use generic signal handler
erts: Add OS signal tests
erts: Handle SIGUSR1 via signal service instead
erts: Handle SIGTERM via signal service instead
kernel: Add gen_event signal server and default handler
erts: Add SIGHUP signal handler
erts: Remove whitespace errors
Conflicts:
erts/emulator/beam/bif.tab
|
|
* Add specs
* Change return signature to 'ok' instead of 'true'
|
|
* Remove SIGILL from signal whitelist
|
|
|
|
* josevalim/atu8-chunk/PR-1078/OTP-14178:
Add new AtU8 beam chunk
|
|
The new chunk stores atoms encoded in UTF-8.
beam_lib has also been modified to handle the new
'utf8_atoms' attribute while the 'atoms' attribute
may be a missing chunk from now on.
The binary_to_atom/2 BIF can now encode any utf8
binary with up to 255 characters.
The list_to_atom/1 BIF can now accept codepoints
higher than 255 with up to 255 characters (thanks
to Björn Gustavsson).
|
|
|
|
|
|
* sverker/cuddle-port_trace_SUITE:
erts: Fix port_trace_SUITE to join threads
|
|
* sverker/ASSERT_IN_ENV:
erts: Add macro ERTS_PROC_LOCKS_HIGHER_THAN
erts: Cleanup and extra assertions in nif_SUITE.c
erts: Cleanup enif_make_reverse_list
erts: Add assertions for correct ErlNifEnv
erts: Make erts_dbg_within_proc available
# Conflicts:
# erts/emulator/beam/erl_gc.h
|
|
|
|
|
|
when port is closed before driver may be unloaded.
|
|
|
|
|
|
|
|
* maint:
Fix processes() BIF test cases
|
|
* rickard/test-fix:
Fix processes() BIF test cases
|
|
|
|
|
|
* sverker/cuddle-port_SUITE:
erts: Fix some compile warnings for port_SUITE
erts: Add missing make rules for port_SUITE
|
|
|
|
Make depth of current_stacktrace configurable
|
|
|
|
|
|
Seems some default rule made it work before
until an upgrade of FreeBSD resulted in:
make: don't know how to make dead_port. Stop
|
|
* mikpe/erts/system_info-atom_table/PR-1286/OTP-13976:
erts: add erlang:system_info(atom_count)
|
|
|
|
|
|
* sverker/cuddle-port_SUITE:
erts: Fix faulty printout in port_SUITE
|
|
|
|
* maint:
Remove faulty release note for these fixes
New test cases testing stacktrace from apply on erlang:error()
Fix stactrace for apply on error/[1,2], exit/1, or throw/1
Fix stack-trace generated by a traced process
Conflicts:
erts/emulator/beam/beam_emu.c
erts/etc/unix/etp-commands.in
|
|
OTP-14055
* rickard/stacktrace-bugs:
Remove faulty release note for these fixes
New test cases testing stacktrace from apply on erlang:error()
Fix stactrace for apply on error/[1,2], exit/1, or throw/1
Fix stack-trace generated by a traced process
|
|
|
|
|
|
|
|
|
|
* sverker/cuddle-code_SUITE-versions:
erts: Fix hanging race in code_SUITE:versions
|
|
* maint:
Create CONTRIBUTING.md (#1278)
Make sure that Travis fails when test cases fail
Don't include problematic test cases in smoke test
|
|
The BIF process_info(Pid, current_stacktrace) truncates the
stacktrace. The old behavior was to truncate long stacktraces to max
8 items. And this was hard coded. Now it is truncated to the value of
system_flag(backtrace_depth) instead. The backtrace_depth defaults to
8, but is configurable.
|
|
In time_SUITE, the univ_to_local/1 and local_to_univ/1 test cases will
fail if they are run outside the CET timezone. The consistency/1
test case uses is not reliable in March and October because it
uses a simplified model for when the switch to/from DST is done.
|
|
Monitor first, then ask to terminate.
|
|
* maint:
Update copyright-year
Conflicts:
lib/dialyzer/src/dialyzer.hrl
lib/dialyzer/src/dialyzer_options.erl
lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer.hrl
lib/dialyzer/test/opaque_SUITE_data/src/recrec/dialyzer_races.erl
lib/hipe/icode/hipe_icode.erl
lib/hipe/main/hipe.erl
lib/hipe/main/hipe.hrl.src
lib/hipe/main/hipe_main.erl
|
|
|
|
* sverker/cuddle-hipe-fun-purge-test:
erts: Fix race in code_SUITE:call_purged_fun_*
erts: Refactor test code
erts: Add ?line macro for some hipe testing
|
|
Must wait for process P0 to enter fun F2
before starting purge, to make sure it's not suspended.
|
|
|
|
|