aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
AgeCommit message (Collapse)Author
2015-03-12erts: Add micro optimization to phash2 of tuplesSverker Eriksson
2015-03-12erts: Add ERTS_UNDEF macroSverker Eriksson
2015-03-12erts: Fix bug in hashmap_restore/shift_hashSverker Eriksson
Deep hashing should ignore the three lowest bits of the level.
2015-03-12erts: Add hashing of hashmapsSverker Eriksson
2015-03-12erts: Make hashmap use the new hash functionSverker Eriksson
2015-03-12erts: Add map_SUITE:t_map_compareSverker Eriksson
2015-03-12erts: Make hashmap compare non-recursiveSverker Eriksson
2015-03-12erts: First recursive version of hashmap compareSverker Eriksson
2015-03-12erts: Change to total ordering of keys in small mapsSverker Eriksson
2015-03-12erts: Rewrite hashmap:to_list, keys and valuesSverker Eriksson
to use an iterator instead of foreach with callback. Will be easier to make yielding.
2015-03-12erts: Make WSTACK usable through pointerSverker Eriksson
2015-03-12erts: Make hashmap_merge use dynamic PSTACKSverker Eriksson
2015-03-12erts: Add PSTACKSverker Eriksson
A lightweight stack that can be used to store any type. PUSH and POP return pointers into stack slots.
2015-03-12erts: Cleanup hashmap_merge_2Sverker Eriksson
2015-03-12erts: Add term_to_binary for hashmapSverker Eriksson
2015-03-12erts: Add RESERVE and FAST_PUSH for ESTACK & WSTACKSverker Eriksson
2015-03-12erts: Add hashmap:update/3Sverker Eriksson
2015-03-12erts: Add hashmap:find/2Sverker Eriksson
2015-03-12erts: Refactor hashmap_to_list to use hashmap_do_foreachSverker Eriksson
2015-03-12erts: Refactor hashmap_do_foreachSverker Eriksson
to use a common struct hashmap_doer_state.
2015-03-12erts: Add missing parenthesis in MAKE_MAP_HEADERSverker Eriksson
2015-03-12First non-recursive version of hashmap:merge/2Sverker Eriksson
2015-03-12erts: First recursive version of hashmap:mergeSverker Eriksson
2015-03-12erts: Add matching of hashmapsSverker Eriksson
2015-03-12erts: Fix bug in _make_header macroSverker Eriksson
Called with a signed int 'sz' argument on 64 bit would cause sign extension 'sz' was larger than 33554431.
2015-03-12hashmap: is_key/2, keys/1 and values/1Sverker Eriksson
2015-03-12Don't use modulus for power of 2Björn-Egil Dahlberg
2015-03-12Refactor hashmap_shiftBjörn-Egil Dahlberg
2015-03-12Add hashmap:remove/2Björn-Egil Dahlberg
2015-03-12Add hashmap:info/1Björn-Egil Dahlberg
2015-03-12Initial Persistent HAMT - Map frameworkBjörn-Egil Dahlberg
Conflicts: erts/emulator/Makefile.in erts/emulator/beam/bif.tab erts/emulator/beam/erl_gc.c erts/emulator/beam/erl_gc.h erts/emulator/beam/erl_printf_term.c erts/emulator/beam/erl_term.c erts/emulator/beam/erl_term.h
2015-03-12Merge branch 'nox/maps-match_specs-fixes/OTP-12270'Björn-Egil Dahlberg
* nox/maps-match_specs-fixes/OTP-12270: erts: Strengthen maps match spec compilation tests Properly collect variables in match specs with maps Fix compilation of match specs with maps
2015-03-12Merge branch 'maint'Henrik Nord
Conflicts: erts/emulator/hipe/hipe_bif0.c
2015-03-12Merge branch 'mikpe/hipe-mfait-rwlock' into maintHenrik Nord
* mikpe/hipe-mfait-rwlock: hipe: change mfa_info_table lock to rwmutex OTP-12557
2015-03-12Merge branch 'mikpe/avoid-oversize-bignums' into maintHenrik Nord
* mikpe/avoid-oversize-bignums: don't leave a heap hole in erts_bs_get_integer_2 don't create oversize bignums in binary matching OTP-12556
2015-03-12Merge branch 'egil/beam/select_val/OTP-12555'Björn-Egil Dahlberg
* egil/beam/select_val/OTP-12555: erts: Use linear search for small select_val arrays
2015-03-12Merge branch 'egil/process_dictionary-initial-size/OTP-12535'Björn-Egil Dahlberg
* egil/process_dictionary-initial-size/OTP-12535: erts: Document option 'hpds' erts: Enable command line argument for initial pd size
2015-03-12erts: Strengthen maps match spec compilation testsBjörn-Egil Dahlberg
2015-03-11Properly collect variables in match specs with mapsAnthony Ramine
2015-03-11Fix compilation of match specs with mapsAnthony Ramine
The previous compilation was just plain wrong with push/pop mismatches. Reported-by: Björn-Egil Dahlberg
2015-03-09Merge branch 'seriyps/zlib-inflate-bound'Henrik Nord
* seriyps/zlib-inflate-bound: Add zlib limited output buffer size functionality Conflicts: erts/preloaded/ebin/zlib.beam OTP-12548
2015-03-06Merge branch 'maint'Zandra Hird
2015-03-06Merge branch 'leoliu/master' into maintZandra Hird
* leoliu/master: Two minor fixes OTP-12545
2015-03-05Merge branch 'maint'Björn-Egil Dahlberg
2015-03-04erts: Enable command line argument for initial pd sizeBjörn-Egil Dahlberg
Use '+hpds size' to set initial process dictionary size for spawned processes.
2015-02-27Two minor fixesLeo Liu
* Fix documentation on $char for unicode * Remove duplicate declaration for erts_encode_ext_dist_header_size
2015-02-26hipe: change mfa_info_table lock to rwmutexMikael Pettersson
The hipe_mfa_info_table lock is currently a mutex, causing unnecessary contention and serialization of lookups for apply-like constructs. - change the lock from a mutex to an rwmutex - split hipe_get_na_nofail_locked into a "try" path which only needs a read lock, and a "slow" path which requires a write lock - reimplement hipe_get_na_nofail (used by apply ops etc) to first call the "try" path with a read lock, and if that fails the "slow" path with a write lock - reimplement hipe_get_na_nofail_locked (used by maintenance code) to call the "try" path and then optionally the "slow" path, but without taking locks since its caller already has the write lock - adjust remaining lock ops to take/release full write lock - use _rwlocked as suffix on functions requiring a write lock - change hipe_mfa_get_trampoline to call get_locked not put_locked, allowing it to take a read lock instead of a write lock - change hipe_find_mfa_from_ra() to only take a read lock
2015-02-20erts: Fix erroneous printout in crashdumpBjörn-Egil Dahlberg
An extra '}' were printed in remote links.
2015-02-19remove perfctr supportMikael Pettersson
Perfctr is a Linux kernel extension that allows programmatic access to the performance monitoring counters found in most current CPUs. However, development of perfctr ceased after 2010, and it cannot be used with Linux kernels newer than 2.6.32. Therefore the perfctr support code in the Erlang VM is effectively dead code, so this patch removes it.
2015-02-14don't leave a heap hole in erts_bs_get_integer_2Mikael Pettersson
Reset p->htop in the oversize bignum error case to avoid leaving a hole in the heap, which would crash the debug emulator.