Age | Commit message (Collapse) | Author |
|
* rickard/default-unbound/OTP-9726:
Use unbound schedulers as default
|
|
* rickard/pix-mutex/OTP-9723:
Fix warning when lock-checker is enabled
Replace spinlock with mutex as pix_lock implementation
|
|
|
|
* 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
|
|
* 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
|
|
* 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
|
|
|
|
* siri/sasl/no-warn-missing-sasl/OTP-9738:
Don't use +no_warn_sasl option to systools for bootstrap
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
Also use 64-bit lib when necessary, specify runtime lib path
for secondary dependency libs, and better check before using
SIOCGIFHWADDR.
|
|
* bjorn/erts/remove-useless-variable:
erl_process.c: Remove the redundant variable 'processes_busy'
Update primary bootstrap
otp_internal: Deprecate ssl:pid/1
|
|
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
|
|
* lukas/erts/large_float_cmp/OTP-9497:
Use CMP_TMP_HEAD_SIZE for C-stack
|
|
Thanks to Tuncer Ayaz
|
|
Caused core dump with gen_udp_SUITE on halfword vm.
|
|
* 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
|
|
|
|
* 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
|
|
* 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
|
|
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
On my Mac, the highest successful value was 7673. The new value
provides some safety margin.
|
|
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.
|
|
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.
|
|
|
|
gcc don't care about the type, but clang does and will issue
a warning.
|
|
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.
|
|
This suppresses the 'missing_sasl' warning from systools.
|
|
|
|
|
|
The MIB compiler has changed how it reports syntax errors.
|
|
|
|
This reverts commit e21ff9b0b69219ab3853be7e80813156113152b7.
|
|
|
|
* pan/osx_gcc_fixes:
Fix typo in erts/configure.in
Make OTP build w/alternative gcc on MacOS Lion
OTP-9712
|
|
* 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
|
|
* sverk/hipe-without-fpe/OTP-9724:
otp_build: Disable FPE by default on Linux
stdlib: Make sure qlc_SUITE:otp_6964 restores backtrace_depth
erts: Add test for inf/NaN intermediate float results
hipe,erts: Allow hipe without floating point exceptions
hipe: Fix bug in hipe_rtl_lcm:calc_killed_expr_bb
erts: Rename macros used by float instructions without FPE
|
|
As of ERTS version 5.9 (OTP-R15B) the runtime system will by default
not bind schedulers to logical processors.
If the Erlang runtime system is the only operating system process that
binds threads to logical processors, this improves the performance of
the runtime system. However, if other operating system processes (as
for example another Erlang runtime system) also bind threads to logical
processors, there might be a performance penalty instead. In some cases
this performance penalty might be severe. Due to this, we change the
default so that the user must make an active decision in order to bind
schedulers.
|
|
|
|
The spinlocks used implementing pix-locks have been replaced with
mutexes since they perform better during heavy contention.
|
|
* rickard/sched-compact-load/OTP-9695:
Add switch that can disable scheduler compaction of load
|
|
* bjorn/erts/refc-binary-literals/OTP-9486:
external.c: Remove the option to create over-sized heap binaries
Allow refc binaries in literal pools
code_SUITE clean-up: Remove experimental 'constant_pool' option
|
|
* raimo/sctp-dev/OTP-9239: (21 commits)
erts: Possible bugfix for error chunk on old Solaris 10
kernel: Documented gen_sctp:peeloff/2
kernel: Adjust SCTP test to SuSE quirk
erts: Fixes for SCTP on old Solaris 10
Update preloaded files
erts,kernel: Return eprotonosupport when SCTP is not supported
kernel: Adjust SCTP tests to Solaris quirks
erts: Fix SCTP decoding byteorder bug for adaptation_ind
kernel: Rewrite SCTP test socket handler
kernel: Fix SCTP tests for the FreeBSD protocol stack
kernel: Bugfix - SCTP connect with sndrcvinfo in assoc_change event
erts: Default enable SCTP in configure
Update primary bootstrap and preloaded files
erts: Use SCTP functions in default libs
erts: Improve SCTP message defragmenting
erts,kernel: Bugfix - collect fragmented SCTP messages on recv
kernel: Add tests for gen_sctp:peeloff/2
erts,kernel: Implement gen_sctp:peeloff/2
kernel: Add tests for SCTP stream sockets
erts,kernel: Add type stream sockets to SCTP
...
|