aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-11-07Merge branch 'maint'Sverker Eriksson
2017-11-07Merge PR-1619 from mikpe/erts-hipe-print-heap-fixesSverker Eriksson
fix output formatting in hipe_bifs:show_heap/1
2017-11-07Merge pull request #1551 from peterdmv/peterdmv/stdlib/add_uri_string/OTP-14496Péter Dimitrov
Implement new uri_string module in stdlib
2017-11-07Ignore empty binaries in enif_inspect_iovecJohn Högberg
2017-11-07Emasculate writable binaries on entering an iovecJohn Högberg
The lack of this caused serious data corruption when a binary was altered after entering the queue. This went unnoticed because it was never used without erlang:iolist_to_iovec, which always emasculates binaries.
2017-11-07Merge branch 'hasse/erl_docgen/clause_i_anchors/OTP-14321'Hans Bolinder
* hasse/erl_docgen/clause_i_anchors/OTP-14321: erts: Correct a link in erlang(3) erts: Improve some links in erlang(3) erl_docgen: Insert an anchor for "anchor" attribute
2017-11-07Strengthen tests of definition of specific instructionsBjörn Gustavsson
Don't allow defining an specific operation more than once with the exact same operands. Don't allow a specific operation to be defined with different arities.
2017-11-06Merge PR-1622 from Zorbash/typo-ets-suiteSverker Eriksson
Fix typo in test/ets_SUITE.erl
2017-11-06Clearify call trace limitations.Sverker Eriksson
2017-11-06Fix typo in test/ets_SUITE.erlDimitris Zorbas
2017-11-06erts: Remove obsolete hipe primop bs_validate_unicodeSverker Eriksson
which was replaced by 'is_unicode' in 5369e34a892bfd8ab5aa98df330e3bbf19497b71 but kept for ABI compatibility in OTP-20.*.
2017-11-06Merge branch 'sverker/mend-do_call_trace'Sverker Eriksson
* sverker/mend-do_call_trace: erts: Fix lock checking in do_call_trace
2017-11-06erts: Fix bug in systask schedulingSverker Eriksson
when request id is an immediate. Ex: erlang:garbage_collect(P, [{async,Immediate}]). may crash the VM.
2017-11-06Remove redundant built-in macro $IS_PACKED()Björn Gustavsson
It can easily be implemented as $OPERAND_POSITION($Operand) == 0.
2017-11-06Warn when $REFRESH_GEN_DEST() is not used after a GCBjörn Gustavsson
It is easy to to forget to use $REFRESH_GEN_DEST() in an instruction that has a general destionation ('d'). Add a heuristic that should catch most if not all such problems.
2017-11-06Consistently use the "erts_gc_" prefix for functions that do GCBjörn Gustavsson
In beam_emu, use "erts_gc_" for any function that does garbage collection, as preparation for adding more sanity checks.
2017-11-06Add the built-in macro $IF() to handle conditionalsBjörn Gustavsson
Add an $IF() macro to conditionally expand macros. Use it like this: $IF(Expression, IfTrue, IfFalse) Expression is a Perl expression that can be evaulated at macro expansion time. If the expression evaluates to 0, the result will be IfFalse, otherwise IfTrue.
2017-11-06stdlib: Remove compose_query and dissect_queryPéter Dimitrov
compose_query/{1,2} and dissect_query/1 removed as the implemented specification (HTML 2.0) is old. They will be re-implemented based on HTML5.
2017-11-06Merge branch 'maint'Siri Hansen
2017-11-06Merge branch 'siri/observer/dont-crash-on-expand-empty-binary/OTP-14642' ↵Siri Hansen
into maint * siri/observer/dont-crash-on-expand-empty-binary/OTP-14642: [observer] Don't crash on empty binary
2017-11-06Rename the built-in macro ARG_SIZE() to OPERAND_SIZE()Björn Gustavsson
Although the terminology "arguments" is used in the comments for beam_makeops, the documentation in beam_makeops.md consistenly use the term "operand". Since the name of the macro is user-facing, it should be consistent with the documentation.
2017-11-06Clean up definition of built-in macrosBjörn Gustavsson
Make it easier to define new macros.
2017-11-05HiPE: Support literal tagsMagnus Lång
Literal tags are used by the VM as an alternative to reserving a large virtual memory space in order to be able to quickly identify which terms are literals. The use of literal tags harms performance, but is useful to support systems where allocating a large amount of virtual memory is not an option.
2017-11-05HiPE: Verify GC safety of derived valuesMagnus Lång
HiPE has had metadata for gc safety on it's temporaries for a while, but it has never been enforced or even checked, so naturally several gc-safety violations has slipped through. A new pass, hipe_rtl_verify_gcsafe verifies gcsafety on optimised RTL and is used when running the testsuite, and can be manually enabled with +{hipe,[verify_gcsafe]}.
2017-11-05HiPE: Make is_divisible a primopMagnus Lång
Since gcunsafe values are live over is_divisible calls (although only the happy path, which never GCd), it should be a primop so there cannot be any GCs.
2017-11-05hipe_rtl_lcm: Fix another bugMagnus Lång
During deletion, the killing of expressions was not considered.
2017-11-05hipe_rtl_lcm: Fix Lazy Code Motion bugMagnus Lång
The lazy code motion optimisation pass could violate its guarantees eliminating partial redundancy by moving an expression to before a call instruction.
2017-11-05fix output formatting in hipe_bifs:show_heap/1Mikael Pettersson
When the code switches from printf() to erts_printf() the output becomes garbled. Fixed by fflush()ing stdout first. Fixed formatting of the "H E A P" banner for 64-bit systems.
2017-11-03erts: Fix lock checking in do_call_traceSverker Eriksson
which was lost in merge 3ec66701f91eba6a7a12a813b2283c2e733f62c1
2017-11-03Removed "unused list comprehensions"Sverker Eriksson
which don't seem to be true.
2017-11-03Merge branch 'maint'Sverker Eriksson
2017-11-03Merge PR-1607 from sverker/hipe_bin_utf32_bug OTP-14740Sverker Eriksson
Fix hipe bug in binary <<X/utf32>> construction
2017-11-03Fix bug in hipe for <<X/utf32>>Sverker Eriksson
by introducing new primop 'is_unicode' with no exception (ab)use and no GC. Replaces bs_validate_unicode which is kept for backward compat for now.
2017-11-03Prevent hipe_bs_validate_unicode from doing GCSverker Eriksson
Fix for x86_64 only. The calling native code can not handle a GC as it has a raw pointer where to write the binary data. If a GC happens the data (utf32) will be written to the old deallocated heap.
2017-11-03stdlib: Refactor functions in uri_stringPéter Dimitrov
2017-11-02hipe: Add doc sections about limitationsSverker Eriksson
2017-11-02[ct] Remove call to application:which_applications()Siri Hansen
The cth_log_redirect hook calls this function to check if the sasl application is started. This is done for each error logger event. In most systems, this is not a big problem, but on native compiled code this call can be very slow if the message queue is long. This is because huge message queue optimization is not implemented for native.
2017-11-02Merge branch 'maint'Ingela Anderton Andin
Conflicts: OTP_VERSION
2017-11-02Merge branch 'maint-20' into maintIngela Anderton Andin
* maint-20: Updated OTP version Update release notes inets: Prepare for release inets: httpd - Fix broken handling of POST requests inets: Make sure httpd:stop_service is synchronous inets: httpd - do not hardcode 302 status for location
2017-11-02Merge branch 'john/erts/msacc-dirty-schedulers/OTP-14707'John Högberg
2017-11-02Only apply EOS behaviors if there's pending dataJohn Högberg
2017-11-02Updated OTP versionOTP-20.1.4Erlang/OTP
2017-11-02Update release notesErlang/OTP
2017-11-02Merge branch ↵Erlang/OTP
'ingela/inets/maint/httpd-location-chunk-and-close/OTP-14716/OTP-14656/OTP-14696' into maint-20 * ingela/inets/maint/httpd-location-chunk-and-close/OTP-14716/OTP-14656/OTP-14696: inets: Prepare for release inets: httpd - Fix broken handling of POST requests inets: Make sure httpd:stop_service is synchronous inets: httpd - do not hardcode 302 status for location
2017-11-01Merge branch 'maint'Ingela Anderton Andin
2017-11-01Merge pull request #1613 from hamidreza-s/fix-httpc-misbehaviourIngela Andin
[#ERL-407]: Fix httpc misbehaviour based on RFC7230, section 3.3.3 OTP-14727
2017-11-01Merge pull request #1592 from falkevik/sctp_return_only_connect_errorsRaimo Niskanen
OTP-13760 SCTP connect could return error even if the connect is ongoing
2017-11-01stdlib: Add uri_string module to stdlib.app.srcPéter Dimitrov
2017-11-01Merge branch 'maint'Ingela Anderton Andin
2017-11-01Merge branch 'ingela/inets/httpd-location/OTP-14716' into maintIngela Anderton Andin
* ingela/inets/httpd-location/OTP-14716: inets: httpd - do not hardcode 302 status for location