aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2011-12-01Merge branch 'bjorn/dialyzer-warnings'Björn Gustavsson
* bjorn/dialyzer-warnings: erlang: Eliminate a clause in aa_mem_data/2 that can never match Add type info for erlang:system_info({allocator_sizes,ref(),any()})
2011-12-01Merge branch 'rickard/deprecate-runtime-binding/OTP-9749'Rickard Green
* rickard/deprecate-runtime-binding/OTP-9749: Deprecate erlang:system_flag/2 arguments scheduler_bind_type and cpu_topology
2011-12-01Merge branch 'rickard/rm-common-runq/OTP-9727'Rickard Green
* rickard/rm-common-runq/OTP-9727: Remove common run-queue in SMP case Fix scheduler suspend bug Conflicts: erts/emulator/beam/erl_init.c
2011-12-01Deprecate erlang:system_flag/2 arguments scheduler_bind_type and cpu_topologyRickard Green
The use of erlang:system_flag(scheduler_bind_type, _) and erlang:system_flag(cpu_topology, _) have been deprecated and scheduled for removal in erts-5.10/OTP-R16. For more information see the documentation of erlang:system_flag/2.
2011-12-01Remove common run-queue in SMP caseRickard Green
The common run-queue implementation is removed since it is unused, untested, undocumented, unsupported, and only complicates the code. A spinlock used by the run-queue management sometimes got heavily contended. This code has now been rewritten, and the spinlock has been removed.
2011-12-01Fix scheduler suspend bugRickard Green
Calls to erlang:system_flag(schedulers_online, N) and/or erlang:system_flag(multi_scheduling, block|unblock) could cause internal data used by this functionality to get into an inconsistent state. When this happened various problems occurred. This bug was quite hard to trigger, so hopefully no-one has been effected by it.
2011-11-30erlang: Eliminate a clause in aa_mem_data/2 that can never matchBjörn Gustavsson
aa_mem_data/2 is only called by aa_mem_data/1 and itself. aa_mem_data/1 called with the argument 'notsup' will never call aa_mem_data/2. aa_mem_data/2 will only call itself with a #memory{} record as the first argument. QED. Noticed-by: Dialyzer.
2011-11-30Merge branch 'rickard/default-unbound/OTP-9726'Rickard Green
* rickard/default-unbound/OTP-9726: Use unbound schedulers as default
2011-11-30Merge branch 'rickard/pix-mutex/OTP-9723'Rickard Green
* rickard/pix-mutex/OTP-9723: Fix warning when lock-checker is enabled Replace spinlock with mutex as pix_lock implementation
2011-11-30erts: Add valgrind suppressionsSverker Eriksson
2011-11-30Merge branch 'bjorn/deprecate-tuple-funs/OTP-9649'Björn Gustavsson
* bjorn/deprecate-tuple-funs/OTP-9649: erts: Warn the first time a tuple fun is called otp_mibs: Eliminate use of tuple fun os_mon: Eliminate use of tuple fun asn1: Eliminate use of tuple fun parsetools: Eliminate use of tuple fun mnesia tests: Eliminate use of tuple fun snmp: Eliminate use of tuple fun wrap_log_reader_SUITE: Eliminate use of tuple fun big_SUITE: Eliminate use of tuple fun file_SUITE: Eliminate use of tuple fun fprof: Eliminate use of tuple fun xref_compiler: Eliminate use of tuple fun shell: Eliminate use of tuple funs erl_eval: Eliminate use of tuple funs user_sup: Eliminate use of tuple fun
2011-11-30Merge branch 'bjorn/llvm-issues/OTP-9712'Björn Gustavsson
* bjorn/llvm-issues/OTP-9712: INSTALL.md: Update build instructions for Lion Fix clang linking problem configure: Define NO_JUMP_TABLE if all we have is llvm-gcc beam_emu.c: Eliminate warnings when NO_JUMP_TABLE is defined beam_emu.c: Use the correct void* type for computed gotos MacOS X: Completely remove obsolete -no-cpp-precomp option
2011-11-30Merge branch 'tn/inet_drv-fix'Raimo Niskanen
* tn/inet_drv-fix: Cleanup - remove unnecesary bracket level and configure for ifreq.ifr_enaddr Work around gcc linking with own view of default libs on Solaris Use libdlpi to get physical address
2011-11-30erts: Configure check for SCTP features only when sctp.h is foundRaimo Niskanen
2011-11-30Merge branch 'siri/sasl/no-warn-missing-sasl/OTP-9738'Siri Hansen
* siri/sasl/no-warn-missing-sasl/OTP-9738: Don't use +no_warn_sasl option to systools for bootstrap
2011-11-30Disable floating point exceptions on Mac OS X by defaultBjörn Gustavsson
Many test cases provoke printouts similar to: ERTS_FP_CHECK_INIT at 0x131fd218: detected unhandled FPE at 0x1 Until the problem has been identified and fixed, disable floating point exceptions by default on Mac OS X.
2011-11-30erts: Warn the first time a tuple fun is calledBjörn Gustavsson
2011-11-29big_SUITE: Eliminate use of tuple funBjörn Gustavsson
It seems that a tuple fun was used only because erl_eval:expr/3 did not support passing in a real fun at the time that the test case was originally written.
2011-11-29erts: Remove old ELIB cruft from emulator MakefileRaimo Niskanen
2011-11-29Cleanup - remove unnecesary bracket level and configure for ifreq.ifr_enaddrRaimo Niskanen
2011-11-29Work around gcc linking with own view of default libs on SolarisRaimo Niskanen
Also use 64-bit lib when necessary, specify runtime lib path for secondary dependency libs, and better check before using SIOCGIFHWADDR.
2011-11-29Merge branch 'bjorn/erts/remove-useless-variable'Björn Gustavsson
* bjorn/erts/remove-useless-variable: erl_process.c: Remove the redundant variable 'processes_busy' Update primary bootstrap otp_internal: Deprecate ssl:pid/1
2011-11-29erl_process.c: Remove the redundant variable 'processes_busy'Björn Gustavsson
There is a static variable called 'processes_busy' in erl_process.c, which will be incremented but never used. To confuse things, there is also a global variable with the same name, but it it is only defined and used if BM_COUNTERS is defined. In erl_process.c, the global version of 'processes_busy' will be seen and incremented if BM_COUNTERS is defined. Remove the static version of 'processes_busy' in erl_process.c, but keep the global version if BM_COUNTERS is defined. Noticed-by: Jovi Zhang
2011-11-28Merge branch 'lukas/erts/large_float_cmp/OTP-9497'Lukas Larsson
* lukas/erts/large_float_cmp/OTP-9497: Use CMP_TMP_HEAD_SIZE for C-stack
2011-11-28Use CMP_TMP_HEAD_SIZE for C-stackLukas Larsson
Thanks to Tuncer Ayaz
2011-11-28erts: Fix faulty udp-buffer handlingSverker Eriksson
Caused core dump with gen_udp_SUITE on halfword vm.
2011-11-28Merge branch 'bjorn/code-loading'Björn Gustavsson
* bjorn/code-loading: code: Clean up loading of code_server prerequisites beam_load.c: Add init_iff_file() for verifying the IFF header beam_code.c: Don't reinvent state initialization and deallocation beam_load.c: Optimize code:get_chunk/2 beam_load.c: Eliminate memory leak in code:make_stub_module/3
2011-11-28Correct -D and -I flags for emulator make target 'depend'Raimo Niskanen
2011-11-28Merge branch 'bjorn/fix-failing-tests'Björn Gustavsson
* bjorn/fix-failing-tests: erlc_SUITE:arg_overflow/1: Lower number of options for MacOS X Lion tar_SUITE: Don't do symlink tests on Windows erlc_SUITE: Fix failing compile_mib/1 test case
2011-11-28Merge branch 'bjorn/major-release-cleanups'Björn Gustavsson
* bjorn/major-release-cleanups: observer tests: Test compatibility with R13, not R12 emulator tests: Test compatibility with R13, not R12 Teach the compiler the 'r14' option erl_lint: The types introduced in R12B-5 are no longer "newly introduced" otp_internal: Stop warning for functions removed in R12 or earlier Conflicts: lib/stdlib/src/otp_internal.erl
2011-11-28Don't use +no_warn_sasl option to systools for bootstrapSiri Hansen
2011-11-26beam_load.c: Add init_iff_file() for verifying the IFF headerBjörn Gustavsson
Add init_iff_file() for verifying the IFF header. Also let it handle compressed BEAM files so that it will be done in one place. That means that code:get_chunk/2 and code:module_md5/1 will now support compressed BEAM files.
2011-11-26beam_code.c: Don't reinvent state initialization and deallocationBjörn Gustavsson
2011-11-26beam_load.c: Optimize code:get_chunk/2Björn Gustavsson
The undocumented code:get_chunk/2 BIF is supposed to be a fast way to extract a chunk from a BEAM file when loading native code. In practice, it might not have been faster because it happened to calculate an MD5 checksum for the chunk it extracted because it shared the scan_iff_file() function with the erlang:load_module/2 BIF. Split scan_iff_file() into scan_iff_file() and verify_chunks(), so that the unnecessary MD5 calculation can be avoided.
2011-11-26beam_load.c: Eliminate memory leak in code:make_stub_module/3Björn Gustavsson
code:make_stub_module/3 leaked memory if given either a corrupt BEAM file, or a compressed BEAM file and an error occurred, or a binary not aligned on byte boundaries.
2011-11-25erlc_SUITE:arg_overflow/1: Lower number of options for MacOS X LionBjörn Gustavsson
On my Mac, the highest successful value was 7673. The new value provides some safety margin.
2011-11-25Fix clang linking problemBjörn Gustavsson
Inlining was not done in a portable way. clang follows the C99 semantics for inlining ('inline' essentially implies 'static' in C99, but not in GCC), so bp_sched2ix() was not visible outside beam_bp.c. Since the function need to be used from more than one source file, put the function definition in the beam_bp.h header file. Also, give it an 'erts_' prefix since it is globally visible.
2011-11-25configure: Define NO_JUMP_TABLE if all we have is llvm-gccBjörn Gustavsson
Commit dd24ca1cb76d attempts to fix the problem that LLVM-based compilers (such as llvm-gcc-4.2 and clang) miscompiles beam_emu.c. The idea was to force the use of gcc-4.2 if the default compiler was LLVM-based. Since that fix, Apple released Xcode 4.2 that does not include any version of gcc, only llvm-gcc-4.2 and clang. We could require gcc in order to be the system, but it would be nice if Erlang/OTP could be built out-of-box on MacOS X, albeit with reduced performance. Therefore, make sure that we set NO_JUMP_TABLE (use a switch statement instead of computed gotos in beam_emu.c) if no compiler that correctly handles computed gotos can be found. We know that clang based on the upcoming LLVM 3.0 will work, but older LLVM-based compilers will not, so we can test the version of clang. llvm-gcc has been discontinued in LLVM 3.0, so if the compiler is LLVM-based but not clang, we can assume that it does not handles computed gotos correctly.
2011-11-25beam_emu.c: Eliminate warnings when NO_JUMP_TABLE is definedBjörn Gustavsson
2011-11-25beam_emu.c: Use the correct void* type for computed gotosBjörn Gustavsson
gcc don't care about the type, but clang does and will issue a warning.
2011-11-25MacOS X: Completely remove obsolete -no-cpp-precomp optionBjörn Gustavsson
clang does not recognize the -no-cpp-precomp option and generates a warning. -no-cpp-precomp is an obsolete Apple-specific gcc option, which last had any effect in gcc 3.1 for Jaguar. Since we cannot build for Jaguar anyway, the configure test added in 8412a400e92d5cbcd is not needed.
2011-11-24Add +no_warn_sasl flag when compiling start_clean.relSiri Hansen
This suppresses the 'missing_sasl' warning from systools.
2011-11-24Use libdlpi to get physical addressTrond Norbye
2011-11-24emulator tests: Test compatibility with R13, not R12Björn Gustavsson
2011-11-23erlc_SUITE: Fix failing compile_mib/1 test caseBjörn Gustavsson
The MIB compiler has changed how it reports syntax errors.
2011-11-22Update system version to R15BBjörn-Egil Dahlberg
2011-11-22Revert "Update version numbers for pre-release of R15"Björn-Egil Dahlberg
This reverts commit e21ff9b0b69219ab3853be7e80813156113152b7.
2011-11-22Update version numbers for pre-release of R15OTP_R15ABjörn Gustavsson
2011-11-18Merge branch 'pan/osx_gcc_fixes'Patrik Nyblom
* pan/osx_gcc_fixes: Fix typo in erts/configure.in Make OTP build w/alternative gcc on MacOS Lion OTP-9712
2011-11-18Merge branch 'pan/binary_match_scope/OTP-9701'Patrik Nyblom
* pan/binary_match_scope/OTP-9701: Remove remaining gcc 4.6 assigned-but-not-used warnings from erts Remove GCC 4.6 set-but-not-used warning from erl_bif_binary Make binary:match with scope return correct values