Age | Commit message (Collapse) | Author |
|
|
|
|
|
by putting red/black color bit in 'parent' pointer
|
|
* Coalescing and trimming of free segments in supercarrier
* Management of super aligned and super unaligned areas in
supercarrier
* Management of reservation of physical memory
* erts_mseg usage of erts_mmap
|
|
|
|
Introduce unconditional ERTS_ASSERT
and use that for both ASSERT and ASSERT_EXPR.
|
|
Conflicts:
erts/vsn.mk
|
|
rickard/aligned-sys_alloc-carriers_maint/OTP-11318
Conflicts:
erts/emulator/beam/erl_alloc.c
erts/emulator/beam/erl_alloc_util.c
erts/emulator/beam/erl_alloc_util.h
|
|
erts_sys_aligned_alloc() is currently implemented using posix_memalign if
it exist, or using _aligned_malloc on Windows.
If erts_sys_aligned_alloc() exist allocators will create sys_alloc
carriers similar to how this was done pre-R16.
|
|
config.h defines HAVE_SYSLOG_H whereas the sources are looking for
NO_SYSLOG to be undefined. As the logic of "if feature is available"
makes more sense than "if feature is not unavailable", I opted for the
config.h define.
|
|
* sverk/mac-select-assert-bug:
erts: Fix faulty assert in "unlimited select" for mac
|
|
|
|
The actual port id is used to create a key from the
pointer value which is the ErlDrvPort. To do this
a new driver api function driver_async_port_key is
added and the driver API minor version is updated.
The documentation is updated and the faulty description of
how to spread ports over async threads is updated to
use the new API.
Testcase also added.
|
|
|
|
* sverk/darwin-unlimited-select:
erts: Fix dynamic select for darwin
erts: Refactor unlimited select patch
erts: Fix bug in unlimited fd_set patch
Use _DARWIN_UNLIMITED_SELECT in erl_poll
|
|
* pan/win_now_jumps:
Enable use of GetTickCoun64 when available
Intermediate code with lock on gettickcount()
Tmp
OTP-11146
|
|
* rickard/stale-driver-select/OTP-11084:
Fix crash when reporting stale driver select
|
|
Make sure the fd-sets (read and write) are of equal size.
|
|
An attempt to beautify the code by reducing the amount of #ifdef's
in the hot code path.
|
|
|
|
* sverk/win64-fixes:
erts: Change some more 'long' to pointer sized int (ErlDrvUInt)
erts: Fix crash in nif_SUITE for win64
erts: Fix assert in isdigit for negative characters
|
|
* lukas/erts/win32_io_flush_hangs/OTP-11096:
Repeat flush loop at timeout intervals
|
|
This allows erl_poll to select() on file descriptors greater than
FD_SETSIZE (1024) on Darwin. The fd sets are manually (re)allocated and
freed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
spells __NetBSD__ correctly.
|
|
* egil/fix-mseg_dealloc-arguments/OTP-10912:
erts: Fix refactor error in mseg
|
|
Faulty number of arguments to mseg_dealloc.
Problem arises if we try to compile halfword on operating system
which do not have mremap. Not a supported case.
|
|
|
|
|
|
|
|
* rickard/win-drv-bugfix/OTP-10803:
Fix close_active_handle() properly
|
|
|
|
|
|
This is the base for implementing configurable
~tp printouts, so that the user can define which
characters to view as actually printable in the shell and
by io_lib:format.
The functionality is neither documented nor used in this commit
|
|
* rickard/erl_drv_consume_timeslice/OTP-10810:
Implement erl_drv_consume_timeslice()
|
|
* rickard/win-drv-bugfix/OTP-10807:
Fix flush of fd-driver on Windows
|
|
* rickard/win-drv-bugfix/OTP-10803:
Fix unsafe accesses to driver data from win32 fd/vanilla/spawn drivers
|
|
* rickard/win-drv-bugfix/OTP-10802:
Fix unsafe driver_select() from win32 vanilla/spawn drivers
|
|
* rickard/r16b/port-optimizations-fixes/OTP-10809:
Add erl_drv_busy_msgq_limits() to driver API on Windows
Fix driver port accesses
Fix port exit
|
|
* egil/enhance-mseg-cache/OTP-10840:
erts: Utilize even more cached sbc segments
erts: Prefer sbc segment caching over mbc segments
erts: Segment allocator CircleQ API
erts: Increase default #cached segments to 10
erts: Evict old cached segments for newer ones
erts: Refactor mseg cache
|
|
|
|
* saleyn/float_to_list_2/OTP-10837:
Fix memory leak in error case
Use macros instead of constants
float_to_list/2 changed rounding and cosmetic cleanup
|
|
This is needed as C90 (and therefore the win32 compiler) does
not allow constants to be calculations based on other constants.
|
|
|