aboutsummaryrefslogtreecommitdiffstats
path: root/bootstrap/lib/stdlib
AgeCommit message (Collapse)Author
2013-12-07Merge branch 'rickard/garbage_collect/OTP-11388'Rickard Green
* rickard/garbage_collect/OTP-11388: Parallel check_process_code when code_server purge a module Functionality for disabling garbage collection Use asynchronous check_process_code in code_parallel_SUITE Execution of system tasks in context of another process Conflicts: bootstrap/lib/kernel/ebin/hipe_unified_loader.beam erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2013-12-05Update primary bootstrapSverker Eriksson
2013-11-18Execution of system tasks in context of another processRickard Green
A process requesting a system task to be executed in the context of another process will be notified by a message when the task has executed. This message will be on the form: {RequestType, RequestId, Pid, Result}. A process requesting a system task to be executed can set priority on the system task. The requester typically set the same priority on the task as its own process priority, and by this avoiding priority inversion. A request for execution of a system task is made by calling the statically linked in NIF erts_internal:request_system_task(Pid, Prio, Request). This is an undocumented ERTS internal function that should remain so. It should *only* be called from BIF implementations. Currently defined system tasks are: * garbage_collect * check_process_code Further system tasks can and will be implemented in the future. The erlang:garbage_collect/[1,2] and erlang:check_process_code/[2,3] BIFs are now implemented using system tasks. Both the 'garbage_collect' and the 'check_process_code' operations perform or may perform garbage_collections. By doing these via the system task functionality all garbage collect operations in the system will be performed solely in the context of the process being garbage collected. This makes it possible to later implement functionality for disabling garbage collection of a process over context switches. Newly introduced BIFs: * erlang:garbage_collect/2 - The new second argument is an option list. Introduced option: * {async, RequestId} - making it possible for users to issue asynchronous garbage collect requests. * erlang:check_process_code/3 - The new third argument is an option list. Introduced options: * {async, RequestId} - making it possible for users to issue asynchronous check process code requests. * {allow_gc, boolean()} - making it possible to issue requests that aren't allowed to garbage collect (operation will abort if gc should be needed). These options have been introduced as a preparation for parallelization of check_process_code operations when the code_server is about to purge a module.
2013-10-22Merge branch 'mh/dict_orddict_is_empty/OTP-11353'Fredrik Gustafsson
* mh/dict_orddict_is_empty/OTP-11353: Update primary bootstrap Add dict:is_empty/1 and orddict:is_empty/1
2013-09-25Update primary bootstrapFredrik Gustafsson
2013-09-19Teach erlc to handle UTF-8 file namesBjörn Gustavsson
The 'erlc' program passes options to the 'erl' program using the '-s' option. The '-s' option causes all options to be converted to atoms, which implies that UTF-8 file names may not be given on the command line. We could solve just the UTF-8 problem by using '-run' and change the erl_compile module to expect strings instead of atoms, but since that is an incompatible change, we should take the opportunity to make more incompatible changes while we are at it. Specifically, when 'erlc' was first written, there was no way to pass command line arguments starting with '-' to Erlang, so 'erlc' did all parsing of arguments and translated options to atoms starting with a '@' character (for example, -I was translated to @i). Since then, the '-extra' option has been introduced which allows us to pass anything to Erlang at the end of the command line. Therefore, while at it, do the minimum of necessary command line parsing in the 'erlc' program (e.g. the '-smp' option), passing the command line essentially unchanged to 'erl' using the '-extra' option, and rewrite the option parsing in Erlang.
2013-09-13Update primary bootstrap app- and appup filesMagnus Lidén
2013-09-13Update primary bootstrapMagnus Lidén
2013-09-06Merge branch 'maint'Fredrik Gustafsson
Conflicts: bootstrap/lib/stdlib/ebin/erl_lint.beam
2013-08-27Updated primary bootstrapFredrik Gustafsson
2013-08-26Merge branch 'maint'Fredrik Gustafsson
2013-08-20Added primary bootstrapFredrik Gustafsson
2013-06-12Update primary bootstrap appup filesBjörn-Egil Dahlberg
2013-06-12Update primary bootstrapBjörn-Egil Dahlberg
2013-06-05Bootstrap addedFredrik Gustafsson
2013-06-05Merge branch 'maint'Fredrik Gustafsson
2013-06-05Merge branch 'jv/erl_lint-default_types/OTP-11143' into maintFredrik Gustafsson
* jv/erl_lint-default_types/OTP-11143: Updated primary bootstrap stdlib: re-factored erl_lint.erl Improve erl_lint performance
2013-06-04Merge branch 'maint'Fredrik Gustafsson
Conflicts: bootstrap/lib/stdlib/ebin/erl_pp.beam
2013-06-04Merge branch 'nox/erl_pp-callback/OTP-11140' into maintFredrik Gustafsson
* nox/erl_pp-callback/OTP-11140: Update primary bootstrap Support callback attributes in erl_pp
2013-06-03Merge branch 'maint'Fredrik Gustafsson
2013-05-28Update primary bootstrapFredrik Gustafsson
2013-05-28Updated primary bootstrapFredrik Gustafsson
2013-05-28Updated primary bootstrap for erl_evalFredrik Gustafsson
2013-05-28Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
Conflicts: bootstrap/lib/stdlib/ebin/beam_lib.beam lib/public_key/test/erl_make_certs.erl
2013-05-20Update primary bootstrapBjörn Gustavsson
2013-05-06Update primary bootstrapHans Bolinder
2013-05-03Merge branch 'maint'Fredrik Gustafsson
Conflicts: bootstrap/lib/stdlib/ebin/epp.beam
2013-05-03Update primary bootstrapFredrik Gustafsson
2013-05-02Merge branch 'maint'Fredrik Gustafsson
2013-05-02Update primary bootstrapFredrik Gustafsson
2013-04-19Update primary bootstrapHans Bolinder
2013-04-19Update primary bootstrapFredrik Gustafsson
2013-04-03Update primary bootstrapFredrik Gustafsson
2013-03-19Update primary bootstrapBjörn Gustavsson
2013-02-18Update primary bootstrapPatrik Nyblom
2013-02-14Update primary bootstrapBjörn Gustavsson
2013-02-11Update primary bootstrapBjörn Gustavsson
2013-02-06Update primary bootstrapBjörn Gustavsson
2013-02-04Update primary bootstrapBjörn Gustavsson
2013-01-26Update primary bootstrapBjörn Gustavsson
2013-01-25Update primary bootstrapBjörn Gustavsson
2013-01-23Update primary bootstrapBjörn Gustavsson
2013-01-18Update primary bootstrapBjörn Gustavsson
2013-01-10Update primary bootstrapBjörn Gustavsson
2013-01-09Update primary bootstrapBjörn Gustavsson
2013-01-02Update primary bootstrapHans Bolinder
2012-10-10Update primary bootstrapBjörn Gustavsson
2012-08-15Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap Fix broken building of bootstrap compiler Conflicts: bootstrap/lib/kernel/ebin/code.beam
2012-08-15Update primary bootstrapBjörn Gustavsson
2012-06-25Merge branch 'maint'Björn Gustavsson
* maint: Update primary bootstrap sys_pre_expand: Eliminate bottleneck for modules with many functions Conflicts: bootstrap/bin/start.boot bootstrap/bin/start_clean.boot bootstrap/lib/kernel/ebin/file.beam bootstrap/lib/kernel/ebin/hipe_unified_loader.beam