aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2012-02-07Merge branch 'maint'Patrik Nyblom
Conflicts: erts/doc/src/erlang.xml erts/preloaded/ebin/erlang.beam
2012-02-07Merge branch 'dgud/sched-work-time/OTP-9858' into maintPatrik Nyblom
* dgud/sched-work-time/OTP-9858: emulator: Document and test scheduler_wall_time Implement statistics(scheduler_wall_time)
2012-02-07Merge branch 'bjorn/erts/bif-stubs/OTP-9861'Björn Gustavsson
* bjorn/erts/bif-stubs/OTP-9861: beam_bp: Fix faulty assertion in erts_find_local_func() beam_load: Fix faulty assertion in module_info(native_addresses)
2012-02-07Merge branch 'maint'Björn Gustavsson
* maint: erlang.xml: Fix a few typos and grammatical errors debugger tests: Increase time trap timeout fprof_SUITE: Skip create_file_slow/1 if libraries are native etop_SUITE: Skip a test case if libraries are native-compiled Skip all inviso test cases if libraries are native-compiled erl_prim_loader_SUITE: Handle native-compiled erl_boot_server re_SUITE: Skip error_handling/1 if 're' is native code shell_SUITE: Handle different EXIT reasons from native code sofs_SUITE: Handle different EXIT reasons from native code erl_eval_SUITE: Skip test of parameterized modules if native code trace_port_SUITE: Skip test cases if 'lists' is native-compiled call_trace_SUITE: Skip test cases if libraries are native-compiled
2012-02-07Merge branch 'bjorn/hipe-test-cases' into maintBjörn Gustavsson
* bjorn/hipe-test-cases: debugger tests: Increase time trap timeout fprof_SUITE: Skip create_file_slow/1 if libraries are native etop_SUITE: Skip a test case if libraries are native-compiled Skip all inviso test cases if libraries are native-compiled erl_prim_loader_SUITE: Handle native-compiled erl_boot_server re_SUITE: Skip error_handling/1 if 're' is native code shell_SUITE: Handle different EXIT reasons from native code sofs_SUITE: Handle different EXIT reasons from native code erl_eval_SUITE: Skip test of parameterized modules if native code trace_port_SUITE: Skip test cases if 'lists' is native-compiled call_trace_SUITE: Skip test cases if libraries are native-compiled
2012-02-06emulator: Document and test scheduler_wall_timeDan Gudmundsson
2012-02-01beam_bp: Fix faulty assertion in erts_find_local_func()Björn Gustavsson
Commit 64ccd8c9b7a782ca777ca4649dbb1f4a1ef00bce introduced BIF stubs. The stub functions were not actually remove the loaded code, but the name of the function in the func_info instruction was changed to [] to mark it as invalid.
2012-02-01beam_load: Fix faulty assertion in module_info(native_addresses)Björn Gustavsson
Commit 64ccd8c9b7a782ca777ca4649dbb1f4a1ef00bce introduced BIF stubs. The stub functions were not actually remove the loaded code, but the name of the function in the func_info instruction was changed to [] to mark it as invalid. The actual code for module_info(native_addresses) did not need to be updated (a BIF stub can never have a native address and a function without a native address will never be included in the list), but the assertion that the name is an atom is no no longer correct.
2012-01-31Merge branch 'maint'Björn Gustavsson
* maint: erts: Correct incorrect assertion in erl_alloc_util.c
2012-01-31erts: Correct incorrect assertion in erl_alloc_util.cBjörn Gustavsson
The incorrect assertion would fire when '+Muramv true' has been given, i.e. when a reallocation always forces a move. Change the assertion to not call the lock checker if the mutex is not used (because the allocator will only be accessed from a specific scheduler and thus no lock is needed).
2012-01-27Merge branch 'bjorn/erts/bif-stubs/OTP-9861'Björn Gustavsson
* bjorn/erts/bif-stubs/OTP-9861: beam_load.c: Allow stubs for BIFs beam_load.c: Don't show unnecessary context in errors beam_load.c: Remove useless call to next_heap_size() beam_load.c: apply/2 does not need a special case
2012-01-26trace_port_SUITE: Skip test cases if 'lists' is native-compiledBjörn Gustavsson
2012-01-26call_trace_SUITE: Skip test cases if libraries are native-compiledBjörn Gustavsson
Skip test cases that trace lists or filename if those modules are native-compiled. While we are at it, also eliminate two compilation warnings.
2012-01-26Implement statistics(scheduler_wall_time)Rickard Green
2012-01-25Fix crash in trace_info({M,F,A}, Flags) when M:F/A has native codeBjörn Gustavsson
2012-01-25Merge branch 'raimo/parallel-make/OTP-9857' into maintRaimo Niskanen
* raimo/parallel-make/OTP-9857: hipe: Fix rtl dependencies erts: Simplify toplevel makefile due to better dependencies erts: Fix make omissions for void emulators erts: Fix dependencies between targets generate and depend erts: Cleanup dependencies for target generate erts,tools: Fix parallel make for erts/lib_src erts: Fix parallel make for emulator zlib Conflicts: erts/emulator/Makefile.in
2012-01-24beam_load.c: Allow stubs for BIFsBjörn Gustavsson
We want to be able to write type specifications for BIFs in the same way as for any other function. Currently, the type for BIFs need to be described in erl_bif_types. To avoid extending the compiler and Dialyzer with special directives for providing specifications for BIFs, we have decided to let the loader accept a local definition for a function which exists as a BIF. As an example, here is how a stub for lists:reverse/2 can be defined: -export([reverse/2]). -spec reverse([term()], term()) -> [term()]. reverse(_, _) -> erlang:nif_error(undef). Essentially, the loader will discard the local definition of reverse/2. Other functions in the same module must *not* do local calls to a BIF stub. If a local call to a BIF is found, the loader will refuse to load the module. That is, the following call is not allowed: reverse(List) -> reverse(List, []). but the following is: reverse(List) -> ?MODULE:reverse(List, []). A few words about the implementation. It turns out to be too complicated to actually discard the BIF stubs. Although it would be possibly with some jiggery pokery in ops.tab, the code would be difficult to maintain and it could slow down loading of modules that don't define BIFs (which are almost all modules). Therefore, the stub functions are kept in the loaded code, but their names in the func_info instruction are invalidated so that module_info(functions) can filter them out.
2012-01-24Merge branch 'egil/fix-profiler-pid' into maintBjörn-Egil Dahlberg
* egil/fix-profiler-pid: erts: Do not profile profiler pid (non smp) erts: Do not profile profiler pid (smp) Revert "erts: Do not profile system profiler pid"
2012-01-23erts: Fix make omissions for void emulatorsRaimo Niskanen
2012-01-23erts: Fix dependencies between targets generate and dependRaimo Niskanen
* Make generate and depend.mk automatically. * Do not make depend.mk for targets clean and generate. * Remove old replaced CREATE_DIRS cruft. * Fiercer remove by target clean. * Move depend.mk to Target/Type/Flavor directory.
2012-01-23Merge branch 'jz/error-logic-efile_sendfile' into maintHenrik Nord
* jz/error-logic-efile_sendfile: erts: minor fix for unnecessary condition OTP-9872
2012-01-23Merge branch 'jz/sendfile_chunk_size' into maintHenrik Nord
* jz/sendfile_chunk_size: erts: change SENDFILE_CHUNK_SIZE from signed to unsigned Conflicts: erts/emulator/drivers/unix/unix_efile.c OTP-9872
2012-01-18Merge branch 'raimo/64-bit-efile_drv/OTP-9820' into maintErlang/OTP
* raimo/64-bit-efile_drv/OTP-9820: file_SUITE: Assume 64-bit windows has enough memory erts: Badarg if port output overflows iov_len prim_file_SUITE: large_file success depends on wordsize file_SUITE: Increase timeout for large_file file_SITE,prim_file_SUITE: Accept old OpenBSD pecularity prim_file_SUITE: large_write - meaner test data and check result content file_SUITE: large_write - check mem size before creating huge binary erts: rewrite efile_writev to handle partial writes correctly erts: Bugfix - driver_deq freed wrong length due to short type (int) prim_file_SUITE: Add large_write/1 file_SUITE: Add large_write/1 file_SUITE: Refactor large_file/1 file_SUITE: Fix unix_free/1
2012-01-17erts: Do not profile profiler pid (non smp)Björn-Egil Dahlberg
2012-01-16erts: Do not profile profiler pid (smp)Björn-Egil Dahlberg
2012-01-16Revert "erts: Do not profile system profiler pid"Björn-Egil Dahlberg
This reverts commit 4a8ce05083b9c88b94560f400370dbc656893b6e. * Above commit has a lock order violation
2012-01-16erts: Cleanup dependencies for target generateRaimo Niskanen
2012-01-13erts,tools: Fix parallel make for erts/lib_srcRaimo Niskanen
Use a make timestamp file to condense dependencies to some part(s) of erts/lib_src build results.
2012-01-13erts: Fix parallel make for emulator zlibRaimo Niskanen
Convert the recursive make for zlib into a make include file.
2012-01-11Merge branch 'sverk/inet_drv-valgrind-uninitialised' into maintSverker Eriksson
* sverk/inet_drv-valgrind-uninitialised: otp,erts: Add phony valgrind target erts: Better suppression of uninitialised sctp_sndrcvinfo
2012-01-11Merge branch 'sverk/hipe-hibernate-sparc-bug' into maintSverker Eriksson
* sverk/hipe-hibernate-sparc-bug: erts: Make GC tolerate hibernated process without hipe stack
2012-01-11Merge branch 'sverk/nif_SUITE-skip-threading' into maintSverker Eriksson
* sverk/nif_SUITE-skip-threading: erts: Add missing cleanup to nif_SUITE:threading erts: Skip nif_SUITE:threading if not supported
2012-01-11beam_load.c: Don't show unnecessary context in errorsBjörn Gustavsson
For errors that occur after reading the code chunking, saying that the error occurred in the last function in the module and in the instruction int_code_end/0 is just confusing.
2012-01-11beam_load.c: Remove useless call to next_heap_size()Björn Gustavsson
The idea was probably to cause less fragmentation. Even if that would be true, it is irrelevant because the short-lived allocator that is used does not have any problems with fragmentation. In CodeNeed() we will simply double the size of the area used for code instead of using the next heap size.
2012-01-11beam_load.c: apply/2 does not need a special caseBjörn Gustavsson
It is wrongly assumed in the BEAM loader that apply/2 is a BIF and must be treated specially. Also make it clearer in ops.tab that apply/3 is a BIF, but apply/2 is not.
2012-01-09erts: Badarg if port output overflows iov_lenRaimo Niskanen
2012-01-04Merge branch 'egil/fix-compiler-warnings' into maintBjörn-Egil Dahlberg
* egil/fix-compiler-warnings: erts: Use re instead of regexp in testsuite erts: Remove unused code in testsuites orber: Use modern list guard in testsuite orber: Ignore unused variable in orber_tb.erl xmerl: Ignore unused variable in xmerl_uri.erl syntax_tool: Add missing type information hipe: Suppress warnings for unused variables hipe: Add type information to cfg_info record tools: Use literal formatting in erl_memory.c asn1: Remove unused variable in asn1_erl_nif.c ei: Remove unused variable in ei_format.c erts: Add missing prototype to DRIVER_INIT runtime_tools: Fix signedness in trace_ip_drv.c to_erl: Remove compiler warnings heart: Suppress compiler warnings erts: Remove compiler warnings in inet_gethost.c erts: Remove dead code in inet_gethost.c erts: Remove dead code
2012-01-03hipe: Suppress warnings for unused variablesBjörn-Egil Dahlberg
2012-01-03erts: Add missing prototype to DRIVER_INITBjörn-Egil Dahlberg
* The DRIVER_INIT macro will now produce an prototype for the driver_init() function in addition to previous behaviour.
2012-01-03erts: Remove dead codeBjörn-Egil Dahlberg
2012-01-03erts: Do not profile system profiler pidBjörn-Egil Dahlberg
2012-01-03test: system_profile profiler pid is not profiledBjörn-Egil Dahlberg
2012-01-03Remove line macros in system_profile_SUITEBjörn-Egil Dahlberg
2011-12-30Merge branch 'maint-r15' into maintRickard Green
Conflicts: erts/vsn.mk
2011-12-27Include wakeup pipe in /dev/poll poll-set also on non-SMPRickard Green
I/O events could potentially be delayed for ever when enabling kernel-poll on a non-SMP runtime system executing on Solaris. When also combined with async-threads the runtime system hung before completing the boot phase. This bug was introduced in erts-5.9/OTP-R15B.
2011-12-20Remove bad assertRickard Green
It is possible also in non-SMP case: 1. The process receives an exit signal and is set in status exiting and inserted into the run queue. 2. The distribution port exits before the process has been selected for execution and cannot remove the link half on the process since it is in status exiting. 3. Process is selected for execution and when removing this link half the distribution channel is gone!
2011-12-20erts: rewrite efile_writev to handle partial writes correctlyRaimo Niskanen
2011-12-20erts: Bugfix - driver_deq freed wrong length due to short type (int)Raimo Niskanen
2011-12-19otp,erts: Add phony valgrind targetSverker Eriksson
To avoid conflict with directory erts/emulator/valgrind
2011-12-19erts: Better suppression of uninitialised sctp_sndrcvinfoSverker Eriksson