* sverk/large-list_to_integer-bug/OTP-12624: erts: Fix bug in list_to_integer for very large strings
…nto maint * egil/maint/process_dictionary-initial-size/OTP-12535: erts: Document option 'hpds' erts: Enable command line argument for initial pd size
list_to_integer(lists:duplicate(10000000,$0)). crashed due to overflow when calculating nr heap words.
* egil/fix-term-cmp/OTP-12623: erts: Fix comparison of exact terms
Use '+hpds size' to set initial process dictionary size for spawned processes.
Comparison of exact terms could cause faulty term tests. This was caused by a faulty (too small) internal type. Symptom: -1 = erts_internal:cmp_term(2147483648,0). %% wrong Correct: 1 = erts_internal:cmp_term(2147483648,0). Reported-by: Jesper Louis Andersen
* erland/revert_time/OTP-12444: Revert "Use new time API and be back-compatible in ssh"
* rickard/port_control_flags_crash/OTP-12544: Make access to control_flags safe in non-smp emulator
* rickard/find_emu_cc/OTP-12388: Fix missing quotation in LM_FIND_EMU_CC
This reverts commit af972aa. Conflicts: lib/ssh/test/ssh_basic_SUITE.erl
* 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
* erland/ssh/time/OTP-12444: Update misleading comment in ssh_basic_SUITE Update new time API and be back-compatible in ssh Use new time API and be back-compatible in ssh otp_SUITE: Ignore undefined functions in ssh
* egil/fix-break-printout/OTP-12537: erts: Fix erroneous printout in crashdump
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