aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-02-18remove NIF compile warning: no previous prototype for ‘nif_init’Sverker Eriksson
2011-02-18Refuse to load NIF library on wrong VM variant (halfword/fullword)Sverker Eriksson
2011-02-03HALFWORD ETS match spec heap fragment optimizationSverker Eriksson
Introduce HAllocX to allocate heap fragments with a larger capacity than requested and by that reduce the number of fragments allocated.
2011-02-03HALFWORD ETS removed eheap and improved test case t_match_spec_runSverker Eriksson
2011-02-03HALFWORD ETS Further match spec optimization to minimize copying and garbageSverker Eriksson
2011-02-03HALFWORD ETS db_prog_match optimizationSverker Eriksson
2011-02-03HALFWORD ETS Fix segv for match spec with several function and guardsSverker Eriksson
Did not properly take care of case when TryMeElse restarted with next match clause.
2011-02-03HALFWORD Make system_info mseg_alloc report both low/high memSverker Eriksson
2011-02-03HALFWORD Fix segv caused by erlang:haltSverker Eriksson
Faulty use of term on C-stack in heap_dump()
2011-02-03HALFWORD Make more allocators use high mem (binary, fixed and driver)Sverker Eriksson
2011-02-03HALFWORD ETS 32-bit arch fixes and other cleanupsSverker Eriksson
2011-02-03HALFWORD ETS nicer update_elementSverker Eriksson
2011-02-03HALFWORD ETS Real matching on relative termsSverker Eriksson
2011-02-03HALFWORD first stab at high mem allocSverker Eriksson
2011-02-03HALFWORD ETS relative termsSverker Eriksson
In halfword emulator, make ETS use a variant of the internal term format that uses relative offsets instead of absolute pointers. This will allow storage in high memory (>4G). Preprocessor macros (like list_val_rel(TERM,BASE)) are used to make normal (fullword) emulator almost completely unchanged while still reusing most of the code.
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-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).