aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-09-15Merge pull request #1566 from bjorng/bjorn/erts/fix-existing-atom-doc/ERL-453Björn Gustavsson
Document that the compiler may optimize away atoms OTP-14614
2017-09-15erts: Refactor check_io to use one static structSverker Eriksson
that is shared between _kp and _nkp versions. Makes it easier to access in debugger.
2017-09-15erts: Replace check_io spinlock with lock-less list insertionSverker Eriksson
2017-09-15erts: Add number of enif_select's to check_io_debugSverker Eriksson
2017-09-15erts: Remove undocumented driver_eventSverker Eriksson
2017-09-15erts: Refactor move check_io interface from sys to check_ioSverker Eriksson
# Conflicts: # erts/emulator/beam/erl_process.c # erts/emulator/beam/sys.h # erts/emulator/sys/common/erl_check_io.c # erts/emulator/sys/common/erl_check_io.h # erts/emulator/sys/unix/sys.c
2017-09-15erts: Rename ErtsPollSet_ structS to not confuse gdbSverker Eriksson
by having different structs with same name.
2017-09-15erts: Increase number of check_io-fd-locksSverker Eriksson
and use correct cache alignment.
2017-09-15erts: Clarify erl_driver docs about thread safetySverker Eriksson
2017-09-15Merge branch 'lukas/erts/remove-dirty-scheduler-defines/OTP-14613'Lukas Larsson
* lukas/erts/remove-dirty-scheduler-defines/OTP-14613: erts: Remove possibility to disable dirty schedulers
2017-09-15cdv: Optimize reading of crashdump with many binariesSiri Hansen
Earlier, crashdump_viewer stored an index of all binaries in a gb_tree on startup. The binary index was also stored in the cdv_dump_index_table along with all other "=xxx" tags from the dump. The difference between the indices was that the ets table contained the addresses of the binaries as strings (the hex address found after the "=binary:" tag) and in the gb_tree this hex address was instead converted to its integer value. The index in the ets table was only used once - when creating the gb_tree. The gb_tree was used for all later looups (to map integer address to file position). This commit replaces the two storages with one new ets table, cdv_binary_index_table, using the integer value of the hex address as key, and the position in the crashdump file as value. In the case of many binaries, this makes the start of crashdump viewer faster (only one place to write), and the data usage smaller (hex address strings are no longer stored). And it avoids the gc of the gb_tree.
2017-09-15mnesia: Remove export_all in testsDan Gudmundsson
Cleanup warnings
2017-09-15Allow <chapter> without <section> in chapter dtdKenneth Lundin
2017-09-15Merge branch 'maint'Ingela Anderton Andin
2017-09-15Merge branch 'ingela/inets/doc-fix' into maintIngela Anderton Andin
* ingela/inets/doc-fix: inets: Fix xmllint error
2017-09-15Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Improve check of unknown types
2017-09-15Merge branch 'hasse/dialyzer/check_forms/OTP-14606' into maintHans Bolinder
* hasse/dialyzer/check_forms/OTP-14606: dialyzer: Improve check of unknown types
2017-09-15dialyzer: Improve check of unknown typesHans Bolinder
The implementation of OTP-14218 (commit 6d3b38a) has a weakness: only a very limited part of the type form is checked. This is now fixed: types not used by specs are checked equally well as types used by specs. The new function erl_types:t_from_form_check_remote() checks usage of remote types. It does not expand used local types, and has (almost) no limits on depth and size.
2017-09-15Merge branch 'maint'Hans Bolinder
* maint: tools: Add handling of the -on_load() attribute to Xref tools: Correction of xref(3)
2017-09-15Merge branch 'hasse/tools/xref_on_load/OTP-14344' into maintHans Bolinder
* hasse/tools/xref_on_load/OTP-14344: tools: Add handling of the -on_load() attribute to Xref tools: Correction of xref(3)
2017-09-14Mnesia: note first, next, prev and last vs fragmented tablesMagnus Henoch
In the Table Fragmentation documentation section, note that the functions first/1, next/2, prev/2 and last/1 return elements in an undefined order for fragmented tables. Also remove superfluous "the".
2017-09-14Merge branch 'maint'Péter Dimitrov
* maint: Updated OTP version Update release notes Update version numbers inets: httpd correct server_name environment value inets: httpd - Add chunk handling of client data inets: Restore old behavior when parsing "+" inets: prepare for release
2017-09-14Merge branch 'maint-20' into maintPéter Dimitrov
* maint-20: Updated OTP version Update release notes Update version numbers inets: httpd correct server_name environment value inets: httpd - Add chunk handling of client data inets: Restore old behavior when parsing "+" inets: prepare for release
2017-09-14inets: Fix xmllint errorIngela Anderton Andin
2017-09-14kernel: Don't call other modules from simple error loggerSiri Hansen
error_logger implements a simple handler which is used when no other handler is active. This handler is used during system startup, when there is no guarantee that all modules are loaded and must therefore not use any other modules for the formatting. Commit 41b856a2cb270ef807beaa84afe1bb890de5f237 introduced a call to io_lib:printable_list/1, which is now removed.
2017-09-14Update link text to algorithms homepageRaimo Niskanen
2017-09-14Merge pull request #1537 from vitorenesduarte/stop_timeoutPeter Andersson
make stop_timeout in ct_slave:stop configurable
2017-09-14wx: Remove export_all in example codeDan Gudmundsson
2017-09-14wx: test remove export_allDan Gudmundsson
Remove unnecessary warnings
2017-09-14tools: Add handling of the -on_load() attribute to XrefHans Bolinder
2017-09-14tools: Correction of xref(3)Hans Bolinder
2017-09-14wx: Update doc, OpenGL external linksDan Gudmundsson
They have moved from opengl.org to www.khronos.org
2017-09-14Add compile_info option to compileJosé Valim
This allows compilers built on top of the compile module to attach external compilation metadata to the compile_info chunk. For example, Erlang uses this chunk to store the compiler version. Elixir and LFE may augment this by also adding their own compiler versions, which can be useful when debugging. The deterministic option does not affect the user supplied compile_info. It is therefore the responsibility of external compilers to guarantee any added information does not violate the determinsitic option, if such option is supported. Finally, this code moves the building of the compile_info options to the compile module instead of beam_asm, moving all of the option mangling code to a single place.
2017-09-14wx: Reduce Opengl docsDan Gudmundsson
Only use the first paragraph in the doc which contains an overview, the result of the more detailed doc generated non valid xml, and all math expressions was rendered poorly. Remove for now.
2017-09-14Pack combined instructionsBjörn Gustavsson
2017-09-14beam_makeops: Refactor code generationBjörn Gustavsson
The refactoring will simplify packing of combined instructions.
2017-09-14Correct disassembly of select instructionsBjörn Gustavsson
Make sure to use the 'unpacked[-1]' when accessing the unpacked arguments.
2017-09-14Merge branch 'bjorn/erts/relative-jumps'Björn Gustavsson
* bjorn/erts/relative-jumps: Pack failure labels in i_select_val2 and i_select_tuple_arity2 Optimize i_select_tuple_arity2 and is_select_lins Rewrite select_val_bins so that its labels can be packed Pack sequences of trailing 'f' operands Implement packing of 'f' and 'j' Make sure that mask literals are 64 bits Use relative failure labels Add information about offset to common group start position Remove JUMP_OFFSET Refactor instructions to support relative jumps Introduce a new trace_jump/1 instruction for tracing Avoid using $Src more than once
2017-09-14Pack failure labels in i_select_val2 and i_select_tuple_arity2Björn Gustavsson
2017-09-14Optimize i_select_tuple_arity2 and is_select_linsBjörn Gustavsson
Don't save a pointer to the default failure label. That could relieve register pressure. Instead, if we'll need to signal an error in i_select_tuple_arity2, delay to the execution phase. That should be a clear win because i_select_tuple_arity2 very rarely fails because of the term being selected is not a tuple.
2017-09-14Rewrite select_val_bins so that its labels can be packedBjörn Gustavsson
2017-09-14Pack sequences of trailing 'f' operandsBjörn Gustavsson
Pack sequences of trailing 'f' operands for instructions such at jump_on_val or i_select_val_lins.
2017-09-14Implement packing of 'f' and 'j'Björn Gustavsson
2017-09-14Make sure that mask literals are 64 bitsBjörn Gustavsson
Use the "ull" suffix for the mask literals instead of "ul" to ensure that the literals are 64 bits also on Windows.
2017-09-14Use relative failure labelsBjörn Gustavsson
Relative failure in itself is not an optimization, but we plan to pack failure labels in the future to save memory.
2017-09-14Add information about offset to common group start positionBjörn Gustavsson
2017-09-14Remove JUMP_OFFSETBjörn Gustavsson
It has served its purpose.
2017-09-14Document that the compiler may optimize away atomsBjörn Gustavsson
The following code could fail in the call to list_existing_atom/1: String = atom_to_list(some_atom), Atom = list_to_existing_atom(String) because the compiler will rewrite the code to: String = "some_atom", Atom = list_to_existing_atom(String) If some_atom is not used in another place, it will not exist. The compiler could be updated to preserve the atom in this simple case, but it would be hard to make sure that the compiler never loses atoms that exist in the source text. It also difficult to imagine a real world use case where this would be a problem. If an atom is mentioned only in a way that the compiler can optimize away, is there really any need to create the atom at all in list_to_existing_atom/1? Therefore, it is better to place the responsibility that the atom exists on the user of list_to_existing_atom/1. Update the documentation to mention that the compiler may optimize away atoms. https://bugs.erlang.org/browse/ERL-453
2017-09-14Merge branch 'maint'Dan Gudmundsson
* maint: stdlib: Fix jumping to beginning or end of line Fix del_chars not considering wide chars and update buffer length before calling write_buf Make cp_pos_to_col function aware of the ANSI escape codes
2017-09-14Merge pull request #1549 from ggcampinho/fix-move-cursorDan Gudmundsson
Consider ANSI escape codes on cp_pos_to_col