aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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-13Refactor instructions to support relative jumpsBjörn Gustavsson
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.
2017-09-11Introduce a new trace_jump/1 instruction for tracingBjörn Gustavsson
As a preparation for introducing relative jumps, introduce "trace_jump W" that can be used for tracing. This instruction will continue to have an absolute address for the jump target. (Note: This instruction is never created during loading; it is only created in stubs when tracing is active.)
2017-09-11Avoid using $Src more than onceBjörn Gustavsson
The C compiler will probably optimize this, but just to be sure...
2017-09-11Merge branch 'lukas/erts/non-smp-removal-cleanup/OTP-14518'Lukas Larsson
* lukas/erts/non-smp-removal-cleanup/OTP-14518: Make estone work with older releases erts: Allow read in ttsl driver to return EAGAIN syntax_tools: Fix makefile dep erts: non-smp removal cleanup in erlexec
2017-09-11Make estone work with older releasesLukas Larsson
2017-09-11erts: Allow read in ttsl driver to return EAGAINLukas Larsson
2017-09-11syntax_tools: Fix makefile depLukas Larsson
2017-09-11erts: non-smp removal cleanup in erlexecLukas Larsson
2017-09-11Merge branch 'lukas/erts/pgo/OTP-14604'Lukas Larsson
* lukas/erts/pgo/OTP-14604: Add support for building a pgo beam_emu
2017-09-11beam_debug: Add support for printing 'S' operandsBjörn Gustavsson
The 'S' operand type was added in 5bf73db9fd77.
2017-09-11Check the right side of a transformation betterBjörn Gustavsson
The right side of a transformation must be either a single call to a transformation function OR a list of instructions. Mixing them like this is not supported: some_instruction A B C => gen_something(A) | other B C Unfortunately, beam_makeops would silenty ignore anything after the function call, basically handling it in the same way as: some_instruction A B C => gen_something(A) Add a sanity check to reject such mixed right-hand sides.
2017-09-11Merge branch 'maint'Hans Nilsson
2017-09-11Merge branch 'hans/ssh/modify_algs/OTP-14568' into maintHans Nilsson
2017-09-11ssh: Doc modified after commentsHans Nilsson
2017-09-11ssh: fix dialyzer errorHans Nilsson
2017-09-11ssh: Document the option modify_algorithms and a User's Guide chapterHans Nilsson
2017-09-11ssh: test cases for modify_algorithmsHans Nilsson
2017-09-11ssh: ssh:chk_algos_opts/1Hans Nilsson
This function is intended primarily for users who want to experiment with the options preferred_algorithms and modify_algorithms.
2017-09-11ssh: Added option 'modify_algorithms' with prepend, append and rmHans Nilsson
If a user wants to enable one non-default algorithm or remove a default one, the option preferred_algorithms is too complicated since it replaces the whole set of algorithms.
2017-09-11Merge pull request #1563 from bitnitdit/Mnesia_chap2.xmlsrc-typoDan Gudmundsson
Fix typo in Mnesia_chap2.xmlsrc
2017-09-11Merge branch 'maint'Ingela Anderton Andin
2017-09-11Merge branch 'ingela/ssl/openssl-cuddle' into maintIngela Anderton Andin
* ingela/ssl/openssl-cuddle: ssl: OpenSSL-1.0.0 is really broken
2017-09-11ssl: OpenSSL-1.0.0 is really brokenIngela Anderton Andin
Add exception for DTLS (not only TLS) against this broken version. Make sure configuration is clean for default test group.
2017-09-11Merge branch 'maint'John Högberg
2017-09-11Merge branch 'john/erts/hoist-min-max-macros' into maintJohn Högberg
2017-09-09Merge branch 'maint'Anders Svensson
2017-09-09Merge branch 'anders/diameter/config_consistency/OTP-14555' into maintAnders Svensson
* anders/diameter/config_consistency/OTP-14555: Fix type spec Fix strict_arities blunder
2017-09-09Merge branch 'anders/diameter/performance/OTP-14521' into maintAnders Svensson
* anders/diameter/performance/OTP-14521: Simplify implementation in diameter_reg (take 2)
2017-09-09Fix typo in Mnesia_chap2.xmlsrcbitnitdit
2017-09-08Fix type specAnders Svensson
Map key was not retained when the spec was added in commit 66bb5251.
2017-09-08Fix strict_arities blunderAnders Svensson
The watchdog process retained the configuration, causing DWR/DWA encode to fail on a string-valued Origin-Host/Realm if the encode arity was relaxed. Bungled in commit 5f3becad.
2017-09-08Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap Eliminate incorrect get_stacktrace/0 warning Conflicts: bootstrap/bin/start.boot bootstrap/bin/start_clean.boot bootstrap/lib/compiler/ebin/beam_utils.beam bootstrap/lib/compiler/ebin/beam_validator.beam bootstrap/lib/compiler/ebin/sys_core_fold.beam bootstrap/lib/kernel/ebin/error_logger.beam bootstrap/lib/kernel/ebin/file_server.beam bootstrap/lib/kernel/ebin/global.beam bootstrap/lib/kernel/ebin/hipe_unified_loader.beam bootstrap/lib/kernel/ebin/kernel.appup bootstrap/lib/kernel/ebin/net_kernel.beam bootstrap/lib/kernel/ebin/user_drv.beam bootstrap/lib/stdlib/ebin/c.beam bootstrap/lib/stdlib/ebin/dets.beam bootstrap/lib/stdlib/ebin/dets_utils.beam bootstrap/lib/stdlib/ebin/edlin.beam bootstrap/lib/stdlib/ebin/erl_lint.beam bootstrap/lib/stdlib/ebin/error_logger_file_h.beam bootstrap/lib/stdlib/ebin/error_logger_tty_h.beam bootstrap/lib/stdlib/ebin/escript.beam bootstrap/lib/stdlib/ebin/ets.beam bootstrap/lib/stdlib/ebin/gen_event.beam bootstrap/lib/stdlib/ebin/gen_fsm.beam bootstrap/lib/stdlib/ebin/gen_server.beam bootstrap/lib/stdlib/ebin/gen_statem.beam bootstrap/lib/stdlib/ebin/otp_internal.beam bootstrap/lib/stdlib/ebin/proc_lib.beam bootstrap/lib/stdlib/ebin/qlc.beam bootstrap/lib/stdlib/ebin/shell.beam bootstrap/lib/stdlib/ebin/slave.beam bootstrap/lib/stdlib/ebin/string.beam bootstrap/lib/stdlib/ebin/supervisor.beam
2017-09-08Update primary bootstrapBjörn Gustavsson
2017-09-08Merge pull request #1561 from ↵Björn Gustavsson
bjorng/bjorn/stdlib/false-warning/ERL-478/OTP-14600 Eliminate incorrect get_stacktrace/0 warning
2017-09-08Merge branch 'bjorn/erts/improve-beam-ops'Björn Gustavsson
* bjorn/erts/improve-beam-ops: Don't allow macros to assign to hard-coded variables Annotate try_case_end as cold beam_emu.c: Mark initialization code as unlikely Try to avoid generating unecessary do/while wrappers Eliminate unecessary instruction macro i_move_call_only()
2017-09-08Merge branch 'maint'Lars Thorsen
2017-09-08Add support for building a pgo beam_emuLukas Larsson
2017-09-08Merge pull request #1556 from bitnitdit/oam_intro-typoLars Thorsén
Fix typo in oam_intro.xml
2017-09-08Merge branch 'maint'Lars Thorsen
2017-09-08Merge pull request #1555 from enilsen16/en-fix-typosLars Thorsén
Change sumary to summary
2017-09-07Simplify implementation in diameter_reg (take 2)Anders Svensson
Simplify the simplification. The order of sending is changed, but the order isn't significant.