diff options
Diffstat (limited to 'erts')
-rw-r--r-- | erts/doc/src/erlang.xml | 35 | ||||
-rw-r--r-- | erts/preloaded/ebin/erlang.beam | bin | 84720 -> 84876 bytes | |||
-rw-r--r-- | erts/preloaded/src/erlang.erl | 56 |
3 files changed, 75 insertions, 16 deletions
diff --git a/erts/doc/src/erlang.xml b/erts/doc/src/erlang.xml index 7838cffded..e5ea517492 100644 --- a/erts/doc/src/erlang.xml +++ b/erts/doc/src/erlang.xml @@ -3191,7 +3191,8 @@ os_prompt%</pre> <type name="priority_level"/> <fsummary>Set process flag priority for the calling process</fsummary> <desc> - <p>This sets the process priority. <c><anno>Level</anno></c> is an atom. + <p><marker id="process_flag_priority"></marker> + This sets the process priority. <c><anno>Level</anno></c> is an atom. There are currently four priority levels: <c>low</c>, <c>normal</c>, <c>high</c>, and <c>max</c>. The default priority level is <c>normal</c>. <em>NOTE</em>: The @@ -3333,6 +3334,8 @@ os_prompt%</pre> <func> <name name="process_info" arity="1"/> <type name="process_info_result_item"/> + <type name="priority_level"/> + <type name="stack_item"/> <fsummary>Information about a process</fsummary> <desc> <p>Returns a list containing <c><anno>InfoTuple</anno></c>s with @@ -3889,7 +3892,7 @@ true</pre> <p>Starts a timer which will send the message <c>Msg</c> to <c><anno>Dest</anno></c> after <c><anno>Time</anno></c> milliseconds.</p> <p>If <c><anno>Dest</anno></c> is a <c>pid()</c> it has to be a <c>pid()</c> of a local process, dead or alive.</p> - <p>The <c><anno>Time</anno></c> value can, in the current implementation, not be grater than 4294967295.</p> + <p>The <c><anno>Time</anno></c> value can, in the current implementation, not be greater than 4294967295.</p> <p>If <c><anno>Dest</anno></c> is an <c>atom()</c>, it is supposed to be the name of a registered process. The process referred to by the name is looked up at the time of delivery. No error is given if @@ -4314,7 +4317,7 @@ true</pre> <c>{timeout, <anno>TimerRef</anno>, <anno>Msg</anno>}</c> to <c><anno>Dest</anno></c> after <c><anno>Time</anno></c> milliseconds.</p> <p>If <c><anno>Dest</anno></c> is a <c>pid()</c> it has to be a <c>pid()</c> of a local process, dead or alive.</p> - <p>The <c><anno>Time</anno></c> value can, in the current implementation, not be grater than 4294967295.</p> + <p>The <c><anno>Time</anno></c> value can, in the current implementation, not be greater than 4294967295.</p> <p>If <c><anno>Dest</anno></c> is an <c>atom()</c>, it is supposed to be the name of a registered process. The process referred to by the name is looked up at the time of delivery. No error is given if @@ -4345,7 +4348,8 @@ true</pre> <name name="statistics" arity="1" clause_i="2"/> <fsummary>Information about exact reductions</fsummary> <desc> - <p><em>NOTE:</em> <c>statistics(exact_reductions)</c> is + <p><marker id="statistics_exact_reductions"></marker> + <em>NOTE:</em> <c>statistics(exact_reductions)</c> is a more expensive operation than <seealso marker="#statistics_reductions">statistics(reductions)</seealso> especially on an Erlang machine with SMP support.</p> @@ -4371,7 +4375,8 @@ true</pre> <name name="statistics" arity="1" clause_i="5"/> <fsummary>Information about reductions</fsummary> <desc> - <p><em>NOTE:</em> From erts version 5.5 (OTP release R11B) + <p><marker id="statistics_reductions"></marker> + <em>NOTE:</em> From erts version 5.5 (OTP release R11B) this value does not include reductions performed in current time slices of currently scheduled processes. If an exact value is wanted, use @@ -4525,12 +4530,14 @@ true</pre> <name name="system_flag" arity="2" clause_i="2"/> <type name="cpu_topology"/> <type name="level_entry"/> - <type name="sub_level"/> <type name="level_tag"/> + <type name="sub_level"/> + <type name="info_list"/> <fsummary>Set system flag cpu_topology</fsummary> <desc> <warning> - <p>This argument is <em>deprecated</em> and + <p><marker id="system_flag_cpu_topology"></marker> + This argument is <em>deprecated</em> and scheduled for removal in erts-5.10/OTP-R16. Instead of using this argument you are advised to use the <c>erl</c> command line argument <seealso marker="erts:erl#+sct">+sct</seealso>. @@ -4616,7 +4623,8 @@ true</pre> <name name="system_flag" arity="2" clause_i="6"/> <fsummary>Set system flag multi_scheduling</fsummary> <desc> - <p>If multi-scheduling is enabled, more than one scheduler + <p><marker id="system_flag_multi_scheduling"></marker> + If multi-scheduling is enabled, more than one scheduler thread is used by the emulator. Multi-scheduling can be blocked. When multi-scheduling has been blocked, only one scheduler thread will schedule Erlang processes.</p> @@ -4655,7 +4663,8 @@ true</pre> <fsummary>Set system flag scheduler_bind_type</fsummary> <desc> <warning> - <p>This argument is <em>deprecated</em> and + <p><marker id="system_flag_scheduler_bind_type"></marker> + This argument is <em>deprecated</em> and scheduled for removal in erts-5.10/OTP-R16. Instead of using this argument you are advised to use the <c>erl</c> command line argument <seealso marker="erts:erl#+sbt">+sbt</seealso>. @@ -4772,7 +4781,8 @@ true</pre> <name name="system_flag" arity="2" clause_i="8"/> <fsummary>Set system flag schedulers_online</fsummary> <desc> - <p>Sets the amount of schedulers online. Valid range is + <p><marker id="system_flag_schedulers_online"></marker> + Sets the amount of schedulers online. Valid range is <![CDATA[1 <= SchedulersOnline <= erlang:system_info(schedulers)]]>. </p> <p>Returns the old value of the flag.</p> @@ -4932,6 +4942,7 @@ true</pre> <type name="cpu_topology"/> <type name="level_entry"/> <type_desc name="cpu_topology"> + <marker id="system_info_cpu_topology"></marker> All <c><anno>LevelEntry</anno></c>s of a list must contain the same <c><anno>LevelTag</anno></c>, except on the top level where both <c>node</c> and @@ -4956,7 +4967,7 @@ true</pre> of the current system (emulator) as specified by <c><anno>Item</anno></c>:</p> <taglist> - <tag><marker id="system_info_cpu_topology"><c>cpu_topology</c></marker></tag> + <tag><c>cpu_topology</c></tag> <item> <p>Returns the <c><anno>CpuTopology</anno></c> which currently is used by the emulator. The CPU topology is used when binding schedulers @@ -6188,6 +6199,8 @@ true</pre> <name name="trace_info" arity="2"/> <type name="trace_info_return"/> <type name="trace_info_item_result"/> + <type name="trace_info_flag"/> + <type name="trace_match_spec"/> <fsummary>Trace information about a process or function</fsummary> <desc> <p>Returns trace information about a process or function.</p> diff --git a/erts/preloaded/ebin/erlang.beam b/erts/preloaded/ebin/erlang.beam Binary files differindex c44f05f87d..01246a34da 100644 --- a/erts/preloaded/ebin/erlang.beam +++ b/erts/preloaded/ebin/erlang.beam diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl index b1b2156ad5..65ebe83c3a 100644 --- a/erts/preloaded/src/erlang.erl +++ b/erts/preloaded/src/erlang.erl @@ -117,7 +117,7 @@ is_record/3, is_reference/1, is_tuple/1, load_module/2, load_nif/2, localtime_to_universaltime/2, make_fun/3, make_tuple/2, make_tuple/3, nodes/1, open_port/2, - port_call/3, port_info/1, port_info/2, process_flag/2, + port_call/2, port_call/3, port_info/1, port_info/2, process_flag/2, process_info/2, send/2, send/3, seq_trace_info/1, setelement/3, spawn_opt/1, statistics/1, subtract/2, system_flag/2, @@ -579,12 +579,14 @@ erase(_Key) -> erlang:nif_error(undefined). % error/1 +%% Shadowed by erl_bif_types: erlang:error/1 -spec error(Reason) -> no_return() when Reason :: term(). error(_Reason) -> erlang:nif_error(undefined). % error/2 +%% Shadowed by erl_bif_types: erlang:error/2 -spec error(Reason, Args) -> no_return() when Reason :: term(), Args :: [term()]. @@ -592,6 +594,7 @@ error(_Reason, _Args) -> erlang:nif_error(undefined). % exit/1 +%% Shadowed by erl_bif_types: erlang:exit/1 -spec exit(Reason) -> no_return() when Reason :: term(). exit(_Reason) -> @@ -719,11 +722,13 @@ group_leader(_GroupLeader, _Pid) -> erlang:nif_error(undefined). % halt/0 +%% Shadowed by erl_bif_types: erlang:halt/0 -spec halt() -> no_return(). halt() -> erlang:nif_error(undefined). % halt/1 +%% Shadowed by erl_bif_types: erlang:halt/1 -spec halt(Status) -> no_return() when Status :: non_neg_integer() | string(). halt(_Status) -> @@ -934,12 +939,14 @@ monitor_node(_Node, _Flag, _Options) -> erlang:nif_error(undefined). % nif_error/1 +%% Shadowed by erl_bif_types: erlang:nif_error/1 -spec erlang:nif_error(Reason) -> no_return() when Reason :: term(). nif_error(_Reason) -> erlang:nif_error(undefined). % nif_error/2 +%% Shadowed by erl_bif_types: erlang:nif_error/2 -spec erlang:nif_error(Reason, Args) -> no_return() when Reason :: term(), Args :: [term()]. @@ -1293,6 +1300,7 @@ system_profile(_ProfilerPid, _Options) -> erlang:nif_error(undefined). % throw/1 +%% Shadowed by erl_bif_types: erlang:throw/1 -spec throw(Any) -> no_return() when Any :: term(). throw(_Any) -> @@ -1380,6 +1388,7 @@ whereis(_RegName) -> %% types and specs +%% Shadowed by erl_bif_types: erlang:abs/1 -spec abs(Float) -> float() when Float :: float(); (Int) -> non_neg_integer() when @@ -1388,12 +1397,14 @@ abs(_Number) -> erlang:nif_error(undefined). %% Not documented +%% Shadowed by erl_bif_types: erlang:append/2 -spec erlang:append(List,Tail) -> maybe_improper_list() when List :: [term()], Tail :: term(). append(_List,_Tail) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:element/2 -spec element(N, Tuple) -> term() when N :: pos_integer(), Tuple :: tuple(). @@ -1408,6 +1419,7 @@ element(_N, _Tuple) -> get_module_info(_Module, _Item) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:hd/1 -spec hd(List) -> term() when List :: [term(), ...]. hd(_List) -> @@ -1415,73 +1427,87 @@ hd(_List) -> %% erlang:info/1 no longer exists! +%% Shadowed by erl_bif_types: erlang:is_atom/1 -spec is_atom(Term) -> boolean() when Term :: term(). is_atom(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_binary/1 -spec is_binary(Term) -> boolean() when Term :: term(). is_binary(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_bitstring/1 -spec is_bitstring(Term) -> boolean() when Term :: term(). is_bitstring(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_boolean/1 -spec is_boolean(Term) -> boolean() when Term :: term(). is_boolean(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_float/1 -spec is_float(Term) -> boolean() when Term :: term(). is_float(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_function/1 -spec is_function(Term) -> boolean() when Term :: term(). is_function(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_function/2 -spec is_function(Term, Arity) -> boolean() when Term :: term(), Arity :: arity(). is_function(_Term, _Arity) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_integer/1 -spec is_integer(Term) -> boolean() when Term :: term(). is_integer(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_list/1 -spec is_list(Term) -> boolean() when Term :: term(). is_list(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_number/1 -spec is_number(Term) -> boolean() when Term :: term(). is_number(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_pid/1 -spec is_pid(Term) -> boolean() when Term :: term(). is_pid(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_port/1 -spec is_port(Term) -> boolean() when Term :: term(). is_port(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_record/2 -spec is_record(Term,RecordTag) -> boolean() when Term :: term(), RecordTag :: atom(). is_record(_Term,_RecordTag) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_record/3 -spec is_record(Term,RecordTag,Size) -> boolean() when Term :: term(), RecordTag :: atom(), @@ -1489,11 +1515,13 @@ is_record(_Term,_RecordTag) -> is_record(_Term,_RecordTag,_Size) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_reference/1 -spec is_reference(Term) -> boolean() when Term :: term(). is_reference(_Term) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:is_tuple/1 -spec is_tuple(Term) -> boolean() when Term :: term(). is_tuple(_Term) -> @@ -1531,12 +1559,14 @@ localtime_to_universaltime(_Localtime, _IsDst) -> make_fun(_Module,_Function, _Arity) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:make_tuple/2 -spec erlang:make_tuple(Arity, InitialValue) -> tuple() when Arity :: arity(), InitialValue :: term(). make_tuple(_Arity,_InitialValue) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:make_tuple/3 -spec erlang:make_tuple(Arity, DefaultValue, InitList) -> tuple() when Arity :: arity(), DefaultValue :: term(), @@ -1575,6 +1605,14 @@ nodes(_Arg) -> open_port(_PortName,_PortSettings) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:port_call/2 +-spec erlang:port_call(Port, Data) -> term() when + Port :: port() | atom(), + Data :: term(). +port_call(_Port, _Data) -> + erlang:nif_error(undefined). + +%% Shadowed by erl_bif_types: erlang:port_call/3 -spec erlang:port_call(Port, Operation, Data) -> term() when Port :: port() | atom(), Operation :: integer(), @@ -1600,16 +1638,18 @@ port_call(_Port, _Operation, _Data) -> {input, Bytes :: non_neg_integer()} | {output, Bytes :: non_neg_integer()}. +%% Shadowed by erl_bif_types: erlang:port_info/1 -spec erlang:port_info(Port) -> Result when Port :: port() | atom(), Result :: [port_info_result_item()] | undefined. port_info(_Result) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:port_info/2 -spec erlang:port_info(Port, Item) -> Result when Port :: port() | atom(), Item :: port_info_item(), - Result :: port_info_result_item() | undefined | []. + Result :: port_info_result_item() | undefined. port_info(_Result, _Item) -> erlang:nif_error(undefined). @@ -1689,7 +1729,7 @@ process_flag(_Flag, _Value) -> {current_location, {Module :: module(), Function :: atom(), Arity :: arity(), Location :: [{file, Filename :: string()} | % not a stack_item()! - {line, Line :: integer()}]}} | + {line, Line :: pos_integer()}]}} | {current_stacktrace, Stack :: [stack_item()]} | {dictionary, Dictionary :: [{Key :: term(), Value :: term()}]} | {error_handler, Module :: module()} | @@ -1728,7 +1768,7 @@ process_flag(_Flag, _Value) -> Function :: atom(), Arity :: arity() | (Args :: [term()]), Location :: [{file, Filename :: string()} | - {line, Line :: integer()}]}. + {line, Line :: pos_integer()}]}. -spec process_info(Pid, Item) -> InfoTuple | [] | undefined when @@ -1744,7 +1784,7 @@ process_flag(_Flag, _Value) -> process_info(_Pid,_ItemSpec) -> erlang:nif_error(undefined). --spec send(Dest, Msg) -> Msg when +-spec erlang:send(Dest, Msg) -> Msg when Dest :: dst(), Msg :: term(). send(_Dest,_Msg) -> @@ -1768,6 +1808,7 @@ send(_Dest,_Msg,_Options) -> seq_trace_info(_What) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:setelement/3 -spec setelement(Index, Tuple1, Value) -> Tuple2 when Index :: pos_integer(), Tuple1 :: tuple(), @@ -1817,6 +1858,7 @@ statistics(_Item) -> erlang:nif_error(undefined). %% Not documented +%% Shadowed by erl_bif_types: erlang:subtract/2 -spec erlang:subtract([term()], [term()]) -> [term()]. subtract(_,_) -> erlang:nif_error(undefined). @@ -1881,6 +1923,7 @@ term_to_binary(_Term) -> term_to_binary(_Term, _Options) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:tl/1 -spec tl(List) -> term() when List :: [term(), ...]. tl(_List) -> @@ -1916,6 +1959,7 @@ trace_pattern(_MFA, _MatchSpec) -> trace_pattern(_MFA, _MatchSpec, _FlagList) -> erlang:nif_error(undefined). +%% Shadowed by erl_bif_types: erlang:tuple_to_list/1 -spec tuple_to_list(Tuple) -> [term()] when Tuple :: tuple(). tuple_to_list(_Tuple) -> @@ -1934,6 +1978,7 @@ tuple_to_list(_Tuple) -> -type info_list() :: []. %% Note: changing the ordering number of a clause will change the docs! +%% Shadowed by erl_bif_types: erlang:system_info/1 -spec erlang:system_info (allocated_areas) -> [ tuple() ]; (allocator) -> @@ -2031,6 +2076,7 @@ universaltime_to_localtime(_Universaltime) -> apply(Fun, Args) -> erlang:apply(Fun, Args). +%% Shadowed by erl_bif_types: erlang:apply/3 -spec apply(Module, Function, Args) -> term() when Module :: module(), Function :: atom(), |