Age | Commit message (Collapse) | Author |
|
|
|
* sverk/opt-inet-tcp-ctrl-proc:
Optimize inet:tcp_controlling_process
erts: Update obsolete HARD_DEBUG code
|
|
* sverk/opt-check-io:
Revert conceptually wrong little fix as part of check_io opt
Make allocation of check_io tables more scalable.
|
|
|
|
* 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
|
|
|
|
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]>
|
|
|
|
|
|
Bug introduced in R15.
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
Make sure that the the currently running thread has the lock,
not only that that some thread has the lock.
|
|
* 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
|
|
* rickard/thr-prgr-use/OTP-10116:
Fix faulty use of thread progress in handle_aux_work()
|
|
|
|
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.
|
|
|
|
|
|
* maint:
Update to work with space in include path
Update to work with whitespace in exec path
|
|
* lukas/otp/install_with_whitespace/OTP-10107:
Update to work with space in include path
Update to work with whitespace in exec path
|
|
OTP-10106
OTP-10107
|
|
* 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
|
|
* 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
|
|
|
|
* raimo/erts/win-install-redist-mixup/OTP-10096:
erts: Make 64-bit installer look for MS Redistributable in the right places
|
|
* maint:
Ignore calls to wx* modules if it is undefined
Fix erl_interface testcases
Update gccifier to respect -link option
Extand timetrap for escript tests
Fix compilation issues on windows and Ubuntu 12.04
Ignore common_test bootstrap
|
|
* lukas/test-cases:
Ignore calls to wx* modules if it is undefined
Fix erl_interface testcases
Update gccifier to respect -link option
Extand timetrap for escript tests
Fix compilation issues on windows and Ubuntu 12.04
Ignore common_test bootstrap
|
|
|
|
|
|
* sa/dialyzer-parallel: (54 commits)
Logfile-like statistics (enabled with --resources)
Anonymous SCCtoPID ETS table
Anonymous time server
Regulate all kinds of running workers up to the number of schedulers
Relocate start and stop of timing server
Better names for callgaph ETS tables
Remove needless conversion
Fix types and specs
Inline a function in dialyzer_worker
Remove unused function
Change --time to --statistics and include more info
Better reflect side-effect based code in dialyzer_callgraph
Code simplifications (tidier)
More efficient calculation of module deps and postorder
Solve big SCC constraints in parallel
Coordinator is no longer a separate process
All spawns are now spawn_links
Fix race in coordinator
Typesig and dataflow analyses no longer use ticket regulation
Plain concatenation for typesig not-fixpoint list
...
OTP-10103
|
|
* maint:
Fix compilation of examples and tc names on windows
Create erl.ini for host emulator
|
|
* lukas/fix_windows_release_tests/OTP-10099:
Fix compilation of examples and tc names on windows
Create erl.ini for host emulator
|
|
|
|
|
|
|
|
* sverk/valgrind-async-thr-suppression:
erts: Add valgrind suppression for async thread bound data
|
|
|
|
|
|
The installer runs in 32-bit mode so 64-bit windows does not
show it the system directories a 64-bit application will see.
To find out if the MS C++ 2010 Redistributable Package is
installed the installer for 64-bit Erlang must search
for msvcr100.dll in:
$WINDIR\sysnative\ $WINDIR\WinSxS\amd64*\
instead of for 32-bit Erlang
$SYSDIR\ $WINDIR\WinSxS\x86*\
This patch also makes the installer if called in silent mode
call the MS Redistributable installer in silent mode.
|
|
|
|
|
|
* maint:
ts: Recognize Windows 7
otp_SUITE: Ignore calls to dialyzer if the entire application is missing
otp_SUITE: Remove broken filtering of megaco calls
|
|
* bjorn/test-cases:
ts: Recognize Windows 7
otp_SUITE: Ignore calls to dialyzer if the entire application is missing
otp_SUITE: Remove broken filtering of megaco calls
|
|
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.
|
|
|
|
|