aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-02-07Merge branch 'hans/ssh/default_algo_list/OTP-14110'Hans Nilsson
2017-02-07[systools] Fix return value for warnings_as_errors + silentSiri Hansen
When both options 'warnings_as_errors' and 'silent' were given to systools:make_script or systools:make_relup, no error reason would be returned if warnings occured. Instead only the atom 'error' was returned. This is now corrected. Options 'warnings_as_errors' and 'no_warn_sasl' are now also allowed for systools:make_tar.
2017-02-07Updated OTP versionOTP-19.2.3Erlang/OTP
2017-02-07Prepare releaseErlang/OTP
2017-02-07Merge branch 'hans/inets/ftp_bad_return_checks_patch/OTP-14203' into maint-19Erlang/OTP
* hans/inets/ftp_bad_return_checks_patch/OTP-14203: ftp: allow different timing sequences
2017-02-07Merge branch 'raimo/efile_drv-read_file-use-fstat/OTP-14184' into maint-19Erlang/OTP
* raimo/efile_drv-read_file-use-fstat/OTP-14184: Use fstat if it exists in efile_openfile
2017-02-07Merge branch 'sverker/bin2term-zlib-bug/ERL-340/OTP-14159' into maint-19Erlang/OTP
* sverker/bin2term-zlib-bug/ERL-340/OTP-14159: erts: Fix binary_to_term for compressed and zlib >= v1.2.9
2017-02-07Use fstat if it exists in efile_openfileRaimo Niskanen
2017-02-07Update README.mdBruce Yinhe
2017-02-06ftp: allow different timing sequencesHans Nilsson
2017-02-06Merge branch 'rickard/magic-references'Rickard Green
OTP-14205 * rickard/magic-references: Add binary overhead for magic ref/binaries Adjust the only usage of exposed magic binaries Use magic refs for maps merge trap context Use magic refs binary_to_term/term_to_binary trap context Use magic refs for distributed send trap context Use magic refs for unicode static NIFs traps Use magic refs for binary compile patterns Use magic refs for list_to_binary/binary_to_list traps Use magic refs for compiled match specs Use magic refs for re:run() static NIFs trap Use magic refs for code loading state Use magic refs in trapping processes()/ports() BIFs Use magic refs for NIF resources Implement magic references Implement erts_refc_inc_unless()
2017-02-06Add binary overhead for magic ref/binariesRickard Green
2017-02-06Adjust the only usage of exposed magic binariesRickard Green
2017-02-06Use magic refs for maps merge trap contextRickard Green
2017-02-06Use magic refs binary_to_term/term_to_binary trap contextRickard Green
2017-02-06Use magic refs for distributed send trap contextRickard Green
2017-02-06Use magic refs for unicode static NIFs trapsRickard Green
2017-02-06Use magic refs for binary compile patternsRickard Green
2017-02-06Use magic refs for list_to_binary/binary_to_list trapsRickard Green
2017-02-06Use magic refs for compiled match specsRickard Green
2017-02-06Use magic refs for re:run() static NIFs trapRickard Green
2017-02-06Use magic refs for code loading stateRickard Green
2017-02-06Use magic refs in trapping processes()/ports() BIFsRickard Green
2017-02-06Use magic refs for NIF resourcesRickard Green
2017-02-06Implement magic referencesRickard Green
Magic references are *intentionally* indistinguishable from ordinary references for the Erlang software. Magic references do not change the language, and are intended as a pure runtime internal optimization. An ordinary reference is typically used as a key in some table. A magic reference has a direct pointer to a reference counted magic binary. This makes it possible to implement various things without having to do lookups in a table, but instead access the data directly. Besides very fast lookups this can also improve scalability by removing a potentially contended table. A couple of examples of planned future usage of magic references are ETS table identifiers, and BIF timer identifiers. Besides future optimizations using magic references it should also be possible to replace the exposed magic binary cludge with magic references. That is, magic binaries that are exposed as empty binaries to the Erlang software.
2017-02-06Implement erts_refc_inc_unless()Rickard Green
2017-02-06Merge branch 'maint'Rickard Green
* maint: Atomic reference count of binaries also in non-SMP Conflicts: erts/emulator/beam/erl_fun.c
2017-02-06Merge branch 'rickard/binary-refc' into maintRickard Green
OTP-14202 * rickard/binary-refc: Atomic reference count of binaries also in non-SMP Conflicts: erts/emulator/beam/beam_bp.c
2017-02-06Atomic reference count of binaries also in non-SMPRickard Green
NIF resources was not handled in a thread-safe manner in the runtime system without SMP support. As a consequence of this fix, the following driver functions are now thread-safe also in the runtime system without SMP support: - driver_free_binary() - driver_realloc_binary() - driver_binary_get_refc() - driver_binary_inc_refc() - driver_binary_dec_refc()
2017-02-06Merge branch 'maint'Hans Nilsson
2017-02-06Merge branch 'hans/ssh/cuddle_tests' into maintHans Nilsson
2017-02-06Merge branch 'maint'Rickard Green
* maint: Dirty schedulers should not touch scheduler data pointed to by process struct
2017-02-06Merge branch 'rickard/ds-fix' into maintRickard Green
OTP-14122 * rickard/ds-fix: Dirty schedulers should not touch scheduler data pointed to by process struct Conflicts: erts/emulator/beam/erl_process.c
2017-02-06Merge branch 'maint'Rickard Green
* maint: Use a hole-marker that cannot be mistaken for a valid term on the heap
2017-02-06Merge branch 'rickard/hole-marker' into maintRickard Green
* rickard/hole-marker: Use a hole-marker that cannot be mistaken for a valid term on the heap
2017-02-06Merge branch 'hm/escript-emulator'Rickard Green
OTP-14201 * hm/escript-emulator: escript: Handle symbolic link to a standalone escript
2017-02-06Update use of filename:find_src/1 in igor.erlRichard Carlsson
2017-02-06Update use of filename:find_src/1 in hipe.erlRichard Carlsson
2017-02-06Add shell shortcut for recompiling existing modulesRichard Carlsson
This extends the shell function c/1 and c/2 so that if the argument is a module name instead of a file name, it automatically locates the .beam file and the corresponding source file, and then recompiles the module using the same compiler options (plus any options passed to c/2). If compilation fails, the old beam file is preserved. Also adds c(Mod, Opts, Filter), where the Filter argument allows you to remove old compiler options before the new options are added.
2017-02-06Document the kernel source_search_rules parameterRichard Carlsson
2017-02-06Merge branch 'maint'Björn Gustavsson
* maint: Store messages for 'rex' and 'error_logger' off heap file: match enoent and enotdir in path_open
2017-02-06Merge pull request #1328 from bjorng/bjorn/kernel/off-heap-message/OTP-14142Björn Gustavsson
Store messages for 'rex' and 'error_logger' off heap OTP-14192
2017-02-06Merge pull request #1283 from pulitta/maintBjörn Gustavsson
file: match enoent and enotdir in path_open OTP-14191
2017-02-06Teach the ASN.1 compiler the 'maps' optionBjörn Gustavsson
When the 'maps' option is given, the SEQUENCE and SET types are represented as maps instead of as records. Optional and default values must be not be given as asn1_NOVALUE or asn1_DEFAULT in a map passed to the M:encode/2 function; they must be omitted from the map. Similarly, when decoding missing values will be omitted from the map. No .hrl files will be generated when the 'maps' options is used. That means values in an ASN.1 module must be retrieved by calling the appropriate function in generated module. Since we one day hope to get rid of the options 'compact_bit_string', 'legacy_bit_string', and 'legacy_erlang_types', we will not allow them to be combined with the 'maps' option.
2017-02-06Revert "ssh: removed 'ssh-dss' from default list"Hans Nilsson
This reverts commit 6847d9223420fb86cdf72f0e608a5f41a2673053. The removal of ssh-dss seems to give a too high risk of failing customer systems. Needs to be properly deprecated.
2017-02-06Merge branch 'hasse/dialyzer/memory_opt/OTP-14127'Hans Bolinder
* hasse/dialyzer/memory_opt/OTP-14127: dialyzer: Attempt to reduce memory consumption dialyzer: Do not spawn all workers at once dialyzer: Write PLT in subprocess dialyzer: Remove code for non-started workers dialyzer: Sort graphs topologically dialyzer: Compress some PLT tables dialyzer: Check return value of digrahp:add_edge() dialyzer: Use less memory for the PLT when analyzing typer: Fix a bug regarding the -T option dialyzer: Do not keep the code server's type info on the heap
2017-02-04Add filelib:find_file/2/3 and filelib:find_source/1/2/3Richard Carlsson
This moves, extends and exports functionality that previously existed only internally in filename:find_src/1/2, adding the ability to automatically substitute file suffixes and use different rules for different suffixes.
2017-02-04Refactor filename:find_src/1Richard Carlsson
2017-02-04Fix broken test for filename:find_src/2Richard Carlsson
2017-02-03ssh: use real groups in kex_gex test suiteHans Nilsson