aboutsummaryrefslogtreecommitdiffstats
path: root/erts/preloaded/src
AgeCommit message (Collapse)Author
2018-02-13Merge branch 'maint-20' into maintSverker Eriksson
* maint-20: Updated OTP version Update release notes Update version numbers erts: Add system_flags(erts_alloc,"+M?sbct *") erts: Add age order first fit allocator strategies erts: Refactor erl_ao_firstfit_alloc erts: Add migration options "acnl" and "acfml" kernel: Add os:cmd/2 with max_size option erts: Add more stats for mbcs_pool erts: Fix alloc_SUITE:migration stdlib: Make ets_SUITE memory check try again erts: Improve carrier pool search erts: Improve alloc_SUITE:migration erts: Refactor carrier dealloc migration
2018-02-12Merge 'sverker/maint-19/alloc-n-migration/ERIERL-88'Sverker Eriksson
into 'sverker/maint-20/alloc-n-migration/ERIERL-88' OTP-14915 OTP-14916 OTP-14917 OTP-14918
2018-02-12Merge 'sverker/carrier-migration-improvements'Sverker Eriksson
into 'sverker/maint-19/alloc-n-migration/ERIERL-88'
2018-02-12erts: Add system_flags(erts_alloc,"+M?sbct *")Sverker Eriksson
to change sbct limit in runtime for chosen allocator type. With great power comes great responsibility.
2018-01-09erts: Fix term_to_binary/2 specSverker Eriksson
2017-12-20erts: Add more stats for mbcs_poolSverker Eriksson
similar to the ones in OTP-19.2.3.1
2017-11-09Fix deflateParams on zlib 1.2.11John Högberg
1.2.11 started bailing when avail_out==0 regardless of whether there's anything to flush or not, and there's no point in adapting the old method since it was vulnerable to bugs in other zlib versions which updated the deflate parameters even on failure. The api_deflateParams test has been expanded accordingly, and two white-box cases in zip_usage has been updated to make fewer assumptions about the output; the validity of the compressed data is what matters, not whether it's exactly the same as the test vector.
2017-10-11Add zlib:set_controlling_process/2John Högberg
2017-10-02Fix zlib merge snafuJohn Högberg
I accidentally merged a few fixes directly to maint-20 (and then to maint and master), instead of merging to maint and master and waiting for a patch to merge it into maint-20, leaving the related tickets dangling. This commit does nothing beyond getting the tickets (and their release notes) into the next patch.
2017-09-29Fix gunzip/1 of concatenated gzip filesJohn Högberg
Quoting RFC 1952: "A gzip file consists of a series of "members" (compressed data sets). [...] The members simply appear one after another in the file, with no additional information before, between, or after them."
2017-09-29Fix minor incompatibilities in inflate behaviorJohn Högberg
When presented with multiple valid but concatenated streams, the old driver returned an empty result once the end of the first stream was reached, and kept doing so even if fed new data. The new driver/NIF returned a data_error instead. zlib:inflateInit/3 has been added to control this behavior, but is not yet ready for public use.
2017-09-05Improve zlib error messages and update test suite to fitJohn Högberg
OTP-14527
2017-09-05Replace the zlib driver with a NIFJohn Högberg
All operations will now yield appropriately, allowing them to be used freely in concurrent applications. This commit also deprecates the functions listed below, although they won't raise deprecation warnings until OTP 21: zlib:adler32 zlib:crc32 zlib:inflateChunk zlib:getBufSize zlib:setBufSize The behavior of throwing an error when a dictionary is required for decompression has also been deprecated.
2017-09-05erts: Add erlang:iolist_to_iovecLukas Larsson
OTP-14520
2017-05-19Make statistics/1 aware of dirty run-queues and tasksRickard Green
2017-05-04Update copyright yearRaimo Niskanen
2017-04-26Merge pull request #1367 from josevalim/jv-dbgi-chunkBjörn Gustavsson
Introduce new "Dbgi" chunk OTP-14369
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-25erts: Auto-import port_to_list for consistencyLukas Larsson
Follow the same pattern as pid_to_list
2017-04-25Store abstract code in the Dbgi chunkJosé Valim
The new Dbgi chunk returns data in the following format: {debug_info_v1, Backend, Data} This allows compilers to store the debug info in different formats. In order to retrieve a particular format, for instance, Erlang Abstract Format, one may invoke: Backend:debug_info(erlang_v1, Module, Data, Opts) Besides introducing the chunk above, this commit also: * Changes beam_lib:chunk(Beam, [:abstract_code]) to read from the new Dbgi chunk while keeping backwards compatibility with old .beams * Adds the {debug_info, {Backend, Data}} option to compile:file/2 and friends that are stored in the Dbgi chunk. This allows the debug info encryption mechanism to work across compilers * Improves dialyzer to work directly on Core Erlang, allowing languages that do not have the Erlang Abstract Format to be dialyzer as long as they emit the new chunk and their backend implementation is available Backwards compatibility is kept across the board except for those calling beam_lib:chunk(Beam, ["Abst"]), as the old chunk is no longer available. Note however the "Abst" chunk has always been optional. Future OTP versions may remove parsing the "Abst" chunk altogether from beam_lib once Erlang 19 and earlier is no longer supported. The current Dialyzer implementation still supports earlier .beam files and such may also be removed in future versions.
2017-04-21erts: Polish off erlang:list_to_ref/1Lukas Larsson
2017-04-20implement SO_BINDTODEVICE for inet protocolsAndreas Schultz
bind to device is needed to properly support VRF-Lite under Linux (see [1] for details). [1]: https://www.kernel.org/doc/Documentation/networking/vrf.txt
2017-04-10Merge branch 'lukas/erts/print_complex_crash_slogan/OTP-14303'Lukas Larsson
* lukas/erts/print_complex_crash_slogan/OTP-14303: erts: Print more complex terms in crash reason
2017-04-05erts: Remove hipe_bifs:remove_refs_from/1Sverker Eriksson
which serves no purpose after all the hipe load&purge fixes merged at 32729cab75325de58bf127e6e8836348071b8682
2017-03-28erts: Print more complex terms in crash reasonLukas Larsson
2017-03-22Merge branch 'sverker/ets-table-identifiers/OTP-14094'Sverker Eriksson
* sverker/ets-table-identifiers: observer: Polish crashdump viewer for ETS observer: Polish Table Viewer tab stdlib: Remove ets_SUITE:memory_check_summary erts: Improve reduction count during table cleanup erts: Cleanup table status bits erts: Remove now redundant 'id' from DbTableCommon erts: Remove meta_main_tab erts: Pass tid argument down to trapping functions erts: Print table id as ref in crashdump and break menu erts: Replace meta_pid_to{_fixed}_tab with linked lists erts: Correct erl_rbtree comments about yielding erts: Add ERTS_RBT_YIELD_STAT_INIT to erl_rbtree Fix node_container_SUITE list_to_ref/1 Implement ets:all() using scheduler specific data Rename fixation count in ets table to avoid confusion Introduce references as table identifiers
2017-03-22list_to_ref/1Rickard Green
2017-03-10Update copyright yearRickard Green
2017-03-08erts: Fix handling of locations and annotationsHans Bolinder
2017-03-01Fix typos: lenght -> lengthMyron Marston
2017-02-27Merge branch 'maint'Rickard Green
* maint: Ensure prim_eval:'receive' wont clobber def_arg_reg[0] Conflicts: erts/preloaded/ebin/prim_eval.beam
2017-02-23erts: Introduce erts_internal:maps_to_list/2Björn-Egil Dahlberg
2017-02-20Ensure prim_eval:'receive' wont clobber def_arg_reg[0]Rickard Green
def_arg_reg[0] is used for storage of timeout instruction when a 'receive after' is executed. When a process was scheduled out inside prim_eval:'receive'/0 due to a function call, def_arg_reg[0] was overwritten due to storage of live registers. prim_eval:'receive'/2 now calls arg_reg_alloc/0 which bumps all reductions and then calls arg_reg_alloc/7 which will cause an allocation of a new arg_reg array since def_arg_reg only can hold 6 values. This ensures that the timeout instruction in def_arg_reg[0] used for the timeout wont be overwritten.
2017-02-06Use magic refs for code loading stateRickard Green
2017-01-25erts: Remove broken hash from ErlangBjörn-Egil Dahlberg
erlang:hash/2 has been deprecated for a while, time to remove it.
2017-01-17Scheduler wall time support for dirty schedulersRickard Green
2017-01-12Perform potentially long GC on dirty schedulers if availableRickard Green
2016-12-20erts: add erlang:system_info(atom_count)Mikael Pettersson
2016-11-29warn_obsolete_guard is already defaultRichard Carlsson
Update compiler documentation and remove superfluous erlc flags.
2016-11-24Fix spec for erlang:get_module_info()Richard Carlsson
2016-11-09Merge branch 'maint'Björn-Egil Dahlberg
Conflicts: OTP_VERSION
2016-11-09Merge branch 'maint-19' into maintBjörn-Egil Dahlberg
2016-11-05Fix performance bug in erl_prim_loader:get_modules/{2,3}Björn Gustavsson
The erl_prim_loader:get_modules/{2,3} functions were introduced in cd283583f8. Unfortunately, while the functions worked correctly, there was a bug in that many garbage maessages would be sent to the erl_prim_loader process. The number of extra messages depended on both the length of the code path and of the number of modules that were fetched. The messages were ignored and ultimately discarded, causing no harm except for a performance degradation and increase of the heap size for the erl_prim_loader process. The following functions were hit by the performance bug: code:atomic_load/1 code:ensure_modules_loaded/1 code:prepare_loading/1
2016-11-02Merge branch 'maint'Hans Bolinder
* maint: Update preloaded erts: Correct type declaration of match specification head Conflicts: erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2016-11-01erts: Correct type declaration of match specification headHans Bolinder
Bug reported by Peti Gömöri <[email protected]>.
2016-10-19Merge branch 'gsantomaggio/erts/system_info_atoms/PR-1198/OTP-13976'Lukas Larsson
* gsantomaggio/erts/system_info_atoms/PR-1198/OTP-13976: erts: Fix some system_info docs inconsistencies Add system_info(atom_limit)
2016-10-13Add system_info(atom_limit)Gabriele Santomaggio
Add system_info(atom_limit) to provide a way to retrieve the maximum number of atoms allowed. Add tests and documentation for it too. Also split system_info_SUITE:start_node/2 to start_node_ets/2 and start_node_atm/2 to avoid code duplication.
2016-10-11Merge branch 'maint'Björn-Egil Dahlberg