aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-01-12Update primary bootstrapBjörn Gustavsson
2015-01-12Merge branch 'bjorn/compiler/beam_dead/OTP-12393'Björn Gustavsson
* bjorn/compiler/beam_dead/OTP-12393: Update the comments that explain what beam_dead does Improve optimization of bs_start_match2 Extend count_bits_matched/3 to handle the UTF instructions misc_SUITE: Cover the exception handling code in beam_dead Generalize optimizations using shortcut_rel_op/4 beam_dead: Optimize branches from relational conditionals
2015-01-12Update the comments that explain what beam_dead doesBjörn Gustavsson
2015-01-09Improve optimization of bs_start_match2Björn Gustavsson
2015-01-09Extend count_bits_matched/3 to handle the UTF instructionsBjörn Gustavsson
While we are, clean up the comments and rearrange the code for clarity. Also add a test to cover the last uncovered line in beam_dead.erl.
2015-01-09misc_SUITE: Cover the exception handling code in beam_deadBjörn Gustavsson
Amend the test suite to call beam_dead as originally intended (and not beam_block), and modify the input data so that the exception will occur within the try ... catch block in function/2.
2015-01-09Generalize optimizations using shortcut_rel_op/4Björn Gustavsson
Better optimizations with less code.
2015-01-09beam_dead: Optimize branches from relational conditionalsBjörn Gustavsson
The BEAM compiler translates code such as: is_hex_digit(D) when $0 =< D, D =< $9 -> true; is_hex_digit(D) when $a =< D, D =< $z -> true; is_hex_digit(D) when $A =< D, D =< $Z -> true; is_hex_digit(_) -> false. to something like this: L0: test is_ge L1 {x,0} 48 test is_ge L1 57 {x,0} move true {x,0} return. L1: test is_ge L2 {x,0} 97 test is_ge L2 122 {x,0} move true {x,0} return L2: test is_ge L3 {x,0} 65 test is_ge L3 90 {x,0} move true {x,0} return L3: move false {x,0} return We can see that tests will be repeated even if they cannot possibly succeed. For instance, if we pass in {x,0} equal to 32, the first test that {x,0} is greater than or equal to 48 at L0 will fail. The control will transfer to L1, where it will be tested whether {x,0} is greater than 97. That test will fail and control will pass to L2, where again the test will fail. The compiler can do better by short-circuiting repeating tests: L0: test is_ge L3 {x,0} 48 test is_ge L1 57 {x,0} move true {x,0} return. L1: test is_ge L2 {x,0} 97 test is_ge L3 122 {x,0} move true {x,0} return L2: test is_ge L3 {x,0} 65 test is_ge L3 90 {x,0} move true {x,0} return L3: move false {x,0} return
2015-01-07Merge branch 'maint'Marcus Arendt
2015-01-07Merge branch 'tombenner/doc_fixes' into maintMarcus Arendt
* tombenner/doc_fixes: Fix grammar and formatting issues Fix typo ("to use to use") Add a comma after "For example" when appropriate Use colons before <code> when appropriate Move periods inside parenthetical sentences Add an apostrophe to contractions of "let us"
2015-01-07Merge branch 'derek121/mnesia-doc-fixes' into maintMarcus Arendt
* derek121/mnesia-doc-fixes: Fix grammar
2014-12-29Merge branch 'lemenkov/use_os_getenv_2'Marcus Arendt
* lemenkov/use_os_getenv_2: fix missing include Start using os:getenv/2 fun Introduce os:getenv/2
2014-12-28Fix grammar and formatting issuesTom Benner
2014-12-28Fix typo ("to use to use")Tom Benner
2014-12-28Add a comma after "For example" when appropriateTom Benner
2014-12-28Use colons before <code> when appropriateTom Benner
2014-12-28Move periods inside parenthetical sentencesTom Benner
2014-12-27Add an apostrophe to contractions of "let us"Tom Benner
2014-12-26Fix grammarDerek Brown
2014-12-22Merge branch 'maint'Bruce Yinhe
2014-12-22Merge branch 'mikpe/fix-eacces-spelling' into maintBruce Yinhe
* mikpe/fix-eacces-spelling: fix eacces spelling
2014-12-22Merge branch 'arekinath/aes-evp/OTP-12380'Marcus Arendt
* arekinath/aes-evp/OTP-12380: crypto: use EVP for AES-CBC
2014-12-19fix missing includeMarcus Arendt
2014-12-19Merge branch 'lukas/erts/crashdump_improvements/OTP-12377'Lukas Larsson
* lukas/erts/crashdump_improvements/OTP-12377: erts: Make main thread safe from pipe closed event erts: Improve crash dumps erts: Rename sys_sigset to sys_signal erts: Introduce thread suspend functions erts: Remove usage of QUANTIFY signal erts: Add support for thread names ets: Increase data available in crash dumps and ets:info erts: Start compilation of beam_emu earlier
2014-12-19erts: Make main thread safe from pipe closed eventLukas Larsson
2014-12-19erts: Improve crash dumpsLukas Larsson
This commit improves crash dumps in several ways: * Suspends schedulers to get a current snapshot * Dumps information about scheduler * Dumps stack trace of current running process (including Garbing processes)
2014-12-19erts: Rename sys_sigset to sys_signalLukas Larsson
Also removed old legacy fallback that is no longer used
2014-12-19erts: Introduce thread suspend functionsLukas Larsson
These functions allow any thread to suspend any other thread immediately and then resume all threads. This is useful when doing a crash dump in order to get a more accurate picture of what state the system is in.
2014-12-19erts: Remove usage of QUANTIFY signalLukas Larsson
2014-12-19erts: Add support for thread namesLukas Larsson
2014-12-19ets: Increase data available in crash dumps and ets:infoLukas Larsson
OTP-12376
2014-12-19Merge branch 'maint'Hans Nilsson
2014-12-19Merge branch 'hans/eldap/bad_return_close/OTP-12349' into maintHans Nilsson
* hans/eldap/bad_return_close/OTP-12349: eldap: Remove trailing white space. eldap: Test cases for a few return values (open, close) eldap: updated eldap:close in tests eldap: Makes close/1 return as documented.
2014-12-19eldap: fix merge conflictHans Nilsson
2014-12-19Merge branch 'hans/eldap/test_improvents/OTP-12355' into maintHans Nilsson
* hans/eldap/test_improvents/OTP-12355: eldap: Corrects SSL over IPv6 test. eldap: Removes eldap_misc_SUITE that is now included in eldap_basic_SUITE. eldap: Add encode/decode tests. eldap: Merge eldap_connections_SUITE into eldab_basic_SUITE eldap: Adds ssl to connections test suite eldap: Updates basic test suite - Splits one large testcase into smaller ones. - Makes tests independent - Adds some tests.
2014-12-18Merge branch 'maint'Bruce Yinhe
2014-12-18Merge branch 'haguenau/fix-endianness-speling' into maintBruce Yinhe
* haguenau/fix-endianness-speling: Replaced "Endianess" with "Endianness" everywhere
2014-12-17eldap: Remove trailing white space.Hans Nilsson
2014-12-17eldap: Test cases for a few return values (open, close)Hans Nilsson
2014-12-17eldap: updated eldap:close in testsHans Nilsson
2014-12-17eldap: Makes close/1 return as documented.Hans Nilsson
2014-12-17eldap: Corrects SSL over IPv6 test.Hans Nilsson
2014-12-17eldap: Removes eldap_misc_SUITE that is now included in eldap_basic_SUITE.Hans Nilsson
2014-12-17eldap: Add encode/decode tests.Hans Nilsson
2014-12-17eldap: Merge eldap_connections_SUITE into eldab_basic_SUITEHans Nilsson
2014-12-17 eldap: Adds ssl to connections test suiteHans Nilsson
2014-12-17eldap: Updates basic test suiteHans Nilsson
- Splits one large testcase into smaller ones. - Makes tests independent - Adds some tests.
2014-12-17Merge branch 'maint'Ingela Anderton Andin
2014-12-17Merge branch 'ia/ssh/ssh-connection-protocol-timeout/OTP-12004' into maintIngela Anderton Andin
* ia/ssh/ssh-connection-protocol-timeout/OTP-12004: ssh: Improve errorhandling in ssh_connection.erl
2014-12-17ssh: Improve errorhandling in ssh_connection.erlIngela Anderton Andin
If a channel is closed by the peer while using a function with call semantics in ssh_connection.erl return {error, closed}. Document that the functions can return {error, timeout | closed} and not only ssh_request_status()