aboutsummaryrefslogtreecommitdiffstats
path: root/erts/preloaded/src/erlang.erl
AgeCommit message (Collapse)Author
2013-06-04erts: Use carrier pool for migration of carriersRickard Green
2013-06-03erts: Remove SBMBC allocatorSverker Eriksson
2013-05-31Replace gc stat lock with sched spec dataLukas Larsson
2013-05-16Merge branch 'rickard/frmptr' into maintRickard Green
* rickard/frmptr: Add 'frmptr' emulator type Conflicts: erts/preloaded/ebin/erlang.beam
2013-05-16Merge branch 'rickard/inet_db/OTP-11074' into maintRickard Green
* rickard/inet_db/OTP-11074: Do not treat port_set_data/port_get_data as signals Conflicts: erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2013-04-29Do not treat port_set_data/port_get_data as signalsRickard Green
2013-04-21Add 'frmptr' emulator typeRickard Green
2013-04-07Fix typo in type: erlang:process_info_item()Andrew Tunnell-Jones
'message_que_len' should be 'message_queue_len'.
2013-04-04Consistent definition of priority levelsKostis Sagonas
In the specs and the documentation of the spawn_opt family of functions there is the following definition of priority levels: Level = low | normal | high However, the process_flag/1 function in that module reads: process_flag(Flag :: priority, Level) -> OldLevel Types: Level = OldLevel = priority_level() priority_level() = low | normal | high | max This is clearly inconsistent. Change specs to use the process_level() type declaration instead of re-defining it in various places.
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-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-23Merge branch 'sal/float_to_list_2/OTP-10752'Björn-Egil Dahlberg
* sal/float_to_list_2/OTP-10752: Text representation of a float formatted using given options.
2013-01-23Merge branch 'rickard/r16/port-optimizations/OTP-10336'Rickard Green
* rickard/r16/port-optimizations/OTP-10336: Bump reductions also for immediate driver calls Add 'port_count' and 'port_limit' to system_info/1 spec Fix documentation Replace use of deprecated functions in test cases Replace use of driver_send_term() with erl_drv_send_term() Conflicts: erts/preloaded/ebin/erlang.beam
2013-01-21Text representation of a float formatted using given options.Serge Aleynikov
This BIF solves a problem of float_to_list/1 that doesn't allow specifying the number of digits after the decimal point when formatting floats. float_to_list(Float, Options) -> string() Float = float() Options = [Option] Option = {decimals, Decimals::0..249} | {scientific, Decimals::0..249} | compact Returns a string which corresponds to the text representation of a `Float` formatted using given options. When decimals option is specified the returned value will contain at most `Decimals` number of digits past the decimal point. When `compact` option is provided the trailing zeros at the end of the list are truncated (this option is only meaningful together with the `decimals` option). When `scientific` option is provided, the float will be formatted using scientific notation with `Decimals` digits of precision. If `Options` is `[]` the function behaves like `float_to_list/1`. When using `decimals` option and the number doesn't fit in the static internal buffer of 256 bytes the function throws `badarg`.
2012-12-20Correct doc re process_info(Pid,links)Patrik Nyblom
2012-12-20Add 'port_count' and 'port_limit' to system_info/1 specRickard Green
2012-12-14erts: Document insert_element and delete_elementBjörn-Egil Dahlberg
Document new BIFs: * erlang:insert_element/3 * erlang:delete_element/2
2012-12-07Merge branch 'rickard/port-optimizations/OTP-10336' into ↵Rickard Green
rickard/r16/port-optimizations/OTP-10336 * rickard/port-optimizations/OTP-10336: Change annotate level for emacs-22 in cerl Update etp-commands Add documentation on communication in Erlang Add support for busy port message queue Add driver callback epilogue Implement true asynchronous signaling between processes and ports Add erl_drv_[send|output]_term Move busy port flag Use rwlock for driver list Optimize management of port tasks Improve configuration of process and port tables Remove R9 compatibility features Use ptab functionality also for ports Prepare for use of ptab functionality also for ports Atomic port state Generalize process table implementation Implement functionality for delaying thread progress from unmanaged threads Conflicts: erts/doc/src/erl_driver.xml erts/doc/src/erlang.xml erts/emulator/beam/beam_bif_load.c erts/emulator/beam/beam_bp.c erts/emulator/beam/beam_emu.c erts/emulator/beam/bif.c erts/emulator/beam/copy.c erts/emulator/beam/erl_alloc.c erts/emulator/beam/erl_alloc.types erts/emulator/beam/erl_bif_info.c erts/emulator/beam/erl_bif_port.c erts/emulator/beam/erl_bif_trace.c erts/emulator/beam/erl_init.c erts/emulator/beam/erl_message.c erts/emulator/beam/erl_port_task.c erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h erts/emulator/beam/erl_process_lock.c erts/emulator/beam/erl_trace.c erts/emulator/beam/export.h erts/emulator/beam/global.h erts/emulator/beam/io.c erts/emulator/sys/unix/sys.c erts/emulator/sys/vxworks/sys.c erts/emulator/test/port_SUITE.erl erts/etc/unix/cerl.src erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/prim_inet.beam erts/preloaded/src/prim_inet.erl lib/hipe/cerl/erl_bif_types.erl lib/kernel/doc/src/inet.xml lib/kernel/src/inet.erl
2012-12-07Implement true asynchronous signaling between processes and portsRickard Green
2012-11-16Fix spec for erlang:process_info/{1,2}Patrik Nyblom
2012-11-16Add 'hide' option to erlang:open_port/2 specPatrik Nyblom
2012-06-04Merge branch 'maint'Lukas Larsson
* maint: 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 Conflicts: erts/doc/src/erlang.xml erts/emulator/beam/erl_message.c erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h erts/emulator/hipe/hipe_bif2.tab lib/hipe/cerl/erl_bif_types.erl
2012-04-19Correct dtrace for master branchPatrik Nyblom
2012-04-18Merge branch 'maint'Patrik Nyblom
Conflicts: lib/hipe/cerl/erl_bif_types.erl
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-03-22Merge branch 'maint'Patrik Nyblom
Conflicts: erts/emulator/beam/beam_emu.c erts/emulator/beam/bif.tab erts/preloaded/ebin/prim_file.beam lib/hipe/cerl/erl_bif_types.erl
2012-03-22Merge branch 'maint'Raimo Niskanen
Conflicts: erts/doc/src/erlang.xml erts/emulator/beam/erl_process.c erts/emulator/beam/erl_process.h erts/emulator/test/bif_SUITE.erl erts/preloaded/ebin/erlang.beam erts/preloaded/src/erlang.erl lib/hipe/cerl/erl_bif_types.erl
2012-03-09doc: Reintegrate R15B01 scheduler_wall_time docBjörn-Egil Dahlberg
2012-02-21Break apart erlang:load_module/2 into two separate BIFsBjörn Gustavsson
Introduce two new BIFs, erlang:prepare_loading/2 and erlang:finish_loading/1, and re-implement erlang:load_module/2 in Erlang code. We have two reasons for doing this: * To facilitate suspending a process if another process is already doing code loading. * In the future, we can implement parallel and atomic loading of several modules. Atomic loading works except for modules with on_load handlers. Because of that issue, erlang:finish_loading/2 will currently only accept a list with a single magic binary.
2012-02-07Merge branch 'maint'Patrik Nyblom
Conflicts: erts/doc/src/erlang.xml erts/preloaded/ebin/erlang.beam
2012-02-07Correct docs, comments and dialyzer testsPatrik Nyblom
Update preloaded erlang.beam Removed stray error in dialyzer test suite - different error message with the new specs.
2012-02-07Reintroduce sensitive BIFs in erl_bif_typesPatrik Nyblom
This involves exception BIF's, guar BIF's and some other complicated BIF's Also some minor corrections to documentation and specs in erlang.erl Added comment for each spec in erlang.erl shadowed by erl_bif_types. Dialyzer test should now run well except for one or two cases.
2012-02-07Correct dializer errors in erlang.erl and othersPatrik Nyblom
New errors found when adding specs to erlang.erl and removing them from erl_bif_types are examined and corrected. Some errors was due to faulty specs, while others were actual errors in the code using BIF's.
2012-02-07Make erlang doc use specs from erlang.erlPatrik Nyblom
Reintroduced setelement in erlang.erl and erlang.xml Preloaded erlang.beam updated.
2012-02-07erlang.erl with specs for all (but one) bifPatrik Nyblom
2012-01-26Implement statistics(scheduler_wall_time)Rickard Green
2011-11-30erlang: Eliminate a clause in aa_mem_data/2 that can never matchBjörn Gustavsson
aa_mem_data/2 is only called by aa_mem_data/1 and itself. aa_mem_data/1 called with the argument 'notsup' will never call aa_mem_data/2. aa_mem_data/2 will only call itself with a #memory{} record as the first argument. QED. Noticed-by: Dialyzer.
2011-11-13Merge branch 'rickard/alloc-opt/OTP-7775'Rickard Green
* rickard/alloc-opt/OTP-7775: Optimize memory allocation Conflicts: erts/aclocal.m4 erts/emulator/hipe/hipe_bif_list.m4 erts/preloaded/ebin/erl_prim_loader.beam erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/init.beam erts/preloaded/ebin/otp_ring0.beam erts/preloaded/ebin/prim_file.beam erts/preloaded/ebin/prim_inet.beam erts/preloaded/ebin/prim_zip.beam erts/preloaded/ebin/zlib.beam
2011-11-13Optimize memory allocationRickard Green
A number of memory allocation optimizations have been implemented. Most optimizations reduce contention caused by synchronization between threads during allocation and deallocation of memory. Most notably: * Synchronization of memory management in scheduler specific allocator instances has been rewritten to use lock-free synchronization. * Synchronization of memory management in scheduler specific pre-allocators has been rewritten to use lock-free synchronization. * The 'mseg_alloc' memory segment allocator now use scheduler specific instances instead of one instance. Apart from reducing contention this also ensures that memory allocators always create memory segments on the local NUMA node on a NUMA system.
2011-07-06Remove deprecated concat_binary/1Björn Gustavsson
concat_binary/1 was deprecated in R13B04, but already in the R10B-2 release, the documentation recommends using list_to_binary/1 instead.
2011-06-20Add more specs and typesHans Bolinder
An incorrect spec, rpc:yield/1, has been fixed.
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-01Fix three dialyzer warnings in kernelSverker Eriksson
Joint effort by Kostis, pan, egil & sverker
2010-06-02Change warning to error for nowarn_bif_clash compiler directivePatrik Nyblom
2010-06-02First prototype for local functions overriding autoimportedPatrik Nyblom
Import directives still not sorted out!
2010-02-11Merge branch 'ks/erts' into ccase/r13b04_devErlang/OTP
* ks/erts: hipe_bif0.c: Remove $Id$ erts/preloaded: Add types and specs
2010-02-11erts/preloaded: Add types and specsKostis Sagonas
2010-01-06Mark concat_binary/1 as deprecatedBjörn Gustavsson
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP