aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
AgeCommit message (Collapse)Author
2013-10-21Merge branch 'egil/fix-crashdump-pointer-crash/OTP-11420' into maintBjörn-Egil Dahlberg
* egil/fix-crashdump-pointer-crash/OTP-11420: erts: Fix segfaulting crashdump writing
2013-10-21Merge branch 'egil/r17/fix-crashdump-printout/OTP-11419'Björn-Egil Dahlberg
* egil/r17/fix-crashdump-printout/OTP-11419: erts: Remove space in 'Buckets' printout erts: Remove unit in 'Time left' printout
2013-10-18erts: Fix segfaulting crashdump writingBjörn-Egil Dahlberg
Crashdumps initiated by out-of-memory on spawn could cause the beam to segfault during crashdump writing due to invalid pointers. The pointers are invalid since the process creation never finished. This commit remedies this problem by removing the process from crashdump printout.
2013-10-17erts: Fix memory leak for distributed monitorsSverker Eriksson
2013-10-16Merge branch 'sverk/load-nif-unicode'Sverker Eriksson
OTP-11408 * sverk/load-nif-unicode: erts: Fix bug in atom to filename conversions Fix open_ddll for win erts, crypto: Support NIF library with unicode filename on windows erts: Factor out erts_convert_filename_to_wchar() erts: Fix compiler warning erts: Fix loading of NIF library with unicode in path erts: Remove unused constant DRIVER_TAB_SIZE
2013-10-15Merge branch 'maint'Sverker Eriksson
Conflicts: erts/preloaded/ebin/erlang.beam
2013-10-15Merge branch 'rickard-sverker/supercarrier/OTP-11149' into maintSverker Eriksson
* rickard-sverker/supercarrier/OTP-11149: (29 commits) erts: Add test case for erts_mmap erts: Add mutex to init_atoms in erts_mmap.c erts: Fix lock violation for init_atoms in erl_mmap.c erts: Fix misc minor bugs in supercarrier initialization erts: Add erts_mmap stats erts: Add erts_bld_tupleX macros erts: Rename erts_bld_atom_uint_2tup_list to *_uword_* erts: Fix bug in lookup_free_seg erts: Fix race bug in erts_munmap erts: Add HARD_DBG_MSEG erts: Refactor rbt_insert in erl_mmap erts: erts_mmap improved free seg desc management erts: Add documentation for +MMsc* system flags erts: Allow page aligned erts_munmap() erts: Sort tree in super aligned sizes (SA_SZ_ADDR_ORDER) erts: Fix ASSERT bug and void* arithmetics erts: Add mmap argument to erts_debug:get_internal_state erts: Improve erts_mmap out of free descriptor management erts: Cleanup erl_mmap erts: Add __func__ to ERTS_ASSERT macro ...
2013-10-14Merge branch 'maint'Fredrik Gustafsson
2013-10-14Merge branch 'fenollp/treewide_remove_unexpected_0xff/OTP-11323' into maintFredrik Gustafsson
* fenollp/treewide_remove_unexpected_0xff/OTP-11323: Remove ^L characters hidden randomly in the code. Not those used in text files as delimiters.
2013-10-11Merge branch 'maint'Fredrik Gustafsson
2013-10-10Fix bsr bugLars Hesel Christensen
Fix bsr bug occurring when shifting a huge number a huge number of bits to the right. The bug can occur if Sint is 64 bits and int is 32 bits, causing a truncation in the big.c:I_lshift function.
2013-10-02erts: Add mutex to init_atoms in erts_mmap.cSverker Eriksson
2013-09-30erts: Add erts_mmap statsSverker Eriksson
As part of erlang:system_info({allocator,mseg_alloc}) and erl_crash.dump
2013-09-30erts: Add erts_bld_tupleX macrosSverker Eriksson
for compile time argument checking
2013-09-30erts: Rename erts_bld_atom_uint_2tup_list to *_uword_*Sverker Eriksson
and change from Uint to UWord values
2013-09-30erts: Add HARD_DBG_MSEGSverker Eriksson
2013-09-30erts: Add mmap argument to erts_debug:get_internal_stateSverker Eriksson
2013-09-30erts: Add __func__ to ERTS_ASSERT macroSverker Eriksson
2013-09-30erts: erts_mmap supercarrier management and erts_mseg usageRickard Green
* Coalescing and trimming of free segments in supercarrier * Management of super aligned and super unaligned areas in supercarrier * Management of reservation of physical memory * erts_mseg usage of erts_mmap
2013-09-30erts: Prepare erl_mmap with tree structures for free seg storageSverker Eriksson
2013-09-30erts: Remove ASSERT_EXPR macroSverker Eriksson
2013-09-30erts: Refactor the ASSERT macroSverker Eriksson
Introduce unconditional ERTS_ASSERT and use that for both ASSERT and ASSERT_EXPR.
2013-09-30Merge branch 'maint'Fredrik Gustafsson
2013-09-30Merge branch 'maint-r16' into maintFredrik Gustafsson
Conflicts: erts/vsn.mk
2013-09-30Merge branch 'maint'Fredrik Gustafsson
2013-09-30Merge branch 'msassak/empty-pattern-badarg/OTP-11350' into maintFredrik Gustafsson
* msassak/empty-pattern-badarg/OTP-11350: stdlib: extended binary_module_SUITE to assure badarg for OTP-11350 Check all pattern arguments passed to binary:matches/2
2013-09-30Merge branch 'maint'Lukas Larsson
* maint: Update preloaded add system_info(ets_limit) Conflicts: erts/preloaded/ebin/erlang.beam
2013-09-25Merge branch 'rickard/aligned-sys_alloc-carriers/OTP-11318' into ↵Rickard Green
rickard/aligned-sys_alloc-carriers_maint/OTP-11318 Conflicts: erts/emulator/beam/erl_alloc.c erts/emulator/beam/erl_alloc_util.c erts/emulator/beam/erl_alloc_util.h
2013-09-25Implement platform specific aligned sys_alloc and use when supportedRickard Green
erts_sys_aligned_alloc() is currently implemented using posix_memalign if it exist, or using _aligned_malloc on Windows. If erts_sys_aligned_alloc() exist allocators will create sys_alloc carriers similar to how this was done pre-R16.
2013-09-24erts: Fix bug in atom to filename conversionsSverker Eriksson
Buggy old code assumed latin1 atoms.
2013-09-24add system_info(ets_limit)Steve Vinoski
Add system_info(ets_limit) to provide a way to retrieve the runtime's maximum number of ETS tables. Add tests and documentation for it too. Also repair the alphabetical order of system_info/1 argument descriptions in the documentation and in the erlang.erl clauses. Add new preloaded erlang.erl due to that change. Also ensure all system_info/1 clauses are represented in the erlang.xml source documentation -- a couple had been inadvertently dropped in previous commits when other clauses were added.
2013-09-20Check all pattern arguments passed to binary:matches/2Mike Sassak
Including an empty binary as one of multiple patterns passed to binary:matches/2 would crash BEAM with: "Cannot reallocate 1342177280 bytes of memory (of type "tmp")". This ensures each pattern is valid before trying to match.
2013-09-19erts, crypto: Support NIF library with unicode filename on windowsSverker Eriksson
2013-09-19erts: Factor out erts_convert_filename_to_wchar()Sverker Eriksson
from erts_convert_filename_to_encoding()
2013-09-19erts: Fix compiler warningSverker Eriksson
2013-09-16erts: Remove space in 'Buckets' printoutBjörn-Egil Dahlberg
Fix to ease parsing of information.
2013-09-16erts: Remove unit in 'Time left' printoutBjörn-Egil Dahlberg
The unit 'ms' is removed due to ease of parsing.
2013-09-13erts: Fix loading of NIF library with unicode in pathSverker Eriksson
2013-09-12Remove ^L characters hidden randomly in the code. Not those used in text ↵Pierre Fenoll
files as delimiters. While working on a tool that processes Erlang code and testing it against this repo, I found out about those little sneaky 0xff. I thought it may be of help to other people build such tools to remove non-conforming-to-standard characters.
2013-09-11Merge branch 'maint'Fredrik Gustafsson
2013-09-10fix system_flag(scheduling_statistics,disable)Steve Vinoski
Clear the "enabled" flag for scheduling statistics when disable is specified.
2013-09-05Merge branch 'maint'Björn-Egil Dahlberg
2013-09-05Merge branch 'egil/erl_driver-thread-info/OTP-11303' into maintBjörn-Egil Dahlberg
* egil/erl_driver-thread-info/OTP-11303: erts: Document erl_driver interface lock names erts: Extend erl_driver interface with lock names
2013-09-02Merge branch 'maint'Lukas Larsson
* maint: Silence gcc warnings in non-smp build
2013-09-02Merge branch 'sv-sched-percentage-option' into maintLukas Larsson
* sv-sched-percentage-option: Silence gcc warnings in non-smp build
2013-09-02Merge branch 'maint'Lukas Larsson
* maint: erts: Fix segfault when scheduling release_port later_op
2013-09-02Merge branch 'lukas/erts/clean_port_msg_dispatcher/OTP-11290' into maintLukas Larsson
* lukas/erts/clean_port_msg_dispatcher/OTP-11290: erts: Fix segfault when scheduling release_port later_op
2013-09-02Silence gcc warnings in non-smp buildLukas Larsson
2013-08-30Merge branch 'maint'Lukas Larsson
* maint: add erl option to set schedulers by percentages
2013-08-29add erl option to set schedulers by percentagesSteve Vinoski
For applications where measurements show enhanced performance from the use of a non-default number of emulator scheduler threads, having to accurately set the right number of scheduler threads across multiple hosts each with different numbers of logical processors is difficult because the erl +S option requires absolute numbers of scheduler threads and scheduler threads online to be specified. To address this issue, add a +SP option to erl, similar to the existing +S option but allowing the number of scheduler threads and scheduler threads online to be set as percentages of logical processors configured and logical processors available, respectively. For example, "+SP 50:25" sets the number of scheduler threads to 50% of the logical processors configured, and the number of scheduler threads online to 25% of the logical processors available. The +SP option also interacts with any settings specified with the +S option, such that the combination of options "+S 4:4 +SP 50:50" (in either order) results in 2 scheduler threads and 2 scheduler threads online. Add documentation for the +SP option. Add tests for the +SP option to scheduler_SUITE. Add tests and documentation for two existing features of the +S option: +S 0:0 resets the scheduler thread count and scheduler threads online count to their defaults, and specifying negative numbers for +S results in those values being subtracted from the default values for the host.