Age | Commit message (Collapse) | Author |
|
* bjorn/erts/clang-opt:
Fix unsafe transformation of apply/3 with fixed arguments
|
|
* egil/erts/fix-flatmap-get/OTP-13459:
erts: Don't search for non-existing Map keys twice
|
|
* For maps:get/2,3 and maps:find/2, searching for an immediate key, e.g. an atom,
the search was performed twice if the key did not exist in the map.
|
|
* rickard/proc-free-fix/OTP-13446:
Fix bad refc management of process struct
Conflicts:
erts/emulator/beam/erl_process.c
|
|
|
|
62473daf introduced an unsafe optimization in the loader.
See the comments in the test case for an explanation of
the problem.
|
|
Bug introduced on master in a31eab5469b7740d.
|
|
* lukas/erts/etp-bigendian-pid-fix:
erts: Fix etp pid print on big endian
|
|
* lukas/erts/enif_trace_functions/OTP-13442:
erts: Fix bug in enif_send
erts: Fix windows nif port tests
erts: Fix bug in enif_term_to_binary
erts: Remove printout when dec_term fails in DEBUG
erts: Polish erl_nif docs
erts: Improve enif_binary_to_term
erts: Add enif_port_command
erts: Add enif_term_to_binary and enif_binary_to_term
erts: Add enif_is_process/port_alive
erts: Add enif_cpu/now_time and enif_make_unique_integer
|
|
Let cache_env() set env->heap_frag to same as MBUF(p)
as it is in any other case.
|
|
|
|
Wait until after dec_term and factory_close to do cache_env(),
otherwise we will cache the wrong state.
|
|
|
|
|
|
* Accept a raw data buffer instead of ErlNifBinary
* Accept option ERL_NIF_BIN2TERM_SAFE
* Return number of read bytes
|
|
|
|
|
|
|
|
|
|
* rickard/improve-psd/OTP-13428:
Improve process/port specific data management
|
|
* rickard/delayed-gc-fix:
Allow delayed gc while scheduled out
|
|
* rickard/port-sig-dropped-fix/OTP-13424:
Fix implementation of dropped signal to port
|
|
* lukas/erts/inline_tagvaldef/OTP-13440:
erts: inline tag_val_def
|
|
The tag_val_def function was called and multiple switch statements
had to be traversed in term.c, and then a big switch in the calling
code to branch on the term types. By inlining the switches are
merged by the compiler and a lot fewer branches have to be taken.
Benchmarks show that this increases performance of enc_term by as
much as 10%.
|
|
* lukas/erts/fix_pthread_setname_osx/OTP-13439:
erts: Fix pthread_setname_np warning on osx
|
|
* lukas/erts/low_write_freq_darwin/OTP-12345:
erts: Fix LOW_WRITE section for non llvm os x compilation
|
|
|
|
|
|
|
|
* bjorn/optimize-start-up/OTP-13368:
Update preloaded modules
init: Load modules in parallel using the new loader BIFs
systools_make: Add commonly used modules to mandatory_modules/0
compile: Pre-load compiler modules when invoked from 'erlc'
|
|
* bjorn/macosx-configure:
configure: Remove obsolete --enable-darwin-* options
|
|
* egil/fix-ttsl_drv-log:
Fix ttsl_drv logging without TERMCAP
|
|
|
|
* lukas/erts/scheduler_SUITE_compile_win/OTP-13428:
Fix dirty scheduler tc on windows
|
|
* lukas/erts/fix-vsyslog-freebsd/OTP-13427:
erts: Fix run_erl syslog prototypes for freebsd
Conflicts:
erts/etc/unix/run_erl.c
|
|
* lukas/erts/fix_scheduler_suspend/ERL-94/PR-978/OTP-13425:
erts: Fix install of suspend handler
Conflicts:
erts/emulator/sys/unix/erl_unix_sys.h
erts/emulator/sys/unix/sys.c
|
|
|
|
|
|
Remove the options:
--enable-darwin-universal
--enable-darwin-64bit
The --enable-darwin-universal option turns on universal binaries
(Intel/PPC). It does not work on modern releases of OS X, and
OTP 19 will most not likely build on an OS X release that still
supports universal builds.
The --enable-darwin-64bit option is not needed, because 64-bit builds
are default on modern OS X releases. There is also the generic
--enable-m64-build option.
|
|
|
|
Use erlang:prepare_loading/1 and erlang:finish_loading/1 to load
modules in parallel to potentially decrease start-up times.
|
|
* bjorn/kernel/code_server-normalized-paths/OTP-13410:
code_server: Normalize the pathnames for all loaded modules
Update preloaded modules
init: Correct spec for fetch_loaded/1
|
|
|
|
Floating-point exception support on MacOS X has never been especially
reliable, and has therefore been disabled by default for a long time.
The fpe support is now broken.
Therefore, take out the unnecessary test for modern mcontext in
configure (whatever that means) and the associated code in sys_float.c.
Add #error directives to sys_float.c to make it clear that
fpe is not supported.
It seems to risky to mess with the mess of #ifdef's, so we will
not attempt to remove all fpe support code for MacOS X.
|
|
|
|
fetch_loaded/1 returns a list of tuples, not a list of atoms.
|
|
|
|
that could hang if concurrent deallocations was initiated.
|
|
3121171f56c2 made warnings for missing prototypes into compilation
errors. That broke building on MacOS X, because prototypes for the
pthread_getname_np() and pthread_setname_np() functions included by
ethread.c are missing.
The prototypes for those functions *are* located in pthread.h,
but are not included if _XOPEN_SOURCE is defined. Therefore,
we must undefine _XOPEN_SOURCE.
6e606582a6 is the commit that started to define _XOPEN_SOURCE on
MacOS X in order to mend floating-point exceptions. Since
fp exceptions again are broken and disabled by default, it is
safe to remove the definition of _XOPEN_SOURCE.
|
|
On MacOS X, defining _XOPEN_SOURCE usually *removes* features from
header files.
Therefore, we should not set _XOPEN_SOURCE to 600 since that will
remove the prototype for vsyslog(). Setting it to an empty value
or not including it will ensure that the vsyslog() prototype is
included.
|