Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
* 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.
|
|
|
|
|
|
* ta/prim_archive-reloading:
escript_SUITE: remove gratuitous space
[erts,kernel,stdlib] fix escript/primary archive reloading
Conflicts:
erts/preloaded/src/erl_prim_loader.erl
OTP-10151
|
|
* ms/correct-formating-in-exit:
Correct formating in exit error messages
OTP-10148
|
|
* hb/erl_docgen/cref_spaces/OTP-10138:
erts: add space before '*' in some function prototypes
ic: add space before '*' in some function prototypes
Fix a bug regarding spaces in C function prototypes
|
|
|
|
erl_prim_loader.beam
|
|
This commit introduces no functional change. It only adds comments and
changes some function/variable names.
|
|
The following errors have been corrected:
* If primary archive was named "xxx", then a file in the same
directory named "xxxyyy" would be interpreted as a file named yyy
inside the archive.
* erl_prim_loader did not correctly create and normalize absolute
paths for primary archive and files inside it, so unless given with
exact same path files inside the archive would not be found. E.g. if
escript was started as /full/path/to/xxx then "./xxx/file" would not
be found since erl_prim_loader would try to match /full/path/to/xxx
with /full/path/to/./xxx. Same problem with ../.
* Depending on how the primary archive was built,
erl_prim_loader:list_dir/1 would sometimes return an empty string
inside the file list. This was a virtual element representing the
top directory of the archive. This has been removed.
Thanks to Tuncer Ayaz and Shunichi Shinohara for reporting and
co-authoring corrections.
|
|
If the mtime of an escript/primary archive file changes after being
added to the code path, correctly reload the archive and update the
cache.
The existing code didn't consider that it might be a zip archive and failed:
=ERROR REPORT==== 3-Aug-2011::09:21:21 ===
File operation error: bad_central_directory. Target:
/escript_archive/module.beam. Function: get_file. Process: code_server.
Thanks David Reid and Hakan Mattson.
|
|
* sz/dtrace-message-send-fix:
DTrace bug in message-send
OTP-10142
|
|
* sverk/hipe-arm-fix:
hipe_arm.c: remove dead code
Workaround gcc bug affecting ARM debug build
Fix compile error of HIPE enabled DEBUG emulator for ARM
Fix hipe bif calling bug on ARM
Add armv7l and armv5tejl as a recognized ARM architectures
OTP-10137
|
|
erts/emulator/hipe/hipe_arm.c started out as a clone of hipe_ppc.c,
with #ifdefs to select ARM-specific code. Somehow those #ifdefs
never got cleaned out, resulting in fairly ugly-looking code.
This eliminates the #ifdefs, deletes dead PowerPC-specific code, and
keeps only the ARM-specific code. I've verified that the exact same
assembly code is generated for hipe_arm.c before and after this patch
(if you compile without -g, with -g there are unavoidable changes to
the debug data).
Signed-off-by: Mikael Pettersson <[email protected]>
|
|
|
|
|
|
Bug introduced in R15.
|
|
|
|
* rickard/thr-prgr-use/OTP-10116:
Fix faulty use of thread progress in handle_aux_work()
|
|
As an optimization old thread progress data was kept and used in
handle_aux_work() in erl_process.c. This could cause memory to be
deallocated at a later time than intended, which is quite harmless.
This has, however, now been fixed.
|
|
* lukas/otp/install_with_whitespace/OTP-10107:
Update to work with space in include path
Update to work with whitespace in exec path
|
|
OTP-10106
OTP-10107
|
|
* bjorn/remove-hybrid-heap/OTP-10105:
Remove stale code for hybrid heap and incremental GC
Remove the hipe_bifs:show_message_area/0 BIF
Remove support for erlang:system_info(global_heaps_size)
Remove the erlang:garbage_collect_message_area/0 BIF
Remove workarounds for hybrid and shared heaps in test suites
|
|
* raimo/erts/win-install-redist-mixup/OTP-10096:
erts: Make 64-bit installer look for MS Redistributable in the right places
|
|
* lukas/test-cases:
Ignore calls to wx* modules if it is undefined
Fix erl_interface testcases
Update gccifier to respect -link option
Extand timetrap for escript tests
Fix compilation issues on windows and Ubuntu 12.04
Ignore common_test bootstrap
|
|
|
|
* sa/dialyzer-parallel: (54 commits)
Logfile-like statistics (enabled with --resources)
Anonymous SCCtoPID ETS table
Anonymous time server
Regulate all kinds of running workers up to the number of schedulers
Relocate start and stop of timing server
Better names for callgaph ETS tables
Remove needless conversion
Fix types and specs
Inline a function in dialyzer_worker
Remove unused function
Change --time to --statistics and include more info
Better reflect side-effect based code in dialyzer_callgraph
Code simplifications (tidier)
More efficient calculation of module deps and postorder
Solve big SCC constraints in parallel
Coordinator is no longer a separate process
All spawns are now spawn_links
Fix race in coordinator
Typesig and dataflow analyses no longer use ticket regulation
Plain concatenation for typesig not-fixpoint list
...
OTP-10103
|
|
* lukas/fix_windows_release_tests/OTP-10099:
Fix compilation of examples and tc names on windows
Create erl.ini for host emulator
|
|
|
|
|
|
* sverk/valgrind-async-thr-suppression:
erts: Add valgrind suppression for async thread bound data
|
|
|
|
The installer runs in 32-bit mode so 64-bit windows does not
show it the system directories a 64-bit application will see.
To find out if the MS C++ 2010 Redistributable Package is
installed the installer for 64-bit Erlang must search
for msvcr100.dll in:
$WINDIR\sysnative\ $WINDIR\WinSxS\amd64*\
instead of for 32-bit Erlang
$SYSDIR\ $WINDIR\WinSxS\x86*\
This patch also makes the installer if called in silent mode
call the MS Redistributable installer in silent mode.
|
|
|
|
|
|
* bjorn/test-cases:
ts: Recognize Windows 7
otp_SUITE: Ignore calls to dialyzer if the entire application is missing
otp_SUITE: Remove broken filtering of megaco calls
|
|
dtrace doesn't print sender pid and receiver pid in message related
probe correctly, it truncates pid string to 7 characters on 64bit
platform(or 3 characters on 32bit platform). The dtrace related code
did not set the string length correctly, it sets the string length to
the length of a pointer rather than the buffer length.
|
|
The hybrid heap emulator was last working in the non-SMP R11B
run-time system. When the constant pools were introduced in R12B,
the hybrid heap emulator was not updated to handle them.
At this point, the harm from reduced readability of the code is
greater than any potential usefulness of keeping the code.
|
|
|
|
|
|
|
|
|