aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2012-08-17Relocate bodies of DTrace probes to the statically-linked VM.Scott Lystig Fritchie
Due to various operating systems (in both the DTrace and SystemTap worlds) not fully supporting DTrace probes (or SystemTap-compatibility mode probes) in shared libraries, we relocate those probes to the statically-linked virtual machine. This could be seen as pollution of the pristine VM by a (yet) experimental feature. However: 1. This code can be eliminated completely by the C preprocessor. 2. Leaving the probes in the dyntrace NIF shared library simply does not work correctly on too many platforms. *Many* thanks to Macneil Shonle at Basho for assisting when my RSI-injured fingers gave out. Tested on: * CentOS 5, SystemTap 1.3 * Solaris 10 (note) * Solaris 11 * OpenIndiana 151 * SmartOS 20120809T221258Z * FreeBSD 9.0-RELEASE (note) I had hoped to be able to test CentOS 6 + SystemTap 1.7, but the details of dealing with all dependencies for a 2.6.32-279.5.1.el6.x86_64 kernel are too time consuming right now. (note: Solaris 10 and FreeBSD 9.0-RELEASE can take a long time to compile)
2012-08-15Merge branch 'gustav/asn1/enumerated_n2n/OTP-10144' into maintGustav Simonsson
* gustav/asn1/enumerated_n2n/OTP-10144: Add support for extensible enumeration types in n2n generated functions. Make n2n option work for enumerated types without extension markers. Add test enumeration types for testing n2n option when using the name2num and num2name functions on an enumeration value not in the extension root of an enumeration type with extension marker.
2012-08-15Merge branch 'gustav/asn1/integer_single_value_predefined/OTP-10139' into maintGustav Simonsson
* gustav/asn1/integer_single_value_predefined/OTP-10139: In generation of encoding functions for enumeration types, the values used for generating the range check in case of a value range should be sorted and have duplicates removed. Add sorting in constraint checking on single values. Conflicts: lib/asn1/test/testConstraints.erl
2012-08-15Merge branch 'gustav/asn1/per_integer_ranges/OTP-10128' into maintGustav Simonsson
* gustav/asn1/per_integer_ranges/OTP-10128: Keep encoded octets of constrained whole number value and range as binaries and use erlang:byte_size to get length of octets and range. For speed. Add support for larger integer ranges in per encode/decode
2012-08-15Merge branch 'gustav/kernel/packages-docs-empty-func' into maintGustav Simonsson
* gustav/kernel/packages-docs-empty-func: Remove empty function in packages docs
2012-08-15Update primary bootstrapBjörn Gustavsson
2012-08-15Fix broken building of bootstrap compilerBjörn Gustavsson
Commit df8e67e203b83f95d1e098fec88ad5d0ad840069 broke "./otp_build update_primary" because epp:parse_file/4 was added and used from the compiler, but the epp module is not part of the primary compiler that is used to compile the bootstrap compiler. Fix the problem by including the epp module in the primary compiler.
2012-08-15Merge branch 'bjorn/compiler/minor-fixes/OTP-10185' into maintBjörn Gustavsson
* bjorn/compiler/minor-fixes/OTP-10185: erl_lint: Add a deprecated warning for literal tuple funs beam_utils:live_opt/1: Correct handling of try_case_end/1 Correct guard_SUITE_tuple_size.S beam_type: Print the offending function if this pass crashes beam_validator: Validate the size operand in bs_init_bits and bs_init2
2012-08-15erl_lint: Add a deprecated warning for literal tuple funsBjörn Gustavsson
The run-time warning for use of tuple funs will not catch the use of literal tuple funs, such as: if {erlang,'+'}(3,X) =:= 0 -> true; true -> false end. Therefore, add a compile-time warning to give users some warning before they stop working in R16.
2012-08-15beam_utils:live_opt/1: Correct handling of try_case_end/1Björn Gustavsson
Liveness for the try_case_end/1 instruction should be calculated in the same way as for the case_end/1 instruction.
2012-08-15Correct guard_SUITE_tuple_size.SBjörn Gustavsson
The number of live registers in the gc_bif instructions was wrong. It was not noticed because the beam_type pass silently corrected it.
2012-08-15beam_type: Print the offending function if this pass crashesBjörn Gustavsson
2012-08-15beam_validator: Validate the size operand in bs_init_bits and bs_init2Björn Gustavsson
2012-08-14Remove empty function in packages docsGustav Simonsson
2012-08-14Merge branch 'tja/fix-base' into maintFredrik Gustafsson
2012-08-14Merge branch 'nox/compile-column-numbers' into maintFredrik Gustafsson
* nox/compile-column-numbers: Fix messages ordering with column numbers Fix type compile:err_info/0 Test column number reporting in error_SUITE Fix printing of errors with column numbers Create a new "column" option in compile Allow setting of initial position in epp Export type erl_scan:location/0
2012-08-13Merge branch 'mh/doc-now-vs-timestamp/OTP-10180' into maintFredrik Gustafsson
* mh/doc-now-vs-timestamp/OTP-10180: Doc fix: link from erlang:now/0 to os:timestamp/0
2012-08-13Merge branch 'mh/emacs-mode/atom-dollar/OTP-10178' into maintFredrik Gustafsson
* mh/emacs-mode/atom-dollar/OTP-10178: Fix highlighting of atoms ending with a dollar sign
2012-08-10Merge branch 'rc/eunit-2.2.3/OTP-10173' into maintFredrik Gustafsson
* rc/eunit-2.2.3/OTP-10173: Include fixture setup and cleanup errors in Eunit Surefire report documentation fixes add {test,M,F} as a better variant of {M,F} and make the latter obsolete minor cleanup Write chars as UTF-8 to file detect and report bad return values from generators and instantiators eunit_tests should not be listed in eunit.app improved layout of error messages - stack trace before error term bumped revision make stack trace pruning know about the new format Make EUnit print stacktraces with location information Add option 'no_tty' to silent the default tty report
2012-08-10Include fixture setup and cleanup errors in Eunit Surefire reportMagnus Henoch
An error during fixture setup means that some tests could not be run, and therefore needs to be highlighted in the test report. Likewise, a cleanup failure is often a problem that needs to be looked into. Since setup and cleanup are not part of any single test in Eunit's view, I include them as phantom test cases in the report whenever they fail.
2012-08-10documentation fixesRichard Carlsson
2012-08-10add {test,M,F} as a better variant of {M,F} and make the latter obsoleteRichard Carlsson
2012-08-10minor cleanupRichard Carlsson
2012-08-10Write chars as UTF-8 to fileLukas Larsson
2012-08-10detect and report bad return values from generators and instantiatorsRichard Carlsson
2012-08-10eunit_tests should not be listed in eunit.appRichard Carlsson
2012-08-10improved layout of error messages - stack trace before error termRichard Carlsson
2012-08-10bumped revisionRichard Carlsson
2012-08-10make stack trace pruning know about the new formatRichard Carlsson
2012-08-10Make EUnit print stacktraces with location informationKlas Johansson
The format of stacktraces was changed in Erlang/OTP R15, adding location information. This had the effect that EUnit did not recognize stack traces as such and only printed the exception term. This patch makes Eunit recognize and print the new stacktrace format as well as the old.
2012-08-10Add option 'no_tty' to silent the default tty reportRichard Carlsson
2012-08-10Merge branch 'rc/edoc-0.7.10/OTP-10174' into maintFredrik Gustafsson
* rc/edoc-0.7.10/OTP-10174: bumped revision List behaviour callbacks in Edoc when using -callback attribute added special case for file names under Windows, thanks to Beads Land-Trujillo
2012-08-08Merge branch 'siri/erl_prim_loader/archive-scripts/OTP-10071' into maintSiri Hansen
* siri/erl_prim_loader/archive-scripts/OTP-10071: Bugfix escript_SUITE:archive_script_file_access Update preloaded Fix flattening of paths in erl_prim_loader
2012-08-08Bugfix escript_SUITE:archive_script_file_accessSiri Hansen
Used internal function do_run/3 instead of run/3 for executing escript. This will always fail on windows.
2012-08-08bumped revisionRichard Carlsson
2012-08-08List behaviour callbacks in Edoc when using -callback attributeMagnus Henoch
Defining a behaviour_info/1 function is no longer the only way to define a behaviour; you can use -callback attributes as well. This change makes edoc aware of the latter, such that the module documentation page for a behaviour module will list the name and arity of the required callback functions. Ideally, edoc should use the type information present in the callback attributes, but with this change, the documentation is at least no worse than when using an explicit behaviour_info function.
2012-08-08added special case for file names under Windows, thanks to Beads Land-TrujilloRichard Carlsson
2012-08-07Update preloadedSiri Hansen
erl_prim_loader.beam
2012-08-07Fix flattening of paths in erl_prim_loaderSiri Hansen
When correcting OTP-10071, a new error was introduced in erl_prim_loader. In order to improve ability to detect if a file was inside the primary archive, all paths were flattened - i.e. "." and ".." were removed. This implementation had some faults, and it did not take symlinks into account. This has been corrected.
2012-08-07Fix highlighting of atoms ending with a dollar signMagnus Henoch
Like this: 'atom$'. In that example, the last single quote should be recognised as ending the atom. This needs a font-lock workaround similar to the one for strings.
2012-08-06compiler: Eliminate EXIT messages from the temporary compiler processBjörn Gustavsson
If a process trap exits, calling the compiler would leave an EXIT message in the message queue of the calling process because the compiler spawns a temporary work process. Eliminate the EXIT process by monitoring the temporary process instead of linking to it. Reported-by: Jeremy Heater
2012-08-06compile_SUITE: Correct the forms_2 test case to work on WindowsBjörn Gustavsson
Correct the forms_2 test case introduced in 2d785c07fbf9f533bf so that it will work on Windows. As originally written, the test case assumed that filename:absname("/foo/bar") would return "/foo/bar", which is not true on Windows (typically, the result will be "c:/foo/bar"). While at it, clean up indentation, the overlong line, and comments.
2012-08-02sys_pre_expand: Fix BASE never being setTomas Janousek
Commit a612e99fb5aaa934fe5a8591db0f083d7fa0b20a turned module attributes from 2-tuples to 3-tuples but forgot to update get_base/1, breaking BASE for parametric modules.
2012-07-31Merge branch 'rickard/cerl-emacs-gdb' into maintRickard Green
* rickard/cerl-emacs-gdb: Use annotate level 1 for 'gdb' with 'emacs' in 'cerl'
2012-07-31Merge branch 'rickard/proc-lock-queues/OTP-10163' into maintRickard Green
* rickard/proc-lock-queues/OTP-10163: Use static allocation of process lock queues
2012-07-31Merge branch 'rickard/dealloc/OTP-10162' into maintRickard Green
* rickard/dealloc/OTP-10162: Improve the enqueue operation of delayed dealloc Implement delayed aux work wake up
2012-07-31Use static allocation of process lock queuesRickard Green
By using statically allocated lock queues there is no longer any need for locking corresponding pix lock when process locks have been transferred after a wait. This costs us 3 words extra in process structure, but improves performance during contention.
2012-07-31Improve the enqueue operation of delayed deallocRickard Green
The enqueue operation have been re-written to behave better during heavy contention by spreading writes over multiple locations. This enqueue operation also take advantage of the delayed aux work wake up functionality and can by this omit one memory barrier.
2012-07-31Implement delayed aux work wake upRickard Green
By using a delayed aux work wake up approach, a memory barrier can be omitted in the delayed dealloc enqueue operation. The amount of operations, on the potentially contended, wake up structure is also reduced.
2012-07-27Use annotate level 1 for 'gdb' with 'emacs' in 'cerl'Rickard Green