Age | Commit message (Collapse) | Author |
|
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)
|
|
* 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.
|
|
* 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
|
|
* 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
|
|
* gustav/kernel/packages-docs-empty-func:
Remove empty function in packages docs
|
|
|
|
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.
|
|
* 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
|
|
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.
|
|
Liveness for the try_case_end/1 instruction should be calculated
in the same way as for the case_end/1 instruction.
|
|
The number of live registers in the gc_bif instructions was wrong.
It was not noticed because the beam_type pass silently corrected it.
|
|
|
|
|
|
|
|
|
|
* 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
|
|
* mh/doc-now-vs-timestamp/OTP-10180:
Doc fix: link from erlang:now/0 to os:timestamp/0
|
|
* mh/emacs-mode/atom-dollar/OTP-10178:
Fix highlighting of atoms ending with a dollar sign
|
|
* 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
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
* 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
|
|
* 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
|
|
Used internal function do_run/3 instead of run/3 for executing
escript. This will always fail on windows.
|
|
|
|
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.
|
|
|
|
erl_prim_loader.beam
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
Commit a612e99fb5aaa934fe5a8591db0f083d7fa0b20a turned module attributes from
2-tuples to 3-tuples but forgot to update get_base/1, breaking BASE for
parametric modules.
|
|
* rickard/cerl-emacs-gdb:
Use annotate level 1 for 'gdb' with 'emacs' in 'cerl'
|
|
* rickard/proc-lock-queues/OTP-10163:
Use static allocation of process lock queues
|
|
* rickard/dealloc/OTP-10162:
Improve the enqueue operation of delayed dealloc
Implement delayed aux work wake up
|
|
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.
|
|
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.
|
|
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.
|
|
|