aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2012-07-18Fix missing accounting for outbound distribution bytes.Rick Reed
2012-07-05Merge branch 'sverk/opt-inet-tcp-ctrl-proc'Sverker Eriksson
* sverk/opt-inet-tcp-ctrl-proc: Optimize inet:tcp_controlling_process erts: Update obsolete HARD_DEBUG code
2012-07-05Merge branch 'sverk/opt-check-io'Sverker Eriksson
* sverk/opt-check-io: Revert conceptually wrong little fix as part of check_io opt Make allocation of check_io tables more scalable.
2012-07-05Merge branch 'maint'Sverker Eriksson
2012-07-04Merge branch 'sverk/hipe-arm-fix' into maintSverker Eriksson
* sverk/hipe-arm-fix: hipe_arm.c: remove dead code Workaround gcc bug affecting ARM debug build Fix compile error of HIPE enabled DEBUG emulator for ARM Fix hipe bif calling bug on ARM Add armv7l and armv5tejl as a recognized ARM architectures OTP-10137
2012-06-28Strengthen trace test casesBjörn Gustavsson
2012-06-25hipe_arm.c: remove dead codeMikael Pettersson
erts/emulator/hipe/hipe_arm.c started out as a clone of hipe_ppc.c, with #ifdefs to select ARM-specific code. Somehow those #ifdefs never got cleaned out, resulting in fairly ugly-looking code. This eliminates the #ifdefs, deletes dead PowerPC-specific code, and keeps only the ARM-specific code. I've verified that the exact same assembly code is generated for hipe_arm.c before and after this patch (if you compile without -g, with -g there are unavoidable changes to the debug data). Signed-off-by: Mikael Pettersson <[email protected]>
2012-06-25Workaround gcc bug affecting ARM debug buildSverker Eriksson
2012-06-25Fix compile error of HIPE enabled DEBUG emulator for ARMSverker Eriksson
2012-06-25Fix hipe bif calling bug on ARMSverker Eriksson
Bug introduced in R15.
2012-06-25Don't go to single-scheduler mode when managing breakpointsBjörn Gustavsson
Calls to erlang:set_trace_pattern/3 will no longer block all other schedulers. We will still go to single-scheduler mode when new code is loaded for a module that is traced, or when loading code when there is a default trace pattern set. That is not impossible to fix, but that requires much closer cooperation between tracing BIFs and the loader BIFs.
2012-06-25Refactor the code for managing breakpointsBjörn Gustavsson
To allow us to manage breakpoints without going to single-scheduler mode, we will need to update the breakpoints in several stages with memory barriers in between each stage. Prepare for that by splitting up the breakpoint setting and clearing functions into several smaller functions.
2012-06-25Change the data structures for breakpointsBjörn Gustavsson
Change the data structures for breakpoints to make it possible (in a future commit) to manage breakpoints without taking down the system to single-scheduling mode. The current "breakpoint wheel" data structure (a circular, double-linked list of breakpoints) was invented before the SMP emulator. To support it in the SMP emulator, there is essentially one breakpoint wheel per scheduler. As more breakpoint types have been added, the implementation has become messy and hard to understand and maintain. Therefore, the time for a rewrite has come. Use one struct to hold all breakpoint data for a breakpoint in a function. Use a flag field to indicate what different type of break actions that are enabled.
2012-06-25Add trace_local_SUITE:concurrency/1Björn Gustavsson
2012-06-25Make the lock check in erts_is_code_ix_locked() strongerBjörn Gustavsson
Make sure that the the currently running thread has the lock, not only that that some thread has the lock.
2012-06-20Merge branch 'maint'Rickard Green
* maint: Fix faulty use of thread progress in handle_aux_work() Conflicts: erts/emulator/beam/erl_process.c Needed modifications: erts/emulator/beam/beam_bif_load.c
2012-06-20Merge branch 'rickard/thr-prgr-use/OTP-10116' into maintRickard Green
* rickard/thr-prgr-use/OTP-10116: Fix faulty use of thread progress in handle_aux_work()
2012-06-20erts: Update obsolete HARD_DEBUG codeSverker Eriksson
2012-06-18Fix faulty use of thread progress in handle_aux_work()Rickard Green
As an optimization old thread progress data was kept and used in handle_aux_work() in erl_process.c. This could cause memory to be deallocated at a later time than intended, which is quite harmless. This has, however, now been fixed.
2012-06-18Revert conceptually wrong little fix as part of check_io optSverker Eriksson
2012-06-18Make allocation of check_io tables more scalable.Rick Reed
2012-06-08Merge branch 'maint'Lukas Larsson
* maint: Update to work with space in include path Update to work with whitespace in exec path
2012-06-08Merge branch 'lukas/otp/install_with_whitespace/OTP-10107' into maintLukas Larsson
* lukas/otp/install_with_whitespace/OTP-10107: Update to work with space in include path Update to work with whitespace in exec path
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-06-04Merge branch 'maint'Lukas Larsson
* maint: Remove stale code for hybrid heap and incremental GC Remove the hipe_bifs:show_message_area/0 BIF Remove support for erlang:system_info(global_heaps_size) Remove the erlang:garbage_collect_message_area/0 BIF Remove workarounds for hybrid and shared heaps in test suites Conflicts: erts/doc/src/erlang.xml erts/emulator/beam/erl_message.c erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h erts/emulator/hipe/hipe_bif2.tab lib/hipe/cerl/erl_bif_types.erl
2012-06-04Merge branch 'bjorn/remove-hybrid-heap/OTP-10105' into maintLukas Larsson
* bjorn/remove-hybrid-heap/OTP-10105: Remove stale code for hybrid heap and incremental GC Remove the hipe_bifs:show_message_area/0 BIF Remove support for erlang:system_info(global_heaps_size) Remove the erlang:garbage_collect_message_area/0 BIF Remove workarounds for hybrid and shared heaps in test suites
2012-05-25Merge branch 'maint'Sverker Eriksson
2012-05-25Merge branch 'sverk/valgrind-async-thr-suppression' into maintSverker Eriksson
* sverk/valgrind-async-thr-suppression: erts: Add valgrind suppression for async thread bound data
2012-05-25Merge branch 'maint'Sverker Eriksson
2012-05-25Correct valgrind suppression for putenvSverker Eriksson
2012-05-10Remove stale code for hybrid heap and incremental GCBjörn Gustavsson
The hybrid heap emulator was last working in the non-SMP R11B run-time system. When the constant pools were introduced in R12B, the hybrid heap emulator was not updated to handle them. At this point, the harm from reduced readability of the code is greater than any potential usefulness of keeping the code.
2012-05-10Remove the hipe_bifs:show_message_area/0 BIFBjörn Gustavsson
2012-05-10Remove support for erlang:system_info(global_heaps_size)Björn Gustavsson
2012-05-10Remove the erlang:garbage_collect_message_area/0 BIFBjörn Gustavsson
2012-05-10Remove workarounds for hybrid and shared heaps in test suitesBjörn Gustavsson
2012-05-04Merge branch 'maint'Patrik Nyblom
2012-05-04gen_tcp: Make setopts(S,[{active,once}]) try a readPatrik Nyblom
This significantly reduces latency for tcp servers with high load, as we need not go into poll to get the next message. Maximum throughput may increase between 4 to 6 times compared to R15B.
2012-04-30Merge branch 'maint'Björn-Egil Dahlberg
2012-04-30Merge branch 'egil/fix-port-io-statistics/OTP-10073' into maintBjörn-Egil Dahlberg
* egil/fix-port-io-statistics/OTP-10073: erts: Add port-I/O statistics for active once/true
2012-04-27Merge branch 'maint'Björn-Egil Dahlberg
2012-04-27erts: Remove unused variableBjörn-Egil Dahlberg
2012-04-27Merge branch 'maint'Sverker Eriksson
Conflicts: erts/emulator/beam/erl_process.c
2012-04-27Merge branch 'maint-r15' into maintSverker Eriksson
Conflicts: erts/vsn.mk
2012-04-27erts: Add port-I/O statistics for active once/trueBjörn-Egil Dahlberg
2012-04-27Merge branch 'rickard/proc-sched/OTP-9892'Rickard Green
* rickard/proc-sched/OTP-9892: Teach etp-commands to understand new emulator internal data structures Optimize process state changes Optimize process table access Implement possibility to use ordinary mutexes as process locks Conflicts: erts/emulator/beam/erl_alloc.types
2012-04-27Teach etp-commands to understand new emulator internal data structuresRickard Green
2012-04-27Optimize process state changesRickard Green
2012-04-25Merge branch 'rickard/driver_system_info/OTP-10059' into maint-r15Erlang/OTP
* rickard/driver_system_info/OTP-10059: Clear number of async threads if no thread support
2012-04-25Merge branch 'rickard/no_ets_write_concurrency-r15b01/OTP-10048' into maint-r15Erlang/OTP
* rickard/no_ets_write_concurrency-r15b01/OTP-10048: Remove unnecessary memory barriers in ETS when no write_concurrency is used
2012-04-25Merge branch 'rickard/sched-busy-wait/OTP-10044' into maint-r15Erlang/OTP
* rickard/sched-busy-wait/OTP-10044: Add switch controlling scheduler busy wait Conflicts: erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h