aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-02-10Verify that temp allocated memory is releasedRickard Green
2011-02-09Merge branch 'bjorn/beam-max-args/OTP-9049' into devBjörn Gustavsson
* bjorn/beam-max-args/OTP-9049: Refuse to compile functions with too many arguments Lower the maximum arity from 256 to 255
2011-02-09Merge branch 'bjorn/compiler/eliminate-warnings' into devBjörn Gustavsson
* bjorn/compiler/eliminate-warnings: compiler Makefile: Turn warnings into errors v3_kernel_pp: Add support for pretty-printing #k_literal{} records v3_kernel_pp: Eliminate warning
2011-02-07v3_codegen: Use the latest instance of StBjörn Gustavsson
By accident a previous instance of St is used, which is harmless in this case, but leads to worse quality of the generated code.
2011-02-03Merge branch 'ks/bs_add-fail-labels' into devNiclas Axelsson
* ks/bs_add-fail-labels: Fix translation of bs_add's fail labels OTP-9044
2011-02-03Fix translation of bs_add's fail labelsKostis Sagonas
2011-02-02compiler Makefile: Turn warnings into errorsBjörn Gustavsson
We want to ensure that the compiler applications is kept free of warnings.
2011-02-02v3_kernel_pp: Add support for pretty-printing #k_literal{} recordsBjörn Gustavsson
2011-02-02v3_kernel_pp: Eliminate warningBjörn Gustavsson
2011-01-26Merge branch 'uw/xmerl-expand-simple/OTP-9034' into devLars Thorsen
* uw/xmerl-expand-simple/OTP-9034: Track parents when expanding #xmlElement records
2011-01-25Merge branch 'maint-r14' into devNiclas Eklund
2011-01-24Merge branch 'ia/ssl-and-public_key/skip-tests-when-no-crypto-fix' into devIngela Anderton Andin
* ia/ssl-and-public_key/skip-tests-when-no-crypto-fix: Changed crypto start test so that it works as intended
2011-01-24Changed crypto start test so that it works as intendedIngela Anderton Andin
2011-01-24Track parents when expanding #xmlElement recordsUlf Wiger
The function xmerl_lib:expand_content/1 is mainly for expanding Simple XML, but can also handle xmerl records. This patch fixes an omission that caused expand_content/1 to not maintain the 'parents' list when expanding #xmlElement{} records. No test cases written, since the xmerl test suites have not yet been released.
2011-01-24Merge branch 'nick/orber/inet6_test_cases/OTP-9035' into maint-r14Erlang/OTP
* nick/orber/inet6_test_cases/OTP-9035: OTP-9035 - More tests added so that Orber does not try to run IPv6 tests on a machine than cannot handle that. This only affect test code and not the application.
2011-01-24Merge branch 'nick/ssh/sign-verify-binary' into maint-r14Erlang/OTP
* nick/ssh/sign-verify-binary: Updated appup file. Updated notes file. Changed year in copyright header. Added updated modules to the appup file. Improved error handling for ssh:connect/3/4. Release note contained wrong ticker number. OTP-8987 In some cases SSH returned {error, normal} when a channel was terminated unexpectedly. This has now been changed to {error, channel_closed}.
2011-01-24Merge branch 'nick/ensure_ssh_dir_exists/OTP-9010' into maint-r14Erlang/OTP
* nick/ensure_ssh_dir_exists/OTP-9010: Updated appup file. Updated notes file. Updated year in license. OTP-9010: ssh: ensure ~/.ssh exists
2011-01-24Merge branch 'nick/ssh/inet6_enetunreach/OTP-9031' into maint-r14Erlang/OTP
* nick/ssh/inet6_enetunreach/OTP-9031: Updated notes file. Added updated modules to the appup file. OTP-9031 - SSH did not handle the error reason enetunreach when trying to open a IPv6 connection.
2011-01-21Merge branch 'ia/ssl-and-public_key/skip-test-if-no-crypto' into devIngela Anderton Andin
* ia/ssl-and-public_key/skip-test-if-no-crypto: Skip ssl and public key tests if crypto fails to start
2011-01-20Skip ssl and public key tests if crypto fails to startIngela Anderton Andin
2011-01-20OTP-9035 - More tests added so that Orber does not try to run IPv6 testsNiclas Eklund
on a machine than cannot handle that. This only affect test code and not the application.
2011-01-20Merge branch 'maint-r14' into devIngela Anderton Andin
2011-01-20Merge branch 'ks/bs_start_match-fails' into devNiclas Axelsson
* ks/bs_start_match-fails: Fix erroneous fail info of a hipe_bs_primop OTP-9036
2011-01-20Updated appup file.Niclas Eklund
2011-01-20Updated appup file.Niclas Eklund
2011-01-20Updated notes file.Niclas Eklund
2011-01-20Updated notes file.Niclas Eklund
2011-01-20Updated notes file.Niclas Eklund
2011-01-20Merge branch 'maint-r14' of super:otp into nick/ensure_ssh_dir_exists/OTP-9010Niclas Eklund
2011-01-20Changed year in copyright header.Niclas Eklund
2011-01-20Updated year in license.Niclas Eklund
2011-01-20Added updated modules to the appup file.Niclas Eklund
2011-01-20Added updated modules to the appup file.Niclas Eklund
2011-01-18Refuse to compile functions with too many argumentsBjörn Gustavsson
2011-01-18Lower the maximum arity from 256 to 255Björn Gustavsson
Historically, for no good reason, a function is allowed to have from 0 to 256 arguments. Thus, the number of arguments *almost* fits into a byte. HiPE only supports up to 255 arguments (because it assumes that the function arity fits into a single byte), and fixing that limitation would require ugly special-case handling. In Dialyzer, the arity type is defined to be a byte (i.e. 0..255). Since no-one uses functions with 256 arguments anyway, lower the limit to 255.
2011-01-17OTP-9031 - SSH did not handle the error reason enetunreach when trying to ↵Niclas Eklund
open a IPv6 connection.
2011-01-17Merge branch 'bjorn/beam-loader/OTP-9030' into devBjörn Gustavsson
* bjorn/beam-loader/OTP-9030: (43 commits) c: Reduce memory footprint erl_posix_msg: Reduce memory footprint Introduce a few more variations of the move instructions Combine a move + jump sequence into the move_jump instruction Optimize and clean-up the exact equality/non-equality instructions Optimize addition of a small integer to a variable Introduce a special instruction for select_val with two values Introduce a few more specialized put_list instructions Eliminate the "put_list c n Dst" instructions Eliminate the specific move_sd instruction Eliminate use of GetArg1() in the badmatch and case_end instructions Eliminate use of GetArg2() in the i_element instruction Eliminate use of GetArg1() in the fast_element instruction Eliminate use of GetArg1() in the jump_on_val* instructions Eliminate use of GetArg1() in the select_val instruction beam_emu: Eliminate sloppy use of tmp_arg1 and tmp_arg2 beam_emu: Don't inline helper functions into process_main() beam_emu: Clean up calling of the error_handler module Simplify a select_val instruction that selects only one value Optimize creation of tuples ...
2011-01-17c: Reduce memory footprintBjörn Gustavsson
Use a binary instead of a string for the help text.
2011-01-17erl_posix_msg: Reduce memory footprintBjörn Gustavsson
Since the error messages in the erl_posix_msg module are presumably used very seldom, save memory by using binaries instead of strings.
2011-01-17Introduce a few more variations of the move instructionsBjörn Gustavsson
Frequency counts show that move Const x(1) move Const x(2) are very common.
2011-01-17Combine a move + jump sequence into the move_jump instructionBjörn Gustavsson
That will save one word and small amount of time for each occurrence.
2011-01-17Optimize and clean-up the exact equality/non-equality instructionsBjörn Gustavsson
The is_eq_exact/3 and is_ne_exact/3 instructions are commonly used with one immediate or literal operand. Introduce three new specialized instructions: i_is_eq_exact_literal/3 i_is_ne_exact_immed/3 i_is_ne_exact_literal/3 The i_is_ne_exact_literal/3 instruction is not very frequently used, but its existence is justified because we removed in a a previous commit the special instruction for matching bignums and we now use i_is_ne_exact_literal/3 instead. For consistency, rename the existing is_eq_immed/3 instruction to is_eq_exact_immed/3. While at it, remove the optimization of an is_eq/3 instruction with an immediate operand because that optimization is already done by the compiler.
2011-01-17Optimize addition of a small integer to a variableBjörn Gustavsson
Introduce a new i_increment/4 to optimize the addition of a register and a small integer. This instruction saves two instruction words compared to the standard instructions (an i_fetch/2 instruction followed by a i_plus/3 instruction) and will also be slightly faster.
2011-01-17Introduce a special instruction for select_val with two valuesBjörn Gustavsson
The new instruction will save one word (because no size operand is needed), and is slightly faster. Handle select_tuple_arity in the same way.
2011-01-17Introduce a few more specialized put_list instructionsBjörn Gustavsson
2011-01-17Eliminate the "put_list c n Dst" instructionsBjörn Gustavsson
Since the literal (constant) pool was introduced in R12, the BEAM compiler will never generate a "put_list Const [] Dst" instruction (it will instead generate a "move [Const] Dst" instruction).
2011-01-17Eliminate the specific move_sd instructionBjörn Gustavsson
The move_sd specific instruction is no longer used since there are specific move instructions covering all possible permutations of operands. Also eliminate the move_cy instruction because it is almost never generated by the compiler.
2011-01-17Eliminate use of GetArg1() in the badmatch and case_end instructionsBjörn Gustavsson
Create separate instructions for each register type. The "badmatch x(0)" and "case_end x(0)" (which are very common) will only require a single word each, compared to two words when GetArg1() is used.
2011-01-17Eliminate use of GetArg2() in the i_element instructionBjörn Gustavsson
Use separate instructions for each register type.
2011-01-17Eliminate use of GetArg1() in the fast_element instructionBjörn Gustavsson
Use separate instructions for each register type.