Age | Commit message (Collapse) | Author |
|
|
|
|
|
They have moved from opengl.org to www.khronos.org
|
|
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.
|
|
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.
|
|
|
|
The refactoring will simplify packing of combined instructions.
|
|
Make sure to use the 'unpacked[-1]' when accessing the unpacked
arguments.
|
|
* 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
|
|
|
|
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.
|
|
|
|
Pack sequences of trailing 'f' operands for instructions
such at jump_on_val or i_select_val_lins.
|
|
|
|
Use the "ull" suffix for the mask literals instead of "ul"
to ensure that the literals are 64 bits also on Windows.
|
|
Relative failure in itself is not an optimization, but we plan to
pack failure labels in the future to save memory.
|
|
|
|
It has served its purpose.
|
|
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
|
|
* 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
|
|
Consider ANSI escape codes on cp_pos_to_col
|
|
|
|
This is a bug fix: the end of the 'Last calls' section is meant to be
an empty line, but in some situations this is not the case. This could
cause the complete dump to be read and stored as 'Last calls', causing
very unexpected behavior in the crashdump viewer.
This commit adds a check for ": ", which indicates that a new heading
has occured and thus the 'Last calls' section is completly read.
|
|
|
|
This is to avoid crashdumps generated by crashdump_viewer, possibly
overwriting the currently analysed crashdump.
|
|
sverker/on_load-on_load-bug/OTP-14612
|
|
Symptom: VM crash when erlang:trace_pattern(on_load, ..) is set and
module with -on_load is loaded.
Problem: Tracing and -on_load clash in their use of Export.beam[1]
Solution: Do not do call set_default_trace_pattern in finish_loading_1
for modules with -on_load. finish_after_on_load_2 will do that anyway.
|
|
|
|
* anders/diameter/grouped_decode/OTP-14607:
Fix diameter_packet.avps decode of Grouped AVP errors in Failed-AVP
|
|
* anders/diameter/DOIC/OTP-14588:
Fix avp_dictionaries decode with {decode_format, none}
|
|
|
|
When cursor is before or after a multi-codepoint grapheme cluster.
|
|
calling write_buf
After deleting the chars the function `del_chars` was considering the code points to move the cursor back and not the graphemes
|
|
* maint:
Update the version to 2.8.0
Remove the obsolete erlang-buffer-substring function
Add a :package-version property to the new defcustom erlang-shell-prompt-read-only
Bump the version number
Make the erlang-shell prompt read-only by default
Remove a mention of Emacs 21
Drop some redundant backwards compatibility code
Enable lexical binding for erlang-mode
Remove some ancient compatibility aliases
|
|
* upstream/pr/1474:
Update the version to 2.8.0
Remove the obsolete erlang-buffer-substring function
Add a :package-version property to the new defcustom erlang-shell-prompt-read-only
Bump the version number
Make the erlang-shell prompt read-only by default
Remove a mention of Emacs 21
Drop some redundant backwards compatibility code
Enable lexical binding for erlang-mode
Remove some ancient compatibility aliases
|
|
Introduce new macros that can be used for relative jumps and
use them consistently.
Test that everything works by using a non-zero constant JUMP_OFFSET.
The loader subtracts JUMP_OFFSET from loaded labels, and all
instructions that use 'f' operands add it back.
|
|
* bjorn/erts/improve-beam-ops:
Add built-in macros $ARG_POSITION() and $IS_PACKED()
Use 't' instead of 'I' bit syntax operands
Optimize operand type for match context in i_bs_get_integer
Change operand type from 's' to 'S' for a few instructions
Use the correct name of the parameter
|
|
|
|
Optimise equality comparisons
|
|
* potatosalad/erts/binary_find_bif_improved/PR-1480/OTP-14610:
stdlib: Improved BIF for binary matches and split.
|
|
|
|
|
|
|
|
* peterdmv/prepare_inets_release:
inets: prepare for release
|
|
* peterdmv/inets/http_uri_backwards_compat/OTP-14573:
inets: Restore old behavior when parsing "+"
|
|
maint-20
* sverker/20/binary_to_atom-utf8-crash/ERL-474/OTP-14590:
erts: Fix crash in binary_to_atom/term for invalid utf8
|
|
* ingela/inets/httpd-chunk-post/OTP-14450:
inets: httpd correct server_name environment value
inets: httpd - Add chunk handling of client data
|
|
|
|
* ingela/inets/maint/httpd-chunk-post/OTP-14450:
inets: httpd correct server_name environment value
inets: httpd - Add chunk handling of client data
|
|
Add host_name to hold the resolved name incorrectly provided as server
name before.
|