aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
AgeCommit message (Collapse)Author
2017-05-04Update copyright yearRaimo Niskanen
2017-04-28Merge PR1413 from g-andrade/feature/phash2_nifSverker Eriksson
Support hashing terms from NIF code
2017-04-27erts: Optimize make_internal_hash for mapsSverker Eriksson
No need for the xor-trick, to be order independent, as both flatmaps and hashmaps have a constant key-value order internally.
2017-04-27Merge branch 'rickard/ds-stack-size'Rickard Green
OTP-14380 * rickard/ds-stack-size: Suggested stack size options for dirty schedulers
2017-04-27Merge branch 'rickard/debug-timer-fix'Rickard Green
OTP-14356 * rickard/debug-timer-fix: Fix assert in dbg_verify_empty_later_slots()
2017-04-27Move enif_hash last to not break WindowsSverker Eriksson
2017-04-25Merge branch 'sverker/refactor'Sverker Eriksson
* sverker/refactor: erts: Introduce struct binary_internals erts: Introduce erts_bin_release erts: Init refc=1 in erts_bin_drv_alloc* erts: Init refc=1 in erts_bin_nrml_alloc erts: Remove deliberate leak of hipe fun entries erts: Remove hipe_bifs:remove_refs_from/1 Refactor hipe specific code to use ErtsCodeInfo erts: Refactor ErtsCodeInfo.native
2017-04-25Merge branch 'lukas/erts/list_to_port/OTP-14348'Lukas Larsson
* lukas/erts/list_to_port/OTP-14348: erts: Add erlang:list_to_port/1 debug bif erts: Auto-import port_to_list for consistency erts: Polish off erlang:list_to_ref/1
2017-04-25erts: Add erlang:list_to_port/1 debug bifLukas Larsson
2017-04-24erts: Discontinue salted use of enif_hash/phash2Guilherme Andrade
2017-04-24Fix assert in dbg_verify_empty_later_slots()Rickard Green
2017-04-24Merge branch 'dgud/stdlib/unicode-string/OTP-10289'Dan Gudmundsson
* dgud/stdlib/unicode-string/OTP-10289: Handle chardata in string:to_float and string:to_list New unicode aware string module that works with unicode:chardata() Add nf(k)d, nf(k)c conversion functions to unicode module Reorder code and whitespace fixes Add unicode_util
2017-04-24Handle chardata in string:to_float and string:to_listDan Gudmundsson
2017-04-24Merge branch 'lukas/erts/fix_non-smp_scheduler_data_init/OTP-14152'Lukas Larsson
* lukas/erts/fix_non-smp_scheduler_data_init/OTP-14152: erts: Initialize esdp->type in non-smp to normal
2017-04-22erts: Allow for easier future enif_hash expansionGuilherme Andrade
Allow for expanding support to 64-bit hashes without breaking the interface.
2017-04-22erts: Support custom salt in enif_hashGuilherme Andrade
2017-04-21Merge branch 'rickard/timer-improvements'Rickard Green
OTP-14356 * rickard/timer-improvements: Fix of later timer wheel Minimum timeout position in each timer wheel Manage timers to trigger at once in a slot similar to other timers Introduce timer slot range counters Timer wheel divided into a "soon wheel" and a "later wheel" Remove unnecessary cancel callback from timer-wheel timers Rearrange timer struct fields in order to simplify Use timer wheel for short BIF timers Use magic refs for BIF timers Remove accessor BIF timer implementation Fix aux-work timer implementation
2017-04-20erts: Refactor enif_phash2 into enif_hashGuilherme Andrade
A more generic hashing function which can also hash terms based on `make_internal_hash'.
2017-04-20erts: Remove enif_phash2_rangedGuilherme Andrade
2017-04-20erts: Initialize esdp->type in non-smp to normalLukas Larsson
The previous code worked through luck because the memory returned from erts_alloc was zero:ed and SCHED_NORMAL is 0. But if you run with +Meamin that is not always the case which is how this error was detected.
2017-04-20Merge branch 'lukas/erts/20_minor_fixes'Lukas Larsson
* lukas/erts/20_minor_fixes: erts: Rebuild etc executables if config.h changes erts: Fix new gcc warning in check io kernel: Add mem check to prim_file:large_write tc erts: Fix two compiler warnings on OS X erts: Fix erts_debug:df function info output erts: Get rid of some unused function warnings on os x
2017-04-19erts: Add enif_phash2 and enif_phash2_rangedGuilherme Andrade
These allow one to hash VM terms from NIF code.
2017-04-18Merge pull request #1412 from manuel-rubio/manuel-rubio/add-re-versionRickard Green
Add re:version/0 OTP-14347
2017-04-18Fix of later timer wheelRickard Green
2017-04-18Minimum timeout position in each timer wheelRickard Green
Minimum known timeout position is saved in bot far and near wheel. This information is used to avoid scanning from current position in the cases were we know the minimum timeout position.
2017-04-18Manage timers to trigger at once in a slot similar to other timersRickard Green
2017-04-18Introduce timer slot range countersRickard Green
Timer counters for ranges of slots in order to be able to avoid inspecting large ranges of slots without timers.
2017-04-18Timer wheel divided into a "soon wheel" and a "later wheel"Rickard Green
The old single wheel implementation handled about 65 seconds. The new dual wheel implementation handles more than 37 hours. The dual wheels have also been shrunk compared to the single wheel, so the total memory consumption for timer wheels have been cut in half.
2017-04-18Remove unnecessary cancel callback from timer-wheel timersRickard Green
2017-04-18Rearrange timer struct fields in order to simplifyRickard Green
2017-04-18Use timer wheel for short BIF timersRickard Green
2017-04-18Use magic refs for BIF timersRickard Green
2017-04-18Remove accessor BIF timer implementationRickard Green
2017-04-18Fix aux-work timer implementationRickard Green
2017-04-12erts: Introduce struct binary_internalsSverker Eriksson
to replace macro ERTS_INTERNAL_BINARY_FIELDS as header in Binary and friends.
2017-04-12Merge branch sverker/remove-latin1-atom-encoding/OTP-14337Sverker Eriksson
* sverker/remove-latin1-atom-encoding: kernel: Fix erl_distribution_wb_SUITE:whitebox kernel: Remove pg2_SUITE:compat erts: Remove fun_r13_SUITE stdlib: Remove test cases for R12 io protocol kernel: Make DFLAG_UTF8_ATOMS mandatory kernel: Rewrite distribution flag verification tools: Update assumptions in lcnt about external atom format stdlib: Tweak beam_lib_SUITE whitebox assumptions orber: Remove hard dependency to external atom format kernel: Try mend disk_log whitebox tests erts: Mark latin1 atom encoding as deprecated jinterface: Do not generate atoms on old latin1 external format erl_interface: Do not generate atoms on old latin1 ext format erts: Do not generate atoms on old latin1 external format erts: Fix faulty ASSERT for failed dec_term
2017-04-12Merge branch 'rickard/ds-fixes'Rickard Green
* rickard/ds-fixes: Fix dirty GC implementation Fix multi-scheduling with only one normal scheduler Fix +SDPcpu
2017-04-11Suggested stack size options for dirty schedulersRickard Green
2017-04-11Merge branch 'rickard/pd-hash'Rickard Green
* rickard/pd-hash: Fix type of MAKE_HASH
2017-04-11Merge branch 'rickard/sched_type_tests'Rickard Green
* rickard/sched_type_tests: Fix dirty scheduler type tests
2017-04-11Fix dirty GC implementationRickard Green
2017-04-11Fix multi-scheduling with only one normal schedulerRickard Green
2017-04-11Fix +SDPcpuRickard Green
2017-04-11erts: Introduce erts_bin_releaseSverker Eriksson
2017-04-11erts: Init refc=1 in erts_bin_drv_alloc*Sverker Eriksson
2017-04-11erts: Init refc=1 in erts_bin_nrml_allocSverker Eriksson
Only term_to_binary needed some extra attention as it used to initialize refc as 0 instead of 1.
2017-04-11Merge branch 'rickard/pcre-8.40'Rickard Green
OTP-14331 * rickard/pcre-8.40: Update documentation Update README.pcre_update.md Stack guard for PCRE Adjust for incompatibility between PCRE 8.40 and perl 5.22.1 Generate re replacement and split tests with perl vsn 5.22.1 Fix re_SUITE:pcre_compile_workspace_overflow/1 Skip line with lockout of modifiers in PCRE tests Update tests for PCRE version 8.40 Update PCRE to version 8.40 Conflicts: erts/emulator/beam/beam_debug.c
2017-04-07Stack guard for PCRERickard Green
2017-04-07beam_emu: Slightly optimize the bxor/2 operatorBjörn Gustavsson
bxor is used in the rand module, so even small optimizations could be worthwile. Suggested by Raimo Niskanen.
2017-04-05erts: Remove deliberate leak of hipe fun entriesSverker Eriksson
should be fixed since 32729cab75325de58bf127e6e8836348071b8682