Age | Commit message (Collapse) | Author |
|
* lucafavatella/fix-doc-of-dbg-stop:
Correct doc of return value of dbg:{stop,stop_clear} functions
OTP-11603
|
|
* vinoski/emacs-fixes:
fix emacs erlang skeleton indentation
fix indentation error from scan-sexp in erlang.el
prevent errors from erlang.el
fix erlang-mode erlang-get-function-arity
OTP-11601
|
|
* bjorn/erts/zlib-1.2.8:
configure: Prefer the system's zlib over own our zlib source
Update preloaded modules
Add the 'rle' zstrategy
Don't make gzio.c dependent on the zutil.h header file
Update zlib to 1.2.8
erts/zlib: Remove unused file example.c
|
|
* bjorn/asn1/optimizations/OTP-11573:
Optimize code surrounding calls to complete/1
asn1ct_imm: Add the intermediate instruction {list,List,Dst}
Generate intermediate code that is easier to optimize
asn1ct_imm: Add the {set,{var,Src},{var,Dst}} instruction
Keep type information in the apply intermediate instruction
asn1ct_imm: Add a field for intermediate code for call_gen
Introduce asn1ct_gen:open_output_file/1
Factor out printing of verbose messages
Improve optimization of alignment for encoding
Improve construction of {cons,H,T} instructions
Teach asn1ct_func:call_gen/4 to quote the generated function name
Test open types that may need more than 128 bytes
|
|
vinoski/emacs-fixes
|
|
vinoski/emacs-fixes
|
|
vinoski/emacs-fixes
|
|
vinoski/emacs-fixes
|
|
* dgud/test_unicode/OTP-10877:
sasl test: Quote executable paths (can contain spaces)
rt_tools: Handle unicode chars in printouts
kernel: code_SUITE fix unicode option
Fix (unicode) debug info in test cases
stdlib: Fix format if module resides in a unicode directory
Fix testing with unicode paths
test_server: Fix ts write unicode in config files
|
|
|
|
|
|
|
|
|
|
This tries to make bugs like 87156887b7d82a2db53f60441a4af87034cb8789 not
happen again.
The new test takes each file in the stdlib app, passes their forms through the
erl_syntax representation, reverts them and compiles them.
|
|
This partially reverts 290dc2b08a2f92157ac5358fba815f4dbb32f8f2 in which
implicit funs were mistakenly thought to be using abstract terms for their name
and arity.
|
|
|
|
|
|
when using xmerl_sax_parser:stream/2 function.
|
|
|
|
|
|
|
|
|
|
|
|
* dgud/wx/more-fixes/OTP-11444:
wx: Fix hanging wx calls
Update wx build instsructions for Darwin
wx: Remove compiler option -fomit-frame-pointer on Darwin
wx: Fix crash when garbage collect event handlers (debugger caused seg fault)
wx: Fix LDFLAGS for Mac
|
|
* ia/ssl/openssl-reneogtiation-bug:
ssl: Add versions to check for sane OpenSSL version for renegotiation
|
|
|
|
* ia/inets/httpd-manager-improvments/OTP-11557:
inets: Prepare for release
inets: Remove log message as it causes more harm than use at the moment
inets: Mend broken max_clients check
inets: Start CT'ify httpd_SUITE
inets: Remove use of default gen_server timeout
|
|
|
|
* ia/odbc/configure/OTP-11574:
odbc: Fix configure check to work proparly on windows
|
|
|
|
* hawk/reltool_undefined_regexp:
Add missing default value for regexps in reltool It caused a function clause in lists:sort/1:
OTP-11591
OTP-11592
|
|
* hawk/reltool_test_server:
Adapted reltool test server to common test usage of tc_status
|
|
* josevalim/jv-console-i:
Handle binary input in console helpers
OTP-11589
|
|
|
|
|
|
|
|
|
|
|
|
re needs unicode option
|
|
|
|
* sverk/jinterface/unicode-test-bug:
jinterface: Fix unicode bug in test code
|
|
complete/1 is used when encoding open types (as well as in the
encode/2 function in a generated module).
The use of complete/1 for encoding open types used to be optimized
in two different places.
One place was in the alignment optimization pass, where we attempted
to replace the call to complete/1 with a call to iolist_to_binary/1.
That optimization was taken out in a previous commit that introduced
the {list,_,_} intermediate instruction.
The other place was when creating the intermediate representation
for the encoding of the open type. When attempting to wrap primitive
types in an open type, we would attempt to optimize the encoding of
the length decscriptor. We will remove that optimization in this
commit.
Since the previous two optimizations did not optimize encoding of
open types as much as we would want, we will introduce a new
optimization in a separate pass that will go further than the
previous optimizations.
|
|
The {list,List,Dst} instruction gives us as general way to
capture the building of something into a variable. That will make
inlining of intermediate code much easier.
It also allows us to eliminate the versions of the apply, call_gen,
and cond instructions that takes a target variable.
Also remove the optimization in the alignment optimization pass
that attempts to replace calls to complete/1 with calls to
iolist_to_binary/1. That optimization will not work anymore without
rewriting, so we will remove it in this commit and introcude a
more powerful optimization in a future commit.
|
|
Instead of generating:
{assign,Dst,"element(2, Val)"}
generate:
{call,erlang,element,[2,{var,"Val"}],Dst}
The latter expression is easier to understand since there is no
need to parse a string which may contain an arbitrary expression.
While at it, also discontinue the practice to treat "naked"
atoms as variables. A variable must always be given as {var,String}.
|
|
The {assign,Dst,Src} instruction is difficult to cope with when
doing advanced optimizations, since its source argument is a string
which may contain any expression.
Instead of changing how {assign,_,_} works, we will introduce new
instructions that can be used instead of {assign,_}, and remove
{assign,_,_} in a later commit when it is no longer used.
The first new instruction we will introduce is:
{set,{var,Src},{var,Dst}}
It is useful for common sub-expression elemination among other things.
For the moment, we will only allow a variable as a source argument,
but we could extend it in the future to allow constants as well.
|
|
To facilitate inlining of apply calls in the intermediate format.
|
|
It will greatly facilitate further optimizations if we include the
intermediate code (if available) in the call_gen tuple.
|
|
|
|
|
|
|