aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-01-21Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
2014-01-21Merge branch 'ia/ssl/ECC-curve-selection/OTP-11575' into maintIngela Anderton Andin
* ia/ssl/ECC-curve-selection/OTP-11575: ssl: Prepare for release ssl: fix elliptic curve selection in server mode
2014-01-21Merge branch ↵Ingela Anderton Andin
'ia/ssl/server-name-indication-missing-option-validation/OTP-11567' into maint * ia/ssl/server-name-indication-missing-option-validation/OTP-11567: ssl: Prepare for release ssl: Add missing options validation of server_name_indication
2014-01-21Merge branch 'hawk/reltool_undefined_regexp'Henrik Nord
* 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
2014-01-21Merge branch 'hawk/reltool_test_server'Henrik Nord
* hawk/reltool_test_server: Adapted reltool test server to common test usage of tc_status
2014-01-21Merge branch 'djc/tinfo-ncurses'Henrik Nord
* djc/tinfo-ncurses: Add support for the separate tinfo library from ncurses OTP-11590
2014-01-21Merge branch 'josevalim/jv-console-i'Henrik Nord
* josevalim/jv-console-i: Handle binary input in console helpers OTP-11589
2014-01-21sasl test: Quote executable paths (can contain spaces)Dan Gudmundsson
2014-01-21rt_tools: Handle unicode chars in printoutsDan Gudmundsson
2014-01-21kernel: code_SUITE fix unicode optionBjörn-Egil Dahlberg
2014-01-21Fix (unicode) debug info in test casesDan Gudmundsson
2014-01-21stdlib: Fix format if module resides in a unicode directoryDan Gudmundsson
2014-01-21Fix testing with unicode pathsDan Gudmundsson
re needs unicode option
2014-01-21test_server: Fix ts write unicode in config filesDan Gudmundsson
2014-01-20Merge branch 'sverk/term2bin-simplify'Sverker Eriksson
* sverk/term2bin-simplify: erts: Refactor ESTACK & WSTACK to use a struct easy to "export" erts: Fix benign ESTACK/WSTACK typo erts: Fix compiler warnings for NO_JUMP_TABLE erts: Run binary_SUITE:trapping even for 32bit erts: Extend binary_SUITE:ttb_trap to also cover binary_to_term erts: Remove the extra_root feature from the process structure erts: Simplify term_to_binary by removing saved ESTACK from root set
2014-01-20Merge branch 'rickard/consume_timeslice-testcase-fix'Rickard Green
* rickard/consume_timeslice-testcase-fix: Fix testcase driver_SUITE:consume_timeslice
2014-01-20Fix testcase driver_SUITE:consume_timesliceRickard Green
2014-01-20(memcheck) Uninitialized structure in gen_challengeOlivier Girondel
2014-01-20Merge branch 'sverk/jinterface/unicode-test-bug'Sverker Eriksson
* sverk/jinterface/unicode-test-bug: jinterface: Fix unicode bug in test code
2014-01-20Merge branch 'sverk/bin2term-int-size-estimation-bug'Sverker Eriksson
OTP-11585 * sverk/bin2term-int-size-estimation-bug: erts: Fix useless comparisons in binary_SUITE:external_size erts: Reduce heap usage for binary_SUITE:deep erts: Remove overestimation of heap space in binary_to_term
2014-01-20Optimize code surrounding calls to complete/1Björn Gustavsson
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.
2014-01-20asn1ct_imm: Add the intermediate instruction {list,List,Dst}Björn Gustavsson
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.
2014-01-20Generate intermediate code that is easier to optimizeBjörn Gustavsson
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}.
2014-01-20asn1ct_imm: Add the {set,{var,Src},{var,Dst}} instructionBjörn Gustavsson
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.
2014-01-20Keep type information in the apply intermediate instructionBjörn Gustavsson
To facilitate inlining of apply calls in the intermediate format.
2014-01-20asn1ct_imm: Add a field for intermediate code for call_genBjörn Gustavsson
It will greatly facilitate further optimizations if we include the intermediate code (if available) in the call_gen tuple.
2014-01-20Introduce asn1ct_gen:open_output_file/1Björn Gustavsson
2014-01-20Factor out printing of verbose messagesBjörn Gustavsson
2014-01-20Improve optimization of alignment for encodingBjörn Gustavsson
2014-01-20Improve construction of {cons,H,T} instructionsBjörn Gustavsson
Make sure that we don't construct: {cons,{integer,I},{cons,{binary,B},T}} - OR - {cons,{binary,B},{cons,{integer,I},T}} but: {cons,{binary,[{put_bits,I,8,[1]}|B]},T} - OR - {cons,{binary,B++[{put_bits,I,8,[1]}]},T}
2014-01-20Teach asn1ct_func:call_gen/4 to quote the generated function nameBjörn Gustavsson
The function name could contain hyphens or other characters not allowed in non-quoted function names.
2014-01-20Test open types that may need more than 128 bytesBjörn Gustavsson
2014-01-20Update primary bootstrapBjörn Gustavsson
2014-01-20Merge branch 'bjorn/compiler/optimizations/OTP-11584'Björn Gustavsson
* bjorn/compiler/optimizations/OTP-11584: Generalize optimizations of case statements Ignore warnings when running sys_core_fold after inlining
2014-01-20Merge branch 'bjorn/fix-line-number-in-bs-exception/OTP-11572'Björn Gustavsson
* bjorn/fix-line-number-in-bs-exception/OTP-11572: compiler: Correct line number in exception from binary construction
2014-01-20Merge branch 'bjorn/compiler/fix-lift-after/OTP-11580'Björn Gustavsson
* bjorn/compiler/fix-lift-after/OTP-11580: compiler: Silence false warning for unmatched return in 'after' clause
2014-01-20Merge branch 'egil/etp-commands/OTP-11582'Björn-Egil Dahlberg
* egil/etp-commands/OTP-11582: erts: Update etp-commands with heap-dump
2014-01-20Merge branch 'egil/fix-bs_get_integer/OTP-11581'Björn-Egil Dahlberg
* egil/fix-bs_get_integer/OTP-11581: erts: Fix bs_get_integer instruction
2014-01-17configure: Prefer the system's zlib over own our zlib sourceBjörn Gustavsson
WxWidgets (used by the wx application) also uses zlib. To ensure that the run-time system and WxWidgets use the same version of zlib, use the system's zlib if present. Also, the system's zlib may be specially optimized and thus faster than our own generic source code. We only use zlib versions that are "good enough". For now, that means 1.2.5 or higher. Remove the option --enable-shared-zlib and add the option --enable-builtin-zlib to force the use of the built-in zlib.
2014-01-17compiler: Silence false warning for unmatched return in 'after' clauseBjörn Gustavsson
Because 26940a8c0c lifted code in the 'after' clause of 'try' to a new function, Dialyzer could produce false warnings for code such as: try ... after file:close(F) end. Mark the the call to the generated function as 'compiler_generated' to silence the warning.
2014-01-17Merge branch 'fenollp/escript-doc-chmod'Henrik Nord
* fenollp/escript-doc-chmod: Add a chmod call in the CLI example OTP-11577
2014-01-17Merge branch 'RoadRunnr/ecdh_crypto'Henrik Nord
* RoadRunnr/ecdh_crypto: crypto: selective support for GF2m curves ssl: add brainpool elliptic curves to TLS (RFC-7027) public_key: add brainpool elliptic curves (RFC-5639) crypto: document ec_curves/0 and ec_curve/1 crypto: add brainpool (RFC 5639) curves crypto: move elitic curve definitions from OpenSSL built-ins to Erlang crypto: add ECDH test vectors for more curves OTP-11578
2014-01-17erts: Refactor ESTACK & WSTACK to use a struct easy to "export"Sverker Eriksson
This is not a clean refactor. It changes the behaviour slightly of E/WSTACK_RESTORE. The allocated stack from E/WSTACK_SAVE is used as-is and not copied into default_stack. This will hopefully fix an illusive memory leak that valgrind is reporting.
2014-01-16Merge branch 'rickard/ts_install_mXX_build'Rickard Green
* rickard/ts_install_mXX_build: Teach ts_install --enable-mXX-build flag
2014-01-16Teach ts_install --enable-mXX-build flagRickard Green
Pick up --enable-m32-build and --enable-m64-build configure flags from the CONFIG_FLAGS environment variable and pass along to the ts configure script.
2014-01-16fix emacs erlang skeleton indentationSteve Vinoski
When inserting skeletons in emacs, some Erlang language elements such as case, receive, and if statements, are not indented properly. This patch, written by Leo Liu, corrects the indentation problems.
2014-01-16Merge branch 'maint'Björn-Egil Dahlberg
2014-01-16wx: Fix hanging wx callsDan Gudmundsson
wxWakeUpIdle doesn't always work on wxGTK and the workaround is to periodically invoke it, so the gui-thread doesn't get stuck in poll. Previously it was only called when NOT in batch mode, however if the wxWakeUpIdle call after a batch_begin command did not wake up the thread it would still get stuck in poll.
2014-01-16Update preloaded modulesBjörn Gustavsson
2014-01-16Add the 'rle' zstrategyBjörn Gustavsson