aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
AgeCommit message (Collapse)Author
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-22Merge branch 'rickard/r16b/port-leak/OTP-10809'Rickard Green
* rickard/r16b/port-leak/OTP-10809: Fix port structure leak when hitting system limit
2013-02-22Merge branch 'sverk/win-64-pointer-fix'Sverker Eriksson
* sverk/win-64-pointer-fix: erts: Correct term type for printf %T erts: Correct internal printf integer type for win64 erts: Correct some printf type formatting erts: Fix type bug in get_proc_affinity for windows OTP-10887 Forgot this ticket for sverk/erlang_pid-revert: OTP-10885
2013-02-22Merge branch 'pan/unicode_printable_ranges'Patrik Nyblom
* pan/unicode_printable_ranges: Adapt stdlib tests to ~tp detecting latin1 binaries Update primary bootstrap Make wx debugger use +pc flag when applicable Correct misspelled comments and space at lin ends Make ~tp output latin1 binaries as strings if possible Leave the +pc handling to io and io_lib_pretty Remove newly introduced warning in erlexec.c Make shell_SUITE:otp_10302 use +pc unicode when needed Fix io_proto_SUITE to handle the new io_lib_pretty:print Add testcase for +pc and io:printable_range/0 Make printing of UTF-8 in binaries behave like lists. Document +pc flag and io:printable_range/0 Add usage of and spec for io:printable_range/0 Add +pc {latin1|unicode} switch and io:printable_range/0 Fix some Unicode issues OTP-18084
2013-02-21Merge branch 'rickard/r16b/thread-queue-fix/OTP-10854'Rickard Green
* rickard/r16b/thread-queue-fix/OTP-10854: Fix lost enqueue notification Use dirty read instead of union which can be unsafe on some platforms Add atomic dirty read and dirty set operations
2013-02-21erts: Correct term type for printf %TR. Blaine Whittle
2013-02-21erts: Correct internal printf integer type for win64R. Blaine Whittle
2013-02-21Merge branch 'lukas/erts/fix_non_smp_shell_sws/OTP-10661'Lukas Larsson
* lukas/erts/fix_non_smp_shell_sws/OTP-10661: Fix bug where +sws proposal was still allowed to be set
2013-02-21Fix port structure leak when hitting system limitRickard Green
2013-02-21Merge branch 'rickard/thread-queue-fix/OTP-10854' into ↵Rickard Green
rickard/r16b/thread-queue-fix/OTP-10854 Conflicts: erts/emulator/beam/erl_threads.h
2013-02-21Fix lost enqueue notificationRickard Green
2013-02-21Use dirty read instead of union which can be unsafe on some platformsRickard Green
2013-02-20Merge branch 'egil/fix-atom-hash/OTP-10860'Björn-Egil Dahlberg
* egil/fix-atom-hash/OTP-10860: tests: Testing hash values of unicode atoms erts: Fix atom hash for latin1 characters tests: Add latin1 chars atom test
2013-02-20erts: Correct some printf type formattingSverker Eriksson
Using %p, %bpx and %bex for pointers, UWords and Uint.
2013-02-19Fix bug where +sws proposal was still allowed to be setLukas Larsson
This only applied to non-smp systems
2013-02-19erts: Fix atom hash for latin1 charactersBjörn-Egil Dahlberg
Non ASCII latin1 characters were hashed as utf8 which breaks compatability.
2013-02-18erts: Fix code:is_module_nativeSverker Eriksson
code:is_module_native returned false for hipe compiled module if the first function in the module was a BIF stub
2013-02-18Add +pc {latin1|unicode} switch and io:printable_range/0Patrik Nyblom
This is the base for implementing configurable ~tp printouts, so that the user can define which characters to view as actually printable in the shell and by io_lib:format. The functionality is neither documented nor used in this commit
2013-02-18Add atomic dirty read and dirty set operationsRickard Green
2013-02-14Merge branch 'rickard/erl_drv_consume_timeslice/OTP-10810'Rickard Green
* rickard/erl_drv_consume_timeslice/OTP-10810: Implement erl_drv_consume_timeslice()
2013-02-14Merge branch 'rickard/r16b/port-optimizations-fixes/OTP-10809'Rickard Green
* rickard/r16b/port-optimizations-fixes/OTP-10809: Add erl_drv_busy_msgq_limits() to driver API on Windows Fix driver port accesses Fix port exit
2013-02-14Merge branch 'lukas/erts/binary_conv_bifs/OTP-10300'Lukas Larsson
* lukas/erts/binary_conv_bifs/OTP-10300: erts: Remove ?line macro from hash_SUITE Add float_to_binary and binary_to_float Add new binary conversion bifs
2013-02-14Add float_to_binary and binary_to_floatLukas Larsson
2013-02-14Add new binary conversion bifsLukas Larsson
Added: binary_to_integer/1,2, integer_to_binary/1,2
2013-02-13Merge branch 'sverk/nif-cut-timeslice'Sverker Eriksson
* sverk/nif-cut-timeslice: erts: Add enif_consume_timeslice OTP-10810
2013-02-13erts: Add enif_consume_timesliceSverker Eriksson
2013-02-13Merge branch 'egil/enhance-mseg-cache/OTP-10840'Björn-Egil Dahlberg
* egil/enhance-mseg-cache/OTP-10840: erts: Utilize even more cached sbc segments erts: Prefer sbc segment caching over mbc segments erts: Segment allocator CircleQ API erts: Increase default #cached segments to 10 erts: Evict old cached segments for newer ones erts: Refactor mseg cache
2013-02-13Merge branch 'lukas/erts/add_sha_to_shell_title/OTP-10838'Lukas Larsson
* lukas/erts/add_sha_to_shell_title/OTP-10838: Include git sha in prompt if available
2013-02-13Include git sha in prompt if availableLukas Larsson
The sha will only be included if there is no tag starting with OTP_R* associated with the sha. This is because we do not want the sha to show on offical releases.
2013-02-13Merge branch 'saleyn/float_to_list_2/OTP-10837'Lukas Larsson
* saleyn/float_to_list_2/OTP-10837: Fix memory leak in error case Use macros instead of constants float_to_list/2 changed rounding and cosmetic cleanup
2013-02-13Implement erl_drv_consume_timeslice()Rickard Green
2013-02-13Fix driver port accessesRickard Green
2013-02-12Merge branch 'pan/unicode_filename_warnings'Björn Gustavsson
* pan/unicode_filename_warnings: Add file:list_dir_all/1 and file:read_link_all/1 prim_file: Add list_dir_all() and read_link_all() Teach prim_file:set_cwd() to avoid entering non-translatable directories Make prim_file skip invalid filenames in unicode mode prim_file: Refactor functions that return filenames prim_file: Refactor handling of responses prim_file: Always open non-file ports in binary mode Test that list_dir("non-existing-dir") fails with the correct error
2013-02-11erts: Evict old cached segments for newer onesBjörn-Egil Dahlberg
2013-02-11Teach prim_file:set_cwd() to avoid entering non-translatable directoriesBjörn Gustavsson
We have decided that we don't want to deal with the compilations of prim_file:get_cwd() returning a binary when the current directory name cannot be translated losslessly to a list (i.e. when the run-time system was started with +fnu and the current directory name contains bytes that are not part of a valid UTF-8 sequence). Therefore, if prim_file:set_cwd() is given a binary as the pathname, we will need to check the binary to make sure it can be translated to a list. We will introduce a new BIF, called prim_file:is_translatable/1, which will check both filename encoding mode, and if it is one of Unicode modes, the binary as well. We don't need to do anything special if prim_file:set_cwd() is passed a list.
2013-02-11Make prim_file skip invalid filenames in unicode modePatrik Nyblom
The fix affects list_dir and read_link. Raw filenames are now never produced, just consumed even if +fnu or +fna is used on Linux etc. This also adds the options to get error return or error handler warning messages with +fn{u|a}{i|w|e} as an option to erl. This is still not documented and there needs to be other versions of read_dir and read_link to facilitate reading of all types of filenames and links. A check that we will not change to an invalid directory is also needed.
2013-02-10Merge branch 'bjorn/compiler/crash/OTP-10794'Björn Gustavsson
* bjorn/compiler/crash/OTP-10794: BEAM loader: Handle element(Pos, not_a_tuple)
2013-02-08Merge branch 'sverk/packet-http-string-maxlen'Sverker Eriksson
* sverk/packet-http-string-maxlen: erts: Increase length of well formed header names from {packet,http} OTP-10824
2013-02-07float_to_list/2 changed rounding and cosmetic cleanupSerge Aleynikov
Changed rouding to round half-way up instead of down. Cosmetic cleanup and error handling of additional edge cases.
2013-02-07BEAM loader: Handle element(Pos, not_a_tuple)Björn Gustavsson
The loader failed to load non-optimized BEAM code generated from: element(2, not_a_tuple) Commit ece4c17d2288a3161c995 introduced such code into core_fold_SUITE, leading to core_fold_no_opt_SUITE and core_fold_post_opt_SUITE failing to load.
2013-02-06erts: Increase length of well formed header names from {packet,http}Sverker Eriksson
To ease matching of unrecognized header field names we convert them from case insensitive to the format Sec-Websocket-Version with capital letters only first and after hyphens. Earlier only header names up to 20 characters were converted to this format due to internal buffer limitation. Raising this limit to 50 is a pragmatic solution for existing long header names such as Sec-Websocket-Version, while valid header names longer than 50 characters are not very probable.
2013-02-01Fix port exitRickard Green
2013-01-31compiler: Use the literal pool for floating point constantsBjörn Gustavsson
The BEAM loader will put floating point constants into the literal pools for the module, but it will not check for duplicates. We can do much better by having the compiler use the literal pool for floating point constants.
2013-01-29Merge branch 'rickard/r16/port-optimizations/OTP-10336'Rickard Green
* rickard/r16/port-optimizations/OTP-10336: Fix spelling in communication.xml Fix unmanaged thread progress delay
2013-01-29Fix unmanaged thread progress delayRickard Green
2013-01-28Merge branch 'sverk/ets-write_concurrency-locks'Sverker Eriksson
* sverk/ets-write_concurrency-locks: erts,stdlib: Increase number of locks for write_concurrency OTP-10787
2013-01-28Merge branch 'sverk/code_write_permission-assert'Sverker Eriksson
* sverk/code_write_permission-assert: erts: Fix ASSERT crash in erts_try_seize_code_write_permission
2013-01-28erts: Fix ASSERT crash in erts_try_seize_code_write_permissionSverker Eriksson
ASSERT(code_writing_process != c_p); The assert was actually harmless and could be removed as one solution. But I think it's better to keep it as a way to catch bugs that would otherwise lead to horrible deadlocks if a thread "forgets" to call erts_release_code_write_permission(). As a result erts_release_code_write_permission() must be called BEFORE resuming the suspended process.
2013-01-28Merge branch 'sverk/enc_atom-opt'Sverker Eriksson
* sverk/enc_atom-opt: erts: Optimize atom encoding to use memcpy for pure ascii erts: Refactor erts_atom_get to use ErtsAtomEncoding
2013-01-28Fix memory leak in driver call functionalityLukas Larsson