aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-01-12compile: Add missing types and specsBjörn Gustavsson
2017-01-12cerl: Add missing types and specsBjörn Gustavsson
2017-01-12v3_kernel_pp: Correct spec for format/1Björn Gustavsson
2017-01-12v3_life: Add types and specsBjörn Gustavsson
2017-01-12v3_life.hrl: Add types for all fieldsBjörn Gustavsson
2017-01-12beam_utils: Add types and specsBjörn Gustavsson
2017-01-12beam_asm: Add common types to describe operandsBjörn Gustavsson
2017-01-12sys_pre_attributes: Remove unnecessary flexibilityBjörn Gustavsson
The compiler passes always Options as list to parse_transform/2. There is no need accept a non-list. There is also no need to handle an improper Options list. The compiler itself will crash if the Options list is improper.
2017-01-12beam_dict: Simplify the internal format of the lambda tableBjörn Gustavsson
Since Index =:= OldIndex and OldUniq =:= 0, there is no need to store OldIndex and OldUniq in the internal data structure for the lambda table.
2017-01-12Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Compact 'file' annotations in Core code dialyzer: Try to reduce memory usage dialyzer: Use less memory when translating contracts dialyzer: Use maps instaed of dict dialyzer: Use maps instead of dict for module contracts map dialyzer: Compress a few more ETS tables dialyzer: Optimize memory consumption dialyzer: Reduce memory consumption during 'remote' phase dialyzer: Update code for finding parallelism compiler: Do not spawn process when dialyzing dialyzer: Reduce ETS usage during the typesig phase dialyzer: Optimize graph condensation dialyzer: Do not send full PLTs as messages
2017-01-12Merge pull request #1300 from bjorng/bjorn/compiler/fix-case-optBjörn Gustavsson
Improve compilation speed for huge literal case expressions
2017-01-12Merge branch 'hasse/dialyzer/memory_opt/OTP-14126' into maintHans Bolinder
* hasse/dialyzer/memory_opt/OTP-14126: dialyzer: Compact 'file' annotations in Core code dialyzer: Try to reduce memory usage dialyzer: Use less memory when translating contracts dialyzer: Use maps instaed of dict dialyzer: Use maps instead of dict for module contracts map dialyzer: Compress a few more ETS tables dialyzer: Optimize memory consumption dialyzer: Reduce memory consumption during 'remote' phase dialyzer: Update code for finding parallelism compiler: Do not spawn process when dialyzing dialyzer: Reduce ETS usage during the typesig phase dialyzer: Optimize graph condensation dialyzer: Do not send full PLTs as messages
2017-01-12Merge pull request #1304 from bjorng/bjorn/ref-manualBjörn Gustavsson
Reference Manual: Remove references to OTP releases before R13A
2017-01-12Merge pull request #1303 from bjorng/bjorn/kernel-stdlib-docBjörn Gustavsson
Kernel/STDLIB: Remove references to OTP R12B and earlier
2017-01-11Merge branch 'maint'Rickard Green
* maint: Fix call_time trace for NIFs Conflicts: erts/emulator/beam/beam_emu.c
2017-01-11Merge branch 'rickard/nif-call-time-trace-bug' into maintRickard Green
OTP-14136 * rickard/nif-call-time-trace-bug: Fix call_time trace for NIFs
2017-01-11Merge branch 'maint'Rickard Green
* maint: Fix issues with abandoned heap Conflicts: erts/emulator/beam/beam_bif_load.c
2017-01-11Merge branch 'rickard/abandoned-heap-bugs' into maintRickard Green
OTP-14134 OTP-14135 * rickard/abandoned-heap-bugs: Fix issues with abandoned heap
2017-01-11Merge branch 'maint'Rickard Green
* maint: Fix processes() BIF test cases
2017-01-11Merge branch 'rickard/test-fix' into maintRickard Green
* rickard/test-fix: Fix processes() BIF test cases
2017-01-11Merge branch 'maint'Rickard Green
* maint: Fix faulty assertion
2017-01-11Merge branch 'rickard/debug-fix' into maintRickard Green
* rickard/debug-fix: Fix faulty assertion
2017-01-11Merge branch 'maint'Rickard Green
* maint: Fix printout of timer data in crash dump
2017-01-11Merge branch 'rickard/crashdump-timer-fix' into maintRickard Green
OTP-14133 * rickard/crashdump-timer-fix: Fix printout of timer data in crash dump
2017-01-11character_set.xml: Remove a superfluous reference to OTP R5Björn Gustavsson
2017-01-11records.xml: Remove a superfluous reference to OTP R8Björn Gustavsson
2017-01-11macros.xml: Remove a reference to OTP R7Björn Gustavsson
2017-01-11expressions.xml: Remove superfluous references to OTP R7/R10Björn Gustavsson
2017-01-11errors.xml: Remove superfluous references to R10BBjörn Gustavsson
2017-01-11data_types.xml: Remove superfluous reference to R9BBjörn Gustavsson
2017-01-11Say that features after R13A are mentioned in the textBjörn Gustavsson
The text mentions any changes that occurred in R7A and later. Change that to only mention changes that occurred after R12B.
2017-01-11gen_{server,fsm}.xml: Remove superfluous reference to R12BBjörn Gustavsson
2017-01-11ets: Remove superfluous reference to R11BBjörn Gustavsson
2017-01-11config.xml: Remove superfluous reference to R10BBjörn Gustavsson
2017-01-11code.xml: Remove superfluous reference to R12BBjörn Gustavsson
2017-01-11seq_trace: Remove superfluous reference to R3BBjörn Gustavsson
Reported-by: Loïc Hoguin
2017-01-11Merge branch 'dgud/emacs-config'Dan Gudmundsson
* dgud/emacs-config: Do not force space/tab indent-tabs-mode for all file types
2017-01-11Merge pull request #1301 from bjorng/bjorn/efficiency-guideBjörn Gustavsson
Remove obsolete information from the Efficiency Guide
2017-01-11Do not force space/tab indent-tabs-mode for all file typesDan Gudmundsson
Could not edit makefiles.
2017-01-11Merge branch 'maint'Siri Hansen
2017-01-11Merge branch 'siri/ct/add_app_tests' into maintSiri Hansen
* siri/ct/add_app_tests: Add ct_default_gl to common_test.app.src [ct] Add tests for .app and .appup files
2017-01-11dialyzer: Compact 'file' annotations in Core codeHans Bolinder
File annotations {file, File} in Core Erlang code is replaced by {file, FakeFile}, where FakeFile is "0", "1", ..., in order to save memory. When a warning message is created, FakeFile is translated to the original File (a bit awkward but easy to do). The Core code stored in ETS tables needs less space, but more important is that a less heap memory is used in the dataflow, warnings, and typesig phases, allowing more parallelism.
2017-01-11dialyzer: Try to reduce memory usageHans Bolinder
The translation from forms to types is done in a separate process in an attempt to reduce peak memory usage. Expect further optimizations as it is probably not feasible in the long run to keep all type information on the heap.
2017-01-11dialyzer: Use less memory when translating contractsHans Bolinder
2017-01-11dialyzer: Use maps instaed of dictHans Bolinder
2017-01-11dialyzer: Use maps instead of dict for module contracts mapHans Bolinder
2017-01-11dialyzer: Compress a few more ETS tablesHans Bolinder
2017-01-11dialyzer: Optimize memory consumptionHans Bolinder
Some SCC info is no longer cached. It reduces the peak memory consumption of workers during the typesig phase, and seems to cost very little time.
2017-01-11dialyzer: Reduce memory consumption during 'remote' phaseHans Bolinder
The cache used for speeding up the translation from forms to types is no longer global, but reset per module. The peak memory consumption is reduced, and the added time seems to be small.
2017-01-11dialyzer: Update code for finding parallelismHans Bolinder
Using erlang:system_info(schedulers_online) for determining parallelism is recommended by OTP experts. It takes care of "+S 4:1" and simultaneous loading of HiPE code.