aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-01-17BEAM loader: Pack more instructions using a new 'Q' typeBjörn Gustavsson
Introduce a new 'Q' type, similar to 'P' except that it can be packed.
2011-01-17If the wordsize is 64 bits, pack up to 4 operands into a wordBjörn Gustavsson
In the 32-bit BEAM emulator, it is only possible to pack 3 register operands into one word. Therefore, the move2 instruction (that has 4 operands) needs two words for its operands. Take advantage of the larger wordsize in the 64-bit emulator and pack up to 4 operands into a single word.
2011-01-17Pass the external word size to the beam_makeops scriptBjörn Gustavsson
Giving the beam_makeops script access to the external word size (=the size of instruction words) will allow it to pack more operands into a word for the 64 bits emulator.
2011-01-17BEAM loader: Combine is_type/1 and is_eq/1 instructionsBjörn Gustavsson
In the transformation engine in the loader, an is_eq/1 instruction is currently always preceded by an is_type/1 instruction. Therefore, save a word and slight amount of time by combining those instructions into an is_type_eq/2 instruction.
2011-01-17BEAM loader: Omit type tests for instructions that don't need themBjörn Gustavsson
2011-01-17beam_debug: Fix dissambly of some variable-operand instructionsBjörn Gustavsson
The i_jump_on_val_zero/3 and i_select_tuple_arity/3 instructions were not disassembled correctly.
2011-01-17beam_debug: Change one occurrence of "X[0]" to "x[0]" for consistencyBjörn Gustavsson
2011-01-17beam_makeops: Allow -pack and -nonext to be combinedBjörn Gustavsson
2011-01-17beam_makeops: Relax requirements for having specific instructionsBjörn Gustavsson
2011-01-17BEAM loader: Fix bug in handling of "rest" argumentsBjörn Gustavsson
It would only really work in simple case like: select_val S=q Fail=f Size=u Rest=* => ... where all operands for a single instruction where bound to variables, and not for more complicated cases such as: i_put_tuple Dst Arity Puts=* | put PutSrc => ...
2011-01-17Remove the last vestiges of the allocating fmove/2 instructionBjörn Gustavsson
There was a version of the BEAM loader and emulator that had two versions of the fmove/2 instruction, one version that allocated heap space internally and a newer version that assumed that a previous test_heap/2 instruction had already allocated the heap space. Though the allocating fmove/2 instruction is no longer supported, some vestiges of it still remains.
2011-01-17Makefile.in: Add dependency for files generated by util/beam_makeopsBjörn Gustavsson
2011-01-17Add utils/count for counting the static instruction frequencyBjörn Gustavsson
2011-01-17Add erts_debug:instructions/0 for listing all specific instructionsBjörn Gustavsson
erts_debug:instructions/0 is useful for finding which specific instructions that are not used at all.
2010-12-08Update version numbersBjörn-Egil Dahlberg
2010-12-07Merge branch 'pan/doc-md-panic-fix' into devOTP_R14B01Patrik Nyblom
* pan/doc-md-panic-fix: Workaround for ampersands in INSTALL-WIN32.md
2010-12-07Workaround for ampersands in INSTALL-WIN32.mdPatrik Nyblom
2010-12-06Prepare releaseErlang/OTP
2010-12-06Merge branch 'mc/dialyzer-doc' into devNiclas Axelsson
* mc/dialyzer-doc: dialyzer: Update documentation
2010-12-06dialyzer: Update documentationMaria Christakis
2010-12-06Merge branch 'rickard/rwmutex-bug/OTP-8925' into devRickard Green
* rickard/rwmutex-bug/OTP-8925: Fix erroneous assertion
2010-12-06Fix erroneous assertionRickard Green
2010-12-03Merge branch 'sverker/ets_compress/OTP-8922' into devSverker Eriksson
* sverker/ets_compress/OTP-8922: Fix ets_SUITE:types to not fail due to false mem leaks
2010-12-03Fix ets_SUITE:types to not fail due to false mem leaksSverker Eriksson
Waiting for table sys_dist to stablize after slave node has been stopped.
2010-12-03Merge branch 'pan/inet6_corrections/OTP-8969' into devRaimo Niskanen
* pan/inet6_corrections/OTP-8969: Stop using uncertain flags for getaddrinfo() Teach inet_test_lib to understand enetunreach Make windows inet_gethost work for ipv6
2010-12-03Update preloaded modulesPatrik Nyblom
2010-12-03Update primary bootstrapPatrik Nyblom
2010-12-03Merge branch 'ks/erl_bif_types-cleanup/OTP-8961' into devPatrik Nyblom
* ks/erl_bif_types-cleanup/OTP-8961: Fix type information of 'file' and 'code' modules Conflicts: lib/hipe/cerl/erl_bif_types.erl
2010-12-03Merge branch 'pan/unicode-filenames/OTP-8887' into devPatrik Nyblom
* pan/unicode-filenames/OTP-8887: (27 commits) Test and correct filelib and filename Add documentation to erlang.xml and slight correction to unicode_usage.xml Add section about Unicode file names to stdlib users guide Correct bug in file_name_SUITE making it fail on Unix instead of Windows7 Add documentation about raw filenames and Unicode file name translation mode Make filelib not crash on re codepoints beyond 255 in re when filename is raw Mend on_load_embedded testcase which did not handle windows links Correct testcase regarding windows versions supporting soft links. Teach filelib to use re in unicode mode when filenames are not raw Treat soft links on Windows correctly in file_name_SUITE Adapt new soft and hard link routines on Windos to Unicode Corrected testcases broken by unicode filenames Update preloaded prim_file Teach prim_file not to accept atoms and not to throw exceptions Adapt inet_drv to Visual Studio 2008 Teach spawn_executable about Unicode Convert filenames read on MacOSX to canonical form Teach file to accept codepoints beyond 255. Add testcases Correct shell utilities to handle unicode and possibly binaries ...
2010-12-03Merge branch 'lukas/common_test/extend_timeout_for_win' into devLukas Larsson
* lukas/common_test/extend_timeout_for_win: Update the support init_per_suite to extend the timeout for starting a slave node on windows.
2010-12-03Test and correct filelib and filenamePatrik Nyblom
2010-12-03Merge branch 'lukas/common_test/parallel_group_tc_fix/OTP-8921' into devLukas Larsson
* lukas/common_test/parallel_group_tc_fix/OTP-8921: Fix bug in verification where a tc_done/start event which was generated inbetween a tc_start and tc_done of a init_per_group could caused the validation to fail
2010-12-03Fix bug in verification where a tc_done/start event which was generated ↵Lukas Larsson
inbetween a tc_start and tc_done of a init_per_group could caused the validation to fail
2010-12-03Merge branch 'rickard/rwmutex-bug/OTP-8925' into devRickard Green
* rickard/rwmutex-bug/OTP-8925: Use correct argument types on rwlock_wake_set_flags()
2010-12-03Add documentation to erlang.xml and slight correction to unicode_usage.xmlPatrik Nyblom
2010-12-03Update the support init_per_suite to extend the timeout for starting a slave ↵Lukas Larsson
node on windows.
2010-12-03Merge branch 'dc/update-INSTALL-WIN32.md' into devBjörn Gustavsson
* dc/update-INSTALL-WIN32.md: Doc update to latest dependencies & how to compile with free VS2008 Express
2010-12-02Update primary bootstrapBjörn Gustavsson
2010-12-02Merge branch 'bjorn/fix-compiler-bugs/OTP-8949' into devBjörn Gustavsson
* bjorn/fix-compiler-bugs/OTP-8949: beam_utils: Fix check_liveness/3 for receive loops beam_utils: Fix liveness analysis for gc_bif instructions
2010-12-02Merge branch 'raimo/windows-file-append-testcase' into devRaimo Niskanen
* raimo/windows-file-append-testcase: Run KERNEL file_SUITE:large_file on more platforms Add test case for append to file > 4 GB
2010-12-02beam_utils: Fix check_liveness/3 for receive loopsBjörn Gustavsson
Sometimes the beam_bool pass wants to know whether an y register will be killed by the code that follows and will do (effectively): beam_utils:is_killed({y,Y}, Code, L) When asked to calculate the liveness for an y register, beam_utils:is_killed/3 will loop forever if the code includes a receive loop. Since this rarely occurs, fix the problem in the simplest and most conservative way. Reported-by: Christopher Williams
2010-12-02Add section about Unicode file names to stdlib users guidePatrik Nyblom
2010-12-02Stop using uncertain flags for getaddrinfo()Raimo Niskanen
The AI_V4MAPPED flag is falling out of grace in modern IPv6 stacks, for security reasons, e.g. FreeBSD do not document it any longer. The AI_ADDRCONFIG flag have got unclear semantics on the same OS.
2010-12-02Teach inet_test_lib to understand enetunreachPatrik Nyblom
2010-12-02Merge branch 'kenneth/asn1/driver_handler_race/OTP-8948' into devBjörn-Egil Dahlberg
* kenneth/asn1/driver_handler_race/OTP-8948: Correct a race-condition during loading of driver
2010-12-02Use correct argument types on rwlock_wake_set_flags()Rickard Green
2010-12-02Merge branch 'ks/dialyzer/support-multiple-plts' into devBjörn-Egil Dahlberg
* ks/dialyzer/support-multiple-plts: dialyzer: Add support for multiple PLTs OTP-8962
2010-12-02Merge branch 'ia/odbc/app-upp/odbc-2.10.9' into devIngela Anderton Andin
* ia/odbc/app-upp/odbc-2.10.9: Prepare for release
2010-12-02Merge branch 'ia/public_key/app-upp/public_key-0.10' into devIngela Anderton Andin
* ia/public_key/app-upp/public_key-0.10: Prepare for release
2010-12-02Merge branch 'ia/ssl/app-upp/ssl-4.1.1' into devIngela Anderton Andin
* ia/ssl/app-upp/ssl-4.1.1: Prepare for release