aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-12-13Keep exit blocks in order when moving them in beam_jumpAnthony Ramine
This makes applying the pass a second time a no-op.
2013-12-13Add missing recv_set, recv_mark and '%' to BEAM live annotationAnthony Ramine
2013-12-13Collect all optimised allocate instructions in beam_blockAnthony Ramine
Any init instruction following an allocate is put in the Inits list of the corresponding alloc tuple.
2013-12-13Properly collect allocate_zero instructions in beam_blockAnthony Ramine
If an allocate_zero instruction is fed to beam_block and the beam_type pass is not used afterwards (e.g. with erlc +no_topt), the 'no_opt' atom will be rejected by beam_flatten.
2013-12-13Properly let floating-point instructions through in the BEAM compilerAnthony Ramine
The compiler shouldn't crash when fed an already-optimised BEAM assembly file.
2013-12-13Merge branch 'nox/eep37/OTP-11537'Björn Gustavsson
* nox/eep37/OTP-11537: Support EEP37 named funs in emacs erlang-mode Document named fun expressions Test named funs Support named funs in the debugger interpreter Update primary bootstrap for named funs in the shell Support named funs in the shell Update primary bootstrap for named funs EEP 37: Funs with names Support non top level letrecs in dialyzer
2013-12-13Merge branch 'rickard/otp-17-vsn'Rickard Green
* rickard/otp-17-vsn: Update versions of OTP, erts, kernel, and stdlib
2013-12-12Support EEP37 named funs in emacs erlang-modeSteve Vinoski
Change emacs erlang-mode to recognize EEP37 named funs so they're indented properly. Specifically, modify erlang-partial-parse to allow for an optional Erlang variable name to appear between the "fun" keyword and the opening parenthesis of its argument list.
2013-12-12Document named fun expressionsAnthony Ramine
2013-12-12Test named funsAnthony Ramine
2013-12-12Support named funs in the debugger interpreterAnthony Ramine
The current code for the evaluation of ordinary funs is dependent on the order on variables in the fun environment as returned by erlang:fun_info(Fun, env). As it happened, adding the code for named funs changed the order in the environment for ordinary funs. To avoid the problem in the future, make sure that we only have one free variable in the funs that we will need to inspect using erlang:fun_info(Fun, env).
2013-12-12Update primary bootstrap for named funs in the shellAnthony Ramine
2013-12-12Support named funs in the shellAnthony Ramine
The current code for the evaluation of ordinary funs is dependent on the order on variables in the fun environment as returned by erlang:fun_info(Fun, env). To avoid the problem in the future, make sure that we only have one free variable in the funs that we will need to inspect using erlang:fun_info(Fun, env).
2013-12-12Update primary bootstrap for named funsAnthony Ramine
2013-12-12EEP 37: Funs with namesAnthony Ramine
This adds optional names to fun expressions. A named fun expression is parsed as a tuple `{named_fun,Loc,Name,Clauses}` in erl_parse. If a fun expression has a name, it must be present and be the same in every of its clauses. The function name shadows the environment of the expression shadowing the environment and it is shadowed by the environment of the clauses' arguments. An unused function name triggers a warning unless it is prefixed by _, just as every variable. Variable _ is allowed as a function name. It is not an error to put a named function in a record field default value. When transforming to Core Erlang, the named fun Fun is changed into the following expression: letrec 'Fun'/Arity = fun (Args) -> let <Fun> = 'Fun'/Arity in Case in 'Fun'/Arity where Args is the list of arguments of 'Fun'/Arity and Case the Core Erlang expression corresponding to the clauses of Fun. This transformation allows us to entirely skip any k_var to k_local transformation in the fun's clauses bodies.
2013-12-12Support non top level letrecs in dialyzerJosé Valim
Dialyzer so far only supported letrecs at the top-level and comprehension-like letrecs (i.e. that were directly applied) in their body. This commit address this issue by storing in the callgraph bound letrec labels pointing to their functions. This information is then used by the dataflow to properly lookup recursive definitions.
2013-12-10Merge tag 'OTP_R16B03'Magnus Lidén
The R16B03 release Conflicts: lib/sasl/vsn.mk
2013-12-10Update versions of OTP, erts, kernel, and stdlibRickard Green
Update versions of OTP, erts, kernel, and stdlib to comply with the new version scheme decided by the OTP technical board.
2013-12-09Prepare releaseOTP_R16B03Erlang/OTP
2013-12-09Update preloaded modulesMagnus Lidén
2013-12-09Merge branch 'siri/test-bugfix-upgrade-emulator' into maintMagnus Lidén
* siri/test-bugfix-upgrade-emulator: [sasl] Test bugfix in branch 'schlagert/fix_emulator_upgrades'
2013-12-09[sasl] Test bugfix in branch 'schlagert/fix_emulator_upgrades'Siri Hansen
OTP-11529
2013-12-09Update system readme for R16B03Magnus Lidén
2013-12-09Update preloaded modulesMagnus Lidén
2013-12-07Merge branch 'rickard/garbage_collect/OTP-11388'Rickard Green
* rickard/garbage_collect/OTP-11388: Parallel check_process_code when code_server purge a module Functionality for disabling garbage collection Use asynchronous check_process_code in code_parallel_SUITE Execution of system tasks in context of another process Conflicts: bootstrap/lib/kernel/ebin/hipe_unified_loader.beam erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2013-12-06Update preloaded modulesMagnus Lidén
2013-12-06Merge branch 'maint'Magnus Lidén
2013-12-06Update primary bootstrap app- and appup filesMagnus Lidén
2013-12-06Update primary bootstrapMagnus Lidén
2013-12-05Merge branch 'maint'Raimo Niskanen
2013-12-05Merge branch 'schlagert/fix_emulator_upgrades' into maintRaimo Niskanen
* schlagert/fix_emulator_upgrades: Fix boot file generation for intermediate releases.
2013-12-05Merge branch 'maint'Hans Nilsson
2013-12-05Merge branch 'hans/inets/ftpc_test_fail' into maintHans Nilsson
* hans/inets/ftpc_test_fail: inets: Restore ftp test files for the inets_{,sup_}SUITE to not fail
2013-12-05inets: Restore ftp test files for the inets_{,sup_}SUITE to not failHans Nilsson
2013-12-05Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
2013-12-05Merge branch 'ia/inets/cuddle-with-tests' into maintIngela Anderton Andin
* ia/inets/cuddle-with-tests: inets: Add crypto start check to ssl test cases
2013-12-05Update primary bootstrapSverker Eriksson
2013-12-04Merge branch 'maint'Peter Andersson
2013-12-04Merge branch 'peppe/common_test/r16b03_docs_updated' into maintPeter Andersson
* peppe/common_test/r16b03_docs_updated: Update event handling documentation OTP-11524
2013-12-04Update event handling documentationPeter Andersson
2013-12-04Merge branch 'sverk/crypto-strrchr-bug'Sverker Eriksson
* sverk/crypto-strrchr-bug: crypto: Fix bug in change_basename
2013-12-04Merge branch 'maint'Peter Andersson
2013-12-04Merge branch 'peppe/common_test/r16b03_docs' into maintPeter Andersson
* peppe/common_test/r16b03_docs: Update documentation OTP-10631 OTP-11305 OTP-11523 OTP-11524
2013-12-04Merge branch 'maint'Anders Svensson
2013-12-04Merge branch 'anders/diameter/doc/OTP-11519' into maintAnders Svensson
* anders/diameter/doc/OTP-11519: Assorted doc fixes/tweaks
2013-12-03Update documentationPeter Andersson
2013-12-03crypto: Fix bug in change_basenameSverker Eriksson
strrchr used on non null-terminated string.
2013-12-03Merge branch 'sverk/yb/aes_ige_crypt'Sverker Eriksson
* sverk/yb/aes_ige_crypt: crypto: Update supports/0 for des3_cbf and aes_ige256 crypto: Throw notsup for AES IGE if openssl older than 0.9.8c crypto: Add IGE mode for AES OTP-11522
2013-12-03Assorted doc fixes/tweaksAnders Svensson
2013-12-03Merge branch 'maint'Hans Nilsson