Age | Commit message (Collapse) | Author |
|
* sverk/yielding-distr-send/OTP-12232:
erts: Add constant TERM_TO_BINARY_MEMCPY_FACTOR
erts: Optimize some repeated calls to {E,W}STACK_PUSH
erts: Yield in term_to_binary when encoding big maps
erts: Remove unnecessary goto for fun encoding
erts: Yield in term_to_binary while copying large binaries
erts: Implement yielding for distributed send of large messages
|
|
and do not piggyback on B2T_MEMCPY_FACTOR
|
|
|
|
* sverk/cpool_fetch-dc_list-bug/OTP-12249:
erts: Fix bug when delayed deallocated carrier is reused by cpool_fetch
|
|
* egil/nox/maps-match_specs/OTP-12270:
erts: Fix return value from erts_maps_get to be const
Properly support maps in match_specs
Support maps in ms_transform
Return pointer to value in erts_maps_get()
|
|
* maint:
Use isfinite() instead of finite() when available
|
|
* sv/isfinite/OTP-12268:
Use isfinite() instead of finite() when available
|
|
OS X Mavericks builds result in a number of warnings about finite() being
deprecated, like these:
beam/erl_arith.c:451:7: warning: 'finite' is deprecated: first deprecated in OS X 10.9 [-Wdeprecated-declarations]
ERTS_FP_ERROR(p, f1.fd, goto badarith);
^
sys/unix/erl_unix_sys.h:319:33: note: expanded from macro 'ERTS_FP_ERROR'
^
sys/unix/erl_unix_sys.h:244:51: note: expanded from macro '__ERTS_FP_ERROR'
^
/usr/include/math.h:718:12: note: 'finite' has been explicitly marked deprecated here
extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA);
Add checks to use isfinite() instead of finite() where available. Verified
on OS X Mavericks 10.9.5 and Ubuntu 12.04.
|
|
|
|
OTP-12266
* vinoski/erl-nif-init:
Fix missing field initializer in ERL_NIF_INIT macro
|
|
From "warning: assignment discards qualifiers from pointer target type"
|
|
* egil/fix-instruction-counter:
erts: Fix SMP for ERTS_OPCODE_COUNTER_SUPPORT
erts: Add icount build type for opcode counter
|
|
* sverk/hipe-inline-reserve-trap-frame:
erts: Extend usage of ASM macro to avoid including asm macros in C code
erts: Make hipe_{un}reserve_beam_trap_frame INLINE
|
|
|
|
* rickard/default-eager-check-io/OTP-12254:
Change default to "eager check I/O"
|
|
* rickard/master/eager-check-io/OTP-12117:
No eager check I/O on OSE
Introduce support for eager check I/O scheduling
|
|
* rickard/maint-17/eager-check-io/OTP-12117:
No eager check I/O on OSE
Introduce support for eager check I/O scheduling
|
|
* lukas/erts/non-blocking-shell:
Fix io:columns/0 timeout when invoked via user
kernel,ssh: Add synchronous user_drv protocol
erts: Make writing to non-tty fds non-blocking
erts: Make tty driver non-blocking
|
|
If the fd_driver is given non-tty fds it will now use an async thread
instead of doing a blocking write. An example of a non-tty fd is the
fd used by stderr, but could be anything handed down to the driver.
|
|
Cleanup macro code.
|
|
|
|
The delayed dealloc queue destroyes one word but cpool_fetch() is expected
to return healthy carriers.
So we restore that overwritten word with a little bit of hackish code.
|
|
|
|
In the ERL_NIF_INIT macro, add a missing static initializer for the new
options field which was added to the ErlNifEntry struct for 17.3. This fix
prevents compile-time errors in NIFs when the compiler is instructed to
treat missing field initializers as errors.
|
|
Always update prt->data with atomic xchg-op.
Check for NULL data to detect racing port terminator.
Use NULL, as THE_NON_VALUE can be a valid pointer on debug VM.
|
|
hsize field was not set leading to VM crash
|
|
Conflicts:
erts/emulator/beam/erl_process.c
|
|
rickard/master/eager-check-io/OTP-12117
* rickard/maint-17/eager-check-io/OTP-12117:
No eager check I/O on OSE
Introduce support for eager check I/O scheduling
Conflicts:
erts/preloaded/ebin/erlang.beam
|
|
|
|
rickard/maint-17/eager-check-io/OTP-12117
* rickard/eager-check-io/OTP-12117:
Introduce support for eager check I/O scheduling
Conflicts:
erts/emulator/beam/erl_bif_info.c
erts/emulator/beam/erl_init.c
erts/emulator/beam/erl_process.c
erts/preloaded/ebin/erlang.beam
|
|
|
|
* sverk/bin-alloc-refactor:
erts: Fix gdb command etp-carrier-blocks for 32-bit
erts: Refactor binary allocation interface to also initialize Binary
|
|
Enables ERTS_OPCODE_COUNTER_SUPPORT.
|
|
|
|
and add 'dirty_scheduler_support' to ErlNifSysInfo
|
|
enif_schedule_nif() put LAST of the unconditional functions to keep the
order which is vital for ABI compatibility on Windows.
The conditional dirty scheduler stuff moved down at the end of the list
to keep them out of the way. We don't want them mess things up then they
become unconditional some day.
|
|
* egil/erlang-get_keys/OTP-12151:
Update preloaded erlang.beam
erts: Document erlang:get_keys/0
stdlib: Auto-import erlang:get_keys/0
erts: Add spec for erlang:get_keys/0
kernel: Test BIF erlang:get_keys/0
erts: Add BIF erlang:get_keys/0
|
|
* maint:
Fix leak of NIF exports
Use separate allocation type for NIF export
|
|
OTP-12128
* vinoski/enif-schedule-nif:
Fix leak of NIF exports
Use separate allocation type for NIF export
|
|
|
|
|
|
except the reference counter 'refc', as different callers
have different strategies regarding the lifetime of the binary.
|
|
|
|
* sverk/term_to_binary-realloc-size/OTP-12141:
erts: Fix bug in term_to_binary that reallocates binary with wrong size
|
|
|
|
* sverk/MIN_SMALL-to-integer:
erts: Correct conversion of MIN_SMALL numeral to fixnum
OTP-12140
|
|
list_to_integer and binary_to_integer returned un-normalized bignum for
-134217728 on 32-bit and -576460752303423488 on 64-bit.
Thanks to Jesper Louis Andersen, Mikael Pettersson
and Anthony Ramine for report, initial patch and optimization suggestion.
|
|
|
|
* sverk/nif-inspect-copy-bug/OTP-9828:
erts: Fix bug with enif_make_copy reallocating writable binary
Conflicts:
erts/emulator/test/nif_SUITE.erl
|
|
that could invalidate a pointer received from an earlier
call to enif_inspect_binary.
Solution: Emasculate writable binary at enif_inspect_binary. There are
room for optimizations here as we now do an unconditional emasculation
even though enif_make_copy is not called later in the NIF.
|