aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-11-23Merge branch 'maint'Sverker Eriksson
2016-11-23Merge branch 'sverker/erts/crash-dump-limit/OTP-14046' into maintSverker Eriksson
again.
2016-11-23erts: Remove one little space in crash dumpSverker Eriksson
2016-11-23Merge branch 'maint'Rickard Green
* maint: Update etp-commands for dirty schedulers Fix scheduling of system tasks on processes executing dirty Fix call time tracing with dirty schedulers Fix send of exit signal to process executing dirty Fix dirty scheduler process priority Fix alloc-util hard-debug Silence debug warning when no beam jump table is used with dirty schedulers Fix check_process_code() when NifExport is in use Fix GC when NifExport is in use Fix saving of original arguments when rescheduling via NifExport Conflicts: erts/emulator/beam/beam_bif_load.c erts/emulator/beam/erl_nif.c
2016-11-23Merge branch 'rickard/dirty-scheduling-fixes' into maintRickard Green
OTP-14051 * rickard/dirty-scheduling-fixes: Update etp-commands for dirty schedulers Fix scheduling of system tasks on processes executing dirty Fix call time tracing with dirty schedulers Fix send of exit signal to process executing dirty Fix dirty scheduler process priority Fix alloc-util hard-debug Silence debug warning when no beam jump table is used with dirty schedulers Conflicts: erts/etc/unix/etp-commands.in
2016-11-23Merge branch 'rickard/nif-scheduling-fixes' into maintRickard Green
* rickard/nif-scheduling-fixes: Fix check_process_code() when NifExport is in use - OTP-14048 Fix GC when NifExport is in use - OTP-14049 Fix saving of original arguments when rescheduling via NifExport - OTP-14050
2016-11-23Update primary bootstrapBjörn Gustavsson
2016-11-23Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap document {yield/nb_yield}() limitation Suppress warnings from v3_kernel when inlining is turned on
2016-11-23Update primary bootstrapBjörn Gustavsson
2016-11-23Merge branch 'bjorn/compiler/fix-unwanted-warning/ERL-301/OTP-14040' into maintBjörn Gustavsson
* bjorn/compiler/fix-unwanted-warning/ERL-301/OTP-14040: Suppress warnings from v3_kernel when inlining is turned on
2016-11-23Merge branch 'jimdigriz/kernel/rpc-doc/ERL-302/PR-1252' into maintBjörn Gustavsson
* jimdigriz/kernel/rpc-doc/ERL-302/PR-1252: document {yield/nb_yield}() limitation
2016-11-23Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Substitute 'opacity' for 'opaqueness' dialyzer: Improve a warning message dialyzer: Improve a warning message dialyzer: Correct a warnings message
2016-11-23Merge branch 'hasse/dialyzer/improve_messages/OTP-11403' into maintHans Bolinder
* hasse/dialyzer/improve_messages/OTP-11403: dialyzer: Substitute 'opacity' for 'opaqueness' dialyzer: Improve a warning message dialyzer: Improve a warning message dialyzer: Correct a warnings message
2016-11-23Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct types of the abstract format
2016-11-23Merge branch 'hasse/stdlib/correct_types' into maintHans Bolinder
* hasse/stdlib/correct_types: stdlib: Correct types of the abstract format
2016-11-22Update etp-commands for dirty schedulersRickard Green
2016-11-22Fix scheduling of system tasks on processes executing dirtyRickard Green
2016-11-22Fix call time tracing with dirty schedulersRickard Green
2016-11-22Fix send of exit signal to process executing dirtyRickard Green
2016-11-22Fix dirty scheduler process priorityRickard Green
2016-11-22Fix alloc-util hard-debugRickard Green
2016-11-22Silence debug warning when no beam jump table is used with dirty schedulersRickard Green
2016-11-22Fix check_process_code() when NifExport is in useRickard Green
2016-11-22Fix GC when NifExport is in useRickard Green
2016-11-22Fix saving of original arguments when rescheduling via NifExportRickard Green
2016-11-22stdlib: Correct types of the abstract formatHans Bolinder
The types in erl_parse.yrl are more in harmony with the description in The Abstract Format (in ERTS User's Guide).
2016-11-22Merge branch 'maint'Hans Nilsson
2016-11-22Merge branch 'hans/inets/docs-cuddling' into maintHans Nilsson
2016-11-22scheme_validation_fun misspellt in docEvgeny M
2016-11-22Merge branch 'maint'Sverker Eriksson
2016-11-22Merge branch 'sverker/erts/crash-dump-limit/OTP-14046' into maintSverker Eriksson
* sverker/erts/crash-dump-limit: erts: Add env variable ERL_CRASH_DUMP_BYTES erts: Add ErtsStrToSint64 erts: Refactor crash dumping with cbprintf erts: Add cbprintf for Callback Printing erts: Remove unused erl_crash_dump()
2016-11-22erts: Add env variable ERL_CRASH_DUMP_BYTESSverker Eriksson
to limit crash dump size
2016-11-22Merge branch 'sverker/Wundef'Sverker Eriksson
2016-11-22Merge branch 'margnus1/hipe/refactor-rtl/PR-1243'Sverker Eriksson
* margnus1/hipe/refactor-rtl/PR-1243: hipe_x86: Fix encoding of test instr w/ neg imm hipe_tagscheme: Simplify test_two_fixnums with imm hipe_icode: Always const-propagate if&call args hipe_tagscheme: x86 lea+test for mask_and_compare hipe_tagscheme: Improve fixnum_addsub with imm hipe: Make realloc_binary fast case true branch hipe_x86_postpass: Negate conditions in goto elim hipe_tagscheme: Improve fixnum add on x86 hipe_rtl_to_x86: Use LEA only for immediate adds hipe_x86: LeaToAdd peephole rule hipe_sparc: move coalescing hipe_ppc: better rlwinm pp hipe_ppc: move coalescing hipe_rtl: drop alub dest when unused hipe_rtl: unify branch and alub hipe_x86: Fix&activate ElimCmp0 peephole rule hipe_{x86,amd64}: Finish test instr implementation
2016-11-22dialyzer: Substitute 'opacity' for 'opaqueness'Hans Bolinder
Suggested by Kostis.
2016-11-22dialyzer: Improve a warning messageHans Bolinder
Messages regarding guards with orelse/andalso could look like "Clause guard cannot succeed. The variable A was matched against the type any()". Now they look like as if or/and is used: "Guard test is_integer(A::atom()) can never succeed".
2016-11-22dialyzer: Improve a warning messageHans Bolinder
Messages like "Invalid type specification for function para3:exp_adt/0. The success typing is () -> 3" now look like "The specification for para3:exp_adt/0 has an opaque subtype para3_adt:exp1(para3_adt:exp2()) which is violated by the success typing () -> 3". The old message did not give any clue as to what invalidated the contract, namely the opaque subtype.
2016-11-22dialyzer: Correct a warnings messageHans Bolinder
Messages like "The attempt to match a term of type rec_api:f() against the variable _ breaks the opaqueness of rec_adt:f()" now look like "The attempt to match a term of type rec_adt:f() against the record field 'f' with type rec_api:f() breaks the opaqueness of the term".
2016-11-19document {yield/nb_yield}() limitationAlexander Clouter
2016-11-18Merge branch 'mm/stdlib/ord-docs/PR-1242'Björn Gustavsson
* mm/stdlib/ord-docs/PR-1242: Document the ordering used in ordsets and orddicts
2016-11-18Document the ordering used in ordsets and orddictsMichal Muskala
Right now the exact order of elements is not specified, yet many programs rely on the ordering being the obvious one - erlang term order. It is only beneficial to make this an explicit part of the documentation.
2016-11-18Merge branch 'maint'Björn Gustavsson
* maint: Travis: Reduce memory consumption for dialyzer
2016-11-18Merge branch 'bjorn/travis-dialyzer' into maintBjörn Gustavsson
* bjorn/travis-dialyzer: Travis: Reduce memory consumption for dialyzer
2016-11-18Travis: Reduce memory consumption for dialyzerBjörn Gustavsson
9e06884c3a7db started to run Dialyzer in Travis. After that, Travis has crashed several times because of the memory limit of 2Gb has been exceeded. Try to fix that by analyzing only three or four applications at a time.
2016-11-18Merge branch 'bjorn/compiler/guards/PR-1232/OTP-14042'Björn Gustavsson
* bjorn/compiler/guards/PR-1232/OTP-14042: compile_SUITE: Make sure that guards are optimized beam_dead: Remove redundant 'or' instruction beam_dead: Remove redundant 'bif' instructions Add test using LFE-generated Core Erlang modules Remove beam_bool v3_kernel: Generate optimized code for guards sys_core_fold: Remove unnecessary calls to opt_bool_case/1 record_SUITE: Strengthen test of record access in guards
2016-11-18compile_SUITE: Make sure that guards are optimizedBjörn Gustavsson
Guards should use the more efficient 'test' instructions, not 'bif' instructions. Add a test to make sure that the optimizations don't degrade. We do have to keep an exception list for functions where we can't replace all 'bif' calls with 'test' instructions. We try to keep that list a short as practically possible.
2016-11-18beam_dead: Remove redundant 'or' instructionBjörn Gustavsson
In practice, this optimization will only apply to contrived guards that are almost never used in real applications. The only reason we add this optimization is to help approach the goal of zero tolerance for 'bif' instructions instead of 'test' instructions in guards.
2016-11-18beam_dead: Remove redundant 'bif' instructionsBjörn Gustavsson
A 'bif' or 'gc_bif' instruction is redundant if it has the same failure label as a 'jump' instruction immediately following it. There is no need to test for liveness of the destination register, because the code at the failure label cannot safely assume that the destination register is initialized. See the comments in the code for further details. In practice, this optimization will only apply to contrived guards that are almost never used in real applications. The only reason we add this optimization is to help approach the goal of zero tolerance for 'bif' instructions instead of 'test' instructions in guards.
2016-11-18Add test using LFE-generated Core Erlang modulesBjörn Gustavsson
Ensure that correct (not necessarily optimal) code is generated for Core Erlang code not originating from v3_core.
2016-11-18Remove beam_boolBjörn Gustavsson
The guard optimizations in v3_kernel has removed the need for beam_bool.