aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2013-06-03Merge branch 'nox/erl_eval-receive/OTP-11137' into maintFredrik Gustafsson
* nox/erl_eval-receive/OTP-11137: Updated primary bootstrap for erl_eval Added preloaded prim_eval Fix receive support in erl_eval with a BEAM module
2013-05-31Merge branch 'lukas/erts/gc_stat_contention/OTP-10271' into maintLukas Larsson
* lukas/erts/gc_stat_contention/OTP-10271: Replace gc stat lock with sched spec data
2013-05-31Replace gc stat lock with sched spec dataLukas Larsson
2013-05-30Merge branch 'kla/armv6l-for-hipe-fixed/OTP-11125' into maintFredrik Gustafsson
* kla/armv6l-for-hipe-fixed/OTP-11125: add support for hipe on Raspberry Pi (armv6l)
2013-05-30Merge branch 'rickard/ptab-id-alloc/OTP-11077' into maintRickard Green
* rickard/ptab-id-alloc/OTP-11077: Introduce a better id allocation algorithm for PTabs
2013-05-28Added preloaded prim_evalFredrik Gustafsson
2013-05-28Fix receive support in erl_eval with a BEAM moduleAnthony Ramine
Using the low-level BEAM instructions, we can loop over each message in the process queue and removes the first message that matches, without receiving them all to later send them back to itself. The function prim_eval:'receive'/2 is equivalent to the following pseudo-code: 'receive'(F, T) -> RESET MESSAGE QUEUE POINTER, LOOP: case PEEK CURRENT MESSAGE WITH TIMEOUT T of {ok,Msg} -> case F(Msg) of nomatch -> DECREMENT TIMEOUT T, ADVANCE MESSAGE QUEUE POINTER, GOTO LOOP; Result -> RESET MESSAGE QUEUE POINTER, Result end; timeout -> RESET MESSAGE QUEUE POINTER, timeout end. To not break Dialyzer and other tools, we use a stub Erlang module which abstract code is forcefully inserted into prim_inet.erl afterwards compilation.
2013-05-28add support for hipe on Raspberry Pi (armv6l)Klaus Alfert
To enable hipe on a Raspberry Pi, configure has to detect the ARM processor correctly. On a Pi, uname detects the CPU as armv6l. Other CPU variants are already detected with ARCH=arm, so does now the armv6l of the Raspberry Pi.
2013-05-27Merge branch 'raimo/race-in-prim_inet-close/OTP-10497' into maintRaimo Niskanen
* raimo/race-in-prim_inet-close/OTP-10497: Do not unlink before closing port
2013-05-24Merge branch 'nox/fix-silent-rules/OTP-11111' into maintFredrik Gustafsson
* nox/fix-silent-rules/OTP-11111: Fix some Makefile rules that didn't support silent rules
2013-05-24Do not unlink before closing portRaimo Niskanen
2013-05-22Merge branch 'sverk/win64-fixes' into maintSverker Eriksson
* 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
2013-05-22Merge branch 'lukas/erts/process_memory_crash_dump/OTP-11098' into maintLukas Larsson
* lukas/erts/process_memory_crash_dump/OTP-11098: Bump crash dump version
2013-05-21Bump crash dump versionLukas Larsson
2013-05-20Merge branch 'nox/fix-wcwidth/OTP-11106' into maintFredrik Gustafsson
* nox/fix-wcwidth/OTP-11106: Properly guard WIDE_TAG use with HAVE_WCWIDTH in ttsl_drv
2013-05-17Introduce a better id allocation algorithm for PTabsRickard Green
2013-05-16Merge branch 'rickard/frmptr' into maintRickard Green
* rickard/frmptr: Add 'frmptr' emulator type Conflicts: erts/preloaded/ebin/erlang.beam
2013-05-16Merge branch 'rickard/nosuspend/OTP-11076' into maintRickard Green
* rickard/nosuspend/OTP-11076: Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduled
2013-05-16Merge branch 'rickard/inet_opts/OTP-11075' into maintRickard Green
* rickard/inet_opts/OTP-11075: Make high_msgq_watermark and low_msgq_watermark generic inet options Conflicts: erts/preloaded/ebin/prim_inet.beam
2013-05-16Merge branch 'rickard/inet_db/OTP-11074' into maintRickard Green
* rickard/inet_db/OTP-11074: Do not treat port_set_data/port_get_data as signals Conflicts: erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2013-05-16Merge branch 'lukas/erts/process_memory_crash_dump/OTP-11098' into maintLukas Larsson
* lukas/erts/process_memory_crash_dump/OTP-11098: Print process memory usage info in crash dump
2013-05-16Merge branch 'lukas/erts/nodes_rwlock_contentions/OTP-11097' into maintLukas Larsson
* lukas/erts/nodes_rwlock_contentions/OTP-11097: Change rwlock to rlock where possible
2013-05-16Change rwlock to rlock where possibleLukas Larsson
Having rwlock could cause high unneccesary contention on the dist table when calling erlang:nodes() from many schedulers at the same time.
2013-05-16Merge branch 'lukas/erts/win32_io_flush_hangs/OTP-11096' into maintLukas Larsson
* lukas/erts/win32_io_flush_hangs/OTP-11096: Repeat flush loop at timeout intervals
2013-05-14Properly guard WIDE_TAG use with HAVE_WCWIDTH in ttsl_drvAnthony Ramine
2013-05-13Print process memory usage info in crash dumpLukas Larsson
2013-05-08Merge branch 'nox/wide-chars/OTP-11088' into maintFredrik Gustafsson
* nox/wide-chars/OTP-11088: Support wide characters in the shell through wcwidth() Fix bogus DEBUGLOG() incantations in ttsl_drv
2013-05-06Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduledRickard Green
2013-05-06Make high_msgq_watermark and low_msgq_watermark generic inet optionsRickard Green
2013-05-06erts: Change some more 'long' to pointer sized int (ErlDrvUInt)Sverker Eriksson
2013-05-06Merge branch 'sverk/fix-alloc-fixes' into maintSverker Eriksson
* sverk/fix-alloc-fixes: erts: Remove unnecessary utf8 analysis step in external decoding erts: Fix locking order violation for allocation wrappers erts: Change locking order for "port_table" and "port_sched_lock" erts: Adjust sizes for fix allocator erts: Fix unabused bug in fixed allocation erts: Fix benign size-bug for fix-allocators MONITOR_SH and NLINK_SH erts: Refactor in new struct ErtsAllctrFixDDBlock_t OTP-11085
2013-05-06Merge branch 'nox/fix-warnings/OTP-11086' into maintFredrik Gustafsson
* nox/fix-warnings/OTP-11086: Fix some sign warnings found with Clang Fix a shift/reduce conflicts warning in icparse Fix two deprecation warnings in com.ericsson.otp.ic.Environment Define matherr only on platforms where it is used Properly declare _sigaction on Darwin Properly mark Uint literals as unsigned in big.c Do not use -mdynamic-no-pic on Darwin
2013-05-03erts: Fix crash in nif_SUITE for win64Sverker Eriksson
'long' is not pointer sized on win64
2013-05-03erts: Fix assert in isdigit for negative charactersSverker Eriksson
2013-04-30Fix some sign warnings found with ClangAnthony Ramine
2013-04-30Define matherr only on platforms where it is usedAnthony Ramine
2013-04-30Properly declare _sigaction on DarwinAnthony Ramine
2013-04-30Properly mark Uint literals as unsigned in big.cAnthony Ramine
2013-04-29Do not treat port_set_data/port_get_data as signalsRickard Green
2013-04-27Support wide characters in the shell through wcwidth()Anthony Ramine
There is one remaining bug where ttsl_drv's state ends up inconsistent with the terminal own state; when a wide character is entered on the last column of the terminal. Reported-by: Loïc Hoguin
2013-04-27Fix bogus DEBUGLOG() incantations in ttsl_drvAnthony Ramine
2013-04-27Do not use -mdynamic-no-pic on DarwinAnthony Ramine
Latest OS X versions ignore this flag as non PIC objects are discouraged.
2013-04-27Fix some Makefile rules that didn't support silent rulesAnthony Ramine
2013-04-22Fix src/dest overlap in ttsl driverLukas Larsson
2013-04-21fix valgrind error in erts/emulator/drivers/unix/ttsl_drv.cSteve Vinoski
Running some valgrind memory checking showed the error below: ==18040== Thread 6: ==18040== Source and destination overlap in memcpy(0xf3f3f04, 0xf3f3f08, 52) ==18040== at 0x4C2CFA0: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==18040== by 0x5CF527: del_chars (ttsl_drv.c:845) ==18040== by 0x5CED5E: ttysl_from_erlang (ttsl_drv.c:658) ==18040== by 0x4982E3: erts_write_to_port (io.c:1235) ==18040== by 0x49A2BD: erts_port_command (io.c:2223) ==18040== by 0x48C054: do_send (bif.c:1962) ==18040== by 0x48CB6E: erl_send (bif.c:2162) ==18040== by 0x566599: process_main (beam_emu.c:1665) ==18040== by 0x4B1A95: sched_thread_func (erl_process.c:4834) ==18040== by 0x6075E2: thr_wrapper (ethread.c:106) ==18040== by 0x5560E99: start_thread (pthread_create.c:308) This occurred on Linux using R15B01 while the shell was emitting a prompt, but the same problem is still present in R16B. Change the memcpy on line 845 of ttsl_drv.c to memmove as valgrind suggests. After the change, verify with valgrind that the error no longer occurs.
2013-04-21Add 'frmptr' emulator typeRickard Green
2013-04-18Merge branch 'maint-r16' into maintBjörn Gustavsson
* maint-r16: Prepare release Prepare release Do not count offline run-queues as empty Prepare release Prevent loss of objects after the extension marker Don't lose the extension mark for object set parameters Conflicts: erts/vsn.mk
2013-04-18Prepare releaseErlang/OTP
2013-04-18Merge branch 'siri/doc-fnu-opts/OTP-10901' into maintSiri Hansen
* siri/doc-fnu-opts/OTP-10901: Add documentation of w, i and e addition to +fnu and +fna switches to erl
2013-04-17Add documentation of w, i and e addition to +fnu and +fna switches to erlSiri Hansen
These were documented in the stdlib user's guide, but not in the reference manual for erl. This has now been corrected.