aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter
AgeCommit message (Collapse)Author
2017-08-29Merge branch 'anders/diameter/codec/OTP-14511' into maintAnders Svensson
* anders/diameter/codec/OTP-14511: Use map decoding in example client
2017-08-29Merge branch 'anders/diameter/caseless/OTP-14535' into maintAnders Svensson
* anders/diameter/caseless/OTP-14535: Replace calls to inet_parse(3) Fix regexp match of accept tuple in diameter_tcp/sctp
2017-08-29Exercise unordered delivery in traffic suiteAnders Svensson
By randomly setting the number of outbound streams on associations.
2017-08-29Use unordered delivery on a lone outbound stream in diameter_sctpAnders Svensson
RFC 6733 say the below about head-of-line blocking and SCTP, the suggestion of unordered sending being new compared to the RFC 3588. Until now, all delivery in diameter_sctp has been ordered, and roundrobin over available streams unless the user passes a stream identifier in an outgoing diameter_packet record. This commit changes this to use unordered delivery when there's only a single outbound stream to choose from. The special case at capabilities exchange is handled by only starting to send unordered after the second message from the peer has been received. (First message after capabilities exchange, as the RFC probably means.) The special case at DPR isn't handled, since there's no knowing the order in which a peer will answer: a node that sends DPR while it has other requests outstanding can't expect that the latter will be answered before DPR, even if delivery is ordered since incoming requests are handled concurrently. If it wants a guarantee then it simply has to wait for answers before sending DPR. A user can force all delivery to be unordered by specifying {sctp_default_send_params, #sctp_sndrcvinfo{flags = [unordered]}} as a config option to diameter_sctp, but in this case there's no handling of a request being sent directly after CEA since there's no ordered flag to override the default. RFC 6733: 2.1.1. SCTP Guidelines Diameter messages SHOULD be mapped into SCTP streams in a way that avoids head-of-the-line (HOL) blocking. Among different ways of performing the mapping that fulfill this requirement it is RECOMMENDED that a Diameter node send every Diameter message (request or response) over stream zero with the unordered flag set. However, Diameter nodes MAY select and implement other design alternatives for avoiding HOL blocking such as using multiple streams with the unordered flag cleared (as originally instructed in RFC 3588). On the receiving side, a Diameter entity MUST be ready to receive Diameter messages over any stream, and it is free to return responses over a different stream. This way, both sides manage the available streams in the sending direction, independently of the streams chosen by the other side to send a particular Diameter message. These messages can be out-of-order and belong to different Diameter sessions. Out-of-order delivery has special concerns during a connection establishment and termination. When a connection is established, the responder side sends a CEA message and moves to R-Open state as specified in Section 5.6. If an application message is sent shortly after the CEA and delivered out-of-order, the initiator side, still in Wait-I-CEA state, will discard the application message and close the connection. In order to avoid this race condition, the receiver side SHOULD NOT use out-of-order delivery methods until the first message has been received from the initiator, proving that it has moved to I-Open state. To trigger such a message, the receiver side could send a DWR immediately after sending a CEA. Upon reception of the corresponding DWA, the receiver side should start using out-of- order delivery methods to counter the HOL blocking. Another race condition may occur when DPR and DPA messages are used. Both DPR and DPA are small in size; thus, they may be delivered to the peer faster than application messages when an out-of-order delivery mechanism is used. Therefore, it is possible that a DPR/DPA exchange completes while application messages are still in transit, resulting in a loss of these messages. An implementation could mitigate this race condition, for example, using timers, and wait for a short period of time for pending application level messages to arrive before proceeding to disconnect the transport connection. Eventually, lost messages are handled by the retransmission mechanism described in Section 5.5.4.
2017-08-28Fix influence of decode_format on service eventsAnders Svensson
Decoded CER/CEA messages are passed in events messages that can be subscribed to using diameter:subscribe/1. A configured decode_format was not reflected in these, messages always being passed as records. Clarify that strict_arities only applies to message callbacks.
2017-08-25Let strict_mbit and incoming_maxlen be configured per transportAnders Svensson
Since these can make sense per peer. The remaining service-only options either belong there or make little sense being configured per transport.
2017-08-25Let a service configure default transport optionsAnders Svensson
Only a default spawn_opt has been possible to configure, but there's no reason why most others should need to be configured per transport. Those options that still only make sense on a transport are transport_module/config (because of the semantics of multiple values), applications/capabilities (since these override service options), and private (since it's only to allow user-specific options in a backwards compatible way).
2017-08-24Rename type evaluable -> evalAnders Svensson
Export the old type as a synonym for backwards compatability. The name evaluable is a bit too awkward.
2017-08-24Document transport_opt() strict_capxAnders Svensson
2017-08-24Rename transport_opt() capx_strictness to strict_capxAnders Svensson
To follow the naming of options like strict_mbit and more. Still accept capx_strictness since this is known to be used. Introduced in commit e4f28f3b.
2017-08-23Fix compatibility of remote sendAnders Svensson
By changing the definition of the request record, commit f489c0d5 broke sending an outgoing request over a peer connection terminated on a remote node running an older version of diameter. The modified fields aren't even used on the remote node, so simply reintroduce one of the fields so that the size of the tuple is unchanged.
2017-08-22Work around more common_test woeAnders Svensson
Testcase init functions are getting Config from groups and suites they're not in. Presumably related to the problems worked around in the parent commit.
2017-08-19Use loopback/any config in examples suiteAnders Svensson
2017-08-19Handle loopback/any as local address in diameter_tcp/sctpAnders Svensson
The support is implied by documentation, but wasn't handled in code. Be consistent in retrieving the address from the sock rather than the configuration, and in accepting both ip and ifaddr for a local address.
2017-08-19Use map decoding in example clientAnders Svensson
As introduced in commit 1b3b64af and adjusted in commit e0603ba1. There's nothing client-specific about it, but keep the record format in the server example for the sake of coverage.
2017-08-18Merge branch 'anders/diameter/performance/OTP-14521' into maintAnders Svensson
* anders/diameter/performance/OTP-14521: Work around unexpected common_test behaviour Randomly skip groups in traffic suite Randomly disable traffic counters in traffic suite Add service_opt() traffic_counters Fix type spec Split AVPs at decode Avoid unnecessary copying of binaries in diameter_tcp Don't update diameter_tcp state unnecessarily Don't update diameter_tcp state unnecessarily Simplify extraction of incoming Diameter messages in diameter_tcp Restructure/simplify message reception in diameter_peer_fsm Sleep randomly at the start of (parallel) traffic testcases Fix ct return value in traffic suite Fix type spec Optimize sub-binaries Optimize sub-binaries Count AVPs in #diameter_avp.index Don't extract options unnecessarily at encode Redo message decode as a single pass
2017-08-18Merge branch 'anders/diameter/5009/OTP-14512' into maintAnders Svensson
* anders/diameter/5009/OTP-14512: Use relaxed arity checks in traffic suite Be forgiving of non-list values at encode Add service_opt() strict_arities Fix detection of 5009 errors Test Result-Code 5009 in traffic suite
2017-08-18Merge branch 'anders/diameter/codec/OTP-14511' into maintAnders Svensson
* anders/diameter/codec/OTP-14511: (26 commits) Limit SCTP testing in traffic suite Increase init_per_group timetrap in traffic suite Add diameter_util:eprof/1 for test Don't search forms unnecessarily in diameter_exprecs parse transform Increase init_per_suite timetrap in traffic suite Don't count AVPs unnecessarily at encode Test decode_format record_from_map in traffic suite Tweak limiting of testcases in traffic suite Don't take length of AVP lists unnecessarily at encode Tweak map-valued decode Rearrange group names in traffic suite Randomly wrap answers in diameter_packet in transport suite Don't exercise client/server encoding independently in traffic suite Add decode_format record_from_map Rename record_decode -> decode_format Create fewer client connections in traffic suite Test record_decode in traffic suite Map answers to maps in traffic suite Test map encoding in traffic suite Let messages and grouped AVPs be decoded to lists ...
2017-08-17Work around unexpected common_test behaviourAnders Svensson
diameter_traffic_SUITE has four layers of nested groups, so when a testcase is run it should get Config from four init_per_group plus one init_per_testcase. This isn't what happens: Config is being accumulated from several init_per_group in some manner that isn't clear, and the skip in the parent commit somehow results in growing test_server_gl:init/1 processes that eventually consume all memory. Replacing rather than prepending to Config in init_per_group works around this, but the common_test behaviour seems wrong.
2017-08-15Replace calls to inet_parse(3)Anders Svensson
With the documented calls to inet(3).
2017-08-15Fix regexp match of accept tuple in diameter_tcp/sctpAnders Svensson
Matching of remote addresses when accepting connections in a listening transport was case-sensitive, causing the semantics to change as a consequence of 95ebfa0b, which made inet:ntoa/1 return lowercase.
2017-08-11Randomly skip groups in traffic suiteAnders Svensson
To limit the number of testcases being run.
2017-08-11Randomly disable traffic counters in traffic suiteAnders Svensson
To exercise the new traffic_counters option.
2017-08-10Limit SCTP testing in traffic suiteAnders Svensson
All SCTP testing on Solaris/Sparc was disabled in commit 69c5a741, but there are issues on other platforms as well, resulting in failures in diameter_gen_sctp_SUITE and more. The problems seem to be load-related, when testcases are run in parallel, so only run a smallish subset sequentially until the gen_sctp suite runs without error.
2017-08-10Increase init_per_group timetrap in traffic suiteAnders Svensson
Connection establishment is slow on some test hosts.
2017-08-10Add diameter_util:eprof/1 for testAnders Svensson
Wrapping it around diameter_traffic_SUITE:compile_and_load/0 shows that it's not diameter that's expensive. See below. ****** Process <0.103.0> -- 1.11 % of profiled time *** FUNCTION CALLS % TIME [uS / CALLS] -------- ----- ------- ---- [----------] lists:append/1 3 0.00 0 [ 0.00] lists:usort/1 1 0.00 0 [ 0.00] lists:rmerge3_21_3/6 5 0.00 0 [ 0.00] lists:merge2_1/4 4 0.00 0 [ 0.00] lists:ukeysplit_1_1/10 2 0.00 0 [ 0.00] lists:ukeymergel/3 1 0.00 0 [ 0.00] lists:rukeymergel/3 2 0.00 0 [ 0.00] lists:rukeymerge3_1/11 3 0.00 0 [ 0.00] lists:rukeymerge2_1/6 1 0.00 0 [ 0.00] beam_lib:chunks/2 1 0.00 0 [ 0.00] beam_lib:read_chunk_data/2 1 0.00 0 [ 0.00] beam_lib:read_chunk_data/3 1 0.00 0 [ 0.00] beam_lib:check_chunks/5 2 0.00 0 [ 0.00] beam_lib:scan_beam/4 1 0.00 0 [ 0.00] beam_lib:scan_beam1/2 1 0.00 0 [ 0.00] beam_lib:scan_beam2/2 1 0.00 0 [ 0.00] beam_lib:get_atom_data/8 1 0.00 0 [ 0.00] beam_lib:get_chunk/4 2 0.00 0 [ 0.00] beam_lib:chunks_to_data/7 2 0.00 0 [ 0.00] beam_lib:extract_atom/2 1 0.00 0 [ 0.00] beam_lib:open_file/1 1 0.00 0 [ 0.00] beam_lib:beam_filename/1 1 0.00 0 [ 0.00] beam_lib:'-read_chunk_data/3-after$^0/0-0-'/1 1 0.00 0 [ 0.00] diameter_dict_scanner:scan/1 2 0.00 0 [ 0.00] diameter_codegen:from_dict/4 1 0.00 0 [ 0.00] diameter_codegen:mod/2 1 0.00 0 [ 0.00] diameter_codegen:maybe_write/5 1 0.00 0 [ 0.00] diameter_codegen:report/2 3 0.00 0 [ 0.00] diameter_codegen:report/3 3 0.00 0 [ 0.00] diameter_codegen:putr/2 1 0.00 0 [ 0.00] diameter_codegen:eraser/1 1 0.00 0 [ 0.00] diameter_codegen:gen/3 1 0.00 0 [ 0.00] diameter_codegen:erl_forms/2 1 0.00 0 [ 0.00] diameter_codegen:make_hrl_forms/1 1 0.00 0 [ 0.00] diameter_codegen:make_record_forms/1 1 0.00 0 [ 0.00] diameter_codegen:grp_proj/1 7 0.00 0 [ 0.00] diameter_codegen:f_name/1 1 0.00 0 [ 0.00] diameter_codegen:f_id/1 1 0.00 0 [ 0.00] diameter_codegen:c_id/1 1 0.00 0 [ 0.00] diameter_codegen:f_vendor_id/1 1 0.00 0 [ 0.00] diameter_codegen:b_vendor_id/1 1 0.00 0 [ 0.00] diameter_codegen:f_vendor_name/1 1 0.00 0 [ 0.00] diameter_codegen:b_vendor_name/1 1 0.00 0 [ 0.00] diameter_codegen:f_msg_name/1 1 0.00 0 [ 0.00] diameter_codegen:msg_name/1 1 0.00 0 [ 0.00] diameter_codegen:c_msg_name/1 5 0.00 0 [ 0.00] diameter_codegen:f_msg2rec/1 1 0.00 0 [ 0.00] diameter_codegen:msg2rec/1 1 0.00 0 [ 0.00] diameter_codegen:f_rec2msg/1 1 0.00 0 [ 0.00] diameter_codegen:rec2msg/1 1 0.00 0 [ 0.00] diameter_codegen:f_name2rec/1 1 0.00 0 [ 0.00] diameter_codegen:name2rec/1 1 0.00 0 [ 0.00] diameter_codegen:avps/1 6 0.00 0 [ 0.00] diameter_codegen:c_imported_avp_name/2 1 0.00 0 [ 0.00] diameter_codegen:f_avp_arity_2/1 1 0.00 0 [ 0.00] diameter_codegen:avp_arity/1 1 0.00 0 [ 0.00] diameter_codegen:f_avp/1 1 0.00 0 [ 0.00] diameter_codegen:avp/1 1 0.00 0 [ 0.00] diameter_codegen:types/1 1 0.00 0 [ 0.00] diameter_codegen:avp/4 1 0.00 0 [ 0.00] diameter_codegen:cs_imported_avp/3 1 0.00 0 [ 0.00] diameter_codegen:f_enumerated_avp/1 1 0.00 0 [ 0.00] diameter_codegen:enumerated_avp/1 1 0.00 0 [ 0.00] diameter_codegen:enumerated_avp/3 1 0.00 0 [ 0.00] diameter_codegen:f_msg_header/1 1 0.00 0 [ 0.00] diameter_codegen:msg_header/1 1 0.00 0 [ 0.00] diameter_codegen:msg_header/2 1 0.00 0 [ 0.00] diameter_codegen:f_avp_header/1 1 0.00 0 [ 0.00] diameter_codegen:avp_header/1 1 0.00 0 [ 0.00] diameter_codegen:f_empty_value/1 1 0.00 0 [ 0.00] diameter_codegen:empty_value/1 1 0.00 0 [ 0.00] diameter_codegen:f_dict/1 1 0.00 0 [ 0.00] diameter_codegen:to_upper/1 1 0.00 0 [ 0.00] diameter_codegen:tu/1 4 0.00 0 [ 0.00] diameter_codegen:preprocess/2 1 0.00 0 [ 0.00] diameter_codegen:pp/2 1 0.00 0 [ 0.00] diameter_codegen:abstract_code/1 1 0.00 0 [ 0.00] diameter_codegen:'-empty_value/1-fun-1-'/1 1 0.00 0 [ 0.00] diameter_codegen:'-empty_value/1-fun-0-'/1 1 0.00 0 [ 0.00] diameter_codegen:'-f_avp_header/1-lc$^0/1-0-'/1 2 0.00 0 [ 0.00] diameter_codegen:'-f_msg_header/1-lc$^0/1-0-'/1 2 0.00 0 [ 0.00] diameter_codegen:'-enumerated_avp/1-fun-0-'/2 1 0.00 0 [ 0.00] diameter_codegen:'-avp/4-fun-4-'/3 1 0.00 0 [ 0.00] diameter_codegen:'-avp/4-fun-0-'/1 1 0.00 0 [ 0.00] diameter_codegen:'-avp_arity/1-fun-0-'/1 1 0.00 0 [ 0.00] diameter_codegen:'-avp_arities/1-fun-0-'/1 1 0.00 0 [ 0.00] diameter_codegen:'-f_avp_arity_1/1-lc$^0/1-0-'/1 2 0.00 0 [ 0.00] diameter_codegen:'-avp_name/1-fun-0-'/2 1 0.00 0 [ 0.00] diameter_codegen:'-name2rec/1-fun-0-'/1 1 0.00 0 [ 0.00] diameter_codegen:'-rec2msg/1-lc$^0/1-0-'/1 2 0.00 0 [ 0.00] diameter_codegen:'-msg2rec/1-lc$^0/1-0-'/1 2 0.00 0 [ 0.00] diameter_codegen:'-make_record_forms/1-lc$^2/1-0-'/2 2 0.00 0 [ 0.00] diameter_codegen:'-make_record_forms/1-fun-1-'/1 2 0.00 0 [ 0.00] diameter_codegen:'-make_hrl_forms/1-fun-0-'/1 1 0.00 0 [ 0.00] diameter_codegen:'-from_dict/4-after$^0/0-0-'/0 1 0.00 0 [ 0.00] filename:dirname/1 1 0.00 0 [ 0.00] code:is_loaded/1 1 0.00 0 [ 0.00] code:get_object_code/1 1 0.00 0 [ 0.00] code:lib_dir/1 1 0.00 0 [ 0.00] code:add_pathsa/1 1 0.00 0 [ 0.00] code:which/1 1 0.00 0 [ 0.00] file:read_file_info/1 2 0.00 0 [ 0.00] file:read_file/1 1 0.00 0 [ 0.00] file:call/2 3 0.00 0 [ 0.00] file:check_and_call/2 3 0.00 0 [ 0.00] dict:new/0 1 0.00 0 [ 0.00] dict:fetch/2 2 0.00 0 [ 0.00] dict:fold/3 3 0.00 0 [ 0.00] dict:fold_dict/3 3 0.00 0 [ 0.00] dict:mk_seg/1 1 0.00 0 [ 0.00] diameter_make:default/1 1 0.00 0 [ 0.00] diameter_make:def/2 1 0.00 0 [ 0.00] diameter_make:modes/1 2 0.00 0 [ 0.00] diameter_make:identify/1 1 0.00 0 [ 0.00] diameter_make:make/3 1 0.00 0 [ 0.00] diameter_make:ok/1 1 0.00 0 [ 0.00] diameter_make:make/4 1 0.00 0 [ 0.00] diameter_make:'-make/3-fun-0-'/5 1 0.00 0 [ 0.00] diameter_traffic_SUITE:here/0 1 0.00 0 [ 0.00] diameter_traffic_SUITE:'-compile_and_load/0-lc$^1/1-2-'/2 4 0.00 0 [ 0.00] diameter_dict_util:parse/2 1 0.00 0 [ 0.00] diameter_dict_util:do_parse/2 1 0.00 0 [ 0.00] diameter_dict_util:read/1 1 0.00 0 [ 0.00] diameter_dict_util:make_dict/2 1 0.00 0 [ 0.00] diameter_dict_util:make_orddict/1 1 0.00 0 [ 0.00] diameter_dict_util:make_dict/1 1 0.00 0 [ 0.00] diameter_dict_util:reset/2 1 0.00 0 [ 0.00] diameter_dict_util:reset/3 3 0.00 0 [ 0.00] diameter_dict_util:opt/2 3 0.00 0 [ 0.00] diameter_dict_util:reinherit/3 1 0.00 0 [ 0.00] diameter_dict_util:pass1/1 1 0.00 0 [ 0.00] diameter_dict_util:no_messages_without_id/1 1 0.00 0 [ 0.00] diameter_dict_util:vendor_id_mismatch/6 2 0.00 0 [ 0.00] diameter_dict_util:grouped_flags/4 2 0.00 0 [ 0.00] diameter_dict_util:pass2/1 1 0.00 0 [ 0.00] diameter_dict_util:p2/3 1 0.00 0 [ 0.00] diameter_dict_util:pass3/2 1 0.00 0 [ 0.00] diameter_dict_util:insert_codes/1 1 0.00 0 [ 0.00] diameter_dict_util:import_avps/2 1 0.00 0 [ 0.00] diameter_dict_util:explode_imports/2 1 0.00 0 [ 0.00] diameter_dict_util:import_groups/1 1 0.00 0 [ 0.00] diameter_dict_util:import_enums/1 1 0.00 0 [ 0.00] diameter_dict_util:import/2 2 0.00 0 [ 0.00] diameter_dict_util:import_key/2 2 0.00 0 [ 0.00] diameter_dict_util:inherit/2 1 0.00 0 [ 0.00] diameter_dict_util:inherit_avps/2 1 0.00 0 [ 0.00] diameter_dict_util:find_avps/2 1 0.00 0 [ 0.00] diameter_dict_util:avps_from_module/1 1 0.00 0 [ 0.00] diameter_dict_util:examine/1 1 0.00 0 [ 0.00] diameter_dict_util:putr/2 1 0.00 0 [ 0.00] diameter_dict_util:eraser/1 1 0.00 0 [ 0.00] diameter_dict_util:flatmap/2 2 0.00 0 [ 0.00] diameter_dict_util:'-flatmap/2-fun-0-'/2 2 0.00 0 [ 0.00] diameter_dict_util:'-inherit/2-fun-1-'/2 1 0.00 0 [ 0.00] diameter_dict_util:'-import/2-fun-0-'/2 2 0.00 0 [ 0.00] diameter_dict_util:'-import_avps/2-fun-0-'/2 1 0.00 0 [ 0.00] diameter_dict_util:'-import_avps/2-fun-2-'/1 1 0.00 0 [ 0.00] diameter_dict_util:'-pass2/1-fun-1-'/2 1 0.00 0 [ 0.00] diameter_dict_util:'-pass2/1-fun-0-'/3 1 0.00 0 [ 0.00] diameter_dict_util:'-opt/2-lc$^1/1-0-'/3 2 0.00 0 [ 0.00] diameter_dict_util:'-reset/3-fun-1-'/2 3 0.00 0 [ 0.00] diameter_dict_util:'-reset/2-fun-0-'/3 3 0.00 0 [ 0.00] diameter_dict_util:'-do_parse/2-fun-0-'/1 1 0.00 0 [ 0.00] diameter_dict_util:'-parse/2-after$^0/0-0-'/0 1 0.00 0 [ 0.00] erl_abstract_code:debug_info/4 1 0.00 0 [ 0.00] compile:env_default_opts/0 1 0.00 0 [ 0.00] compile:do_compile/2 1 0.00 0 [ 0.00] compile:expand_opts/1 1 0.00 0 [ 0.00] compile:expand_opt/2 3 0.00 0 [ 0.00] compile:'-expand_opts/1-anonymous-0-'/2 3 0.00 0 [ 0.00] diameter_dict_parser:parse/1 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars0/5 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars1/5 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_0/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_1/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_3/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_4/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_10/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_11/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_13/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_22/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_76/7 5 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_82/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_83/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_84/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_86/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_88/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_89/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_90/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_91/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_92/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_93/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_94/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_95/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_96/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_97/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_99/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_100/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_101/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_102/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_103/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_105/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_106/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_122/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccpars2_130/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccgoto_avp_code/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccgoto_avp_header/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccgoto_avp_header_tok/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccgoto_avp_names/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccgoto_dictionary/7 1 0.00 0 [ 0.00] diameter_dict_parser:yeccgoto_group_def/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccgoto_group_defs/7 2 0.00 0 [ 0.00] diameter_dict_parser:yeccgoto_module/7 1 0.00 0 [ 0.00] file:native_name_encoding/0 3 0.00 0 [ 0.00] erlang:binary_to_atom/2 1 0.00 0 [ 0.00] erlang:put/2 2 0.00 0 [ 0.00] gen:'-call/4-fun-0-'/4 5 0.00 1 [ 0.20] diameter_util:eprof/1 1 0.00 1 [ 1.00] lists:sort/1 2 0.00 1 [ 0.50] lists:ukeysort/2 2 0.00 1 [ 0.50] lists:foldr/3 4 0.00 1 [ 0.25] lists:mergel/2 5 0.00 1 [ 0.20] lists:rmergel/2 8 0.00 1 [ 0.13] lists:merge3_12_3/6 7 0.00 1 [ 0.14] lists:merge3_21_3/6 12 0.00 1 [ 0.08] lists:rmerge3_12_3/6 7 0.00 1 [ 0.14] lists:merge2_2/5 6 0.00 1 [ 0.17] lists:ukeysplit_1/8 6 0.00 1 [ 0.17] lists:rukeymerge3_2/11 5 0.00 1 [ 0.20] beam_lib:scan_beam/5 12 0.00 1 [ 0.08] beam_lib:chunk_to_data/6 1 0.00 1 [ 1.00] code_server:call/1 5 0.00 1 [ 0.20] diameter_codegen:getr/1 3 0.00 1 [ 0.33] diameter_codegen:msg_proj/1 10 0.00 1 [ 0.10] diameter_codegen:a_record/3 3 0.00 1 [ 0.33] diameter_codegen:c_msg2rec/2 10 0.00 1 [ 0.10] diameter_codegen:c_rec2msg/2 10 0.00 1 [ 0.10] diameter_codegen:f_avp_name/1 1 0.00 1 [ 1.00] diameter_codegen:avp_name/1 1 0.00 1 [ 1.00] diameter_codegen:vendor_id_map/1 2 0.00 1 [ 0.50] diameter_codegen:f_avp_arity_1/1 1 0.00 1 [ 1.00] diameter_codegen:avp_arities/1 1 0.00 1 [ 1.00] diameter_codegen:cs_enumerated_avp/3 9 0.00 1 [ 0.11] diameter_codegen:c_msg_header/4 10 0.00 1 [ 0.10] diameter_codegen:emf/2 15 0.00 1 [ 0.07] diameter_codegen:prefix/1 4 0.00 1 [ 0.25] diameter_codegen:files/2 6 0.00 1 [ 0.17] diameter_codegen:'-to_upper/1-fun-0-'/1 4 0.00 1 [ 0.25] diameter_codegen:'-f_enumerated_avp/1-lc$^0/1-0-'/1 4 0.00 1 [ 0.25] diameter_codegen:'-vendor_id_map/1-fun-0-'/1 4 0.00 1 [ 0.25] diameter_codegen:'-name2rec/1-fun-1-'/2 7 0.00 1 [ 0.14] diameter_codegen:'-msg_name/1-fun-0-'/1 5 0.00 1 [ 0.20] diameter_codegen:'-make_record_forms/1-fun-3-'/1 5 0.00 1 [ 0.20] filename:skip_prefix/2 7 0.00 1 [ 0.14] filename:maybe_remove_dirsep/2 9 0.00 1 [ 0.11] filename:unix_pathtype/1 7 0.00 1 [ 0.14] code:call/1 5 0.00 1 [ 0.20] file:file_name/1 3 0.00 1 [ 0.33] file:check_args/1 6 0.00 1 [ 0.17] dict:fetch_val/2 6 0.00 1 [ 0.17] dict:expand_segs/2 4 0.00 1 [ 0.25] diameter_gen_base_rfc3588:dict/0 3 0.00 1 [ 0.33] diameter_make:codec/2 1 0.00 1 [ 1.00] diameter_make:parse/2 1 0.00 1 [ 1.00] diameter_make:is_mode/1 10 0.00 1 [ 0.10] diameter_traffic_SUITE:'-compile_and_load/0-lc$^0/1-1-'/1 3 0.00 1 [ 0.33] diameter_traffic_SUITE:'-compile_and_load/0-lc$^2/1-3-'/4 4 0.00 1 [ 0.25] orddict:from_list/1 2 0.00 1 [ 0.50] diameter_dict_util:post/2 5 0.00 1 [ 0.20] diameter_dict_util:mk_code/2 5 0.00 1 [ 0.20] diameter_dict_util:'-inherit/2-lc$^0/1-0-'/1 6 0.00 1 [ 0.17] diameter_dict_util:'-pass1/1-fun-1-'/2 11 0.00 1 [ 0.09] diameter_dict_util:'-opt/2-fun-0-'/1 7 0.00 1 [ 0.14] erlang:spawn_monitor/1 1 0.00 1 [ 1.00] compile:forms/2 1 0.00 1 [ 1.00] diameter_dict_parser:yeccpars2_24/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_25/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_28/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_30/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_53/7 11 0.00 1 [ 0.09] diameter_dict_parser:yeccpars2_59/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_60/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_64/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_66/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_68/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_69/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_71/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_72/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_73/7 15 0.00 1 [ 0.07] diameter_dict_parser:yeccpars2_75/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_78/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_80/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_81/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccpars2_107/7 14 0.00 1 [ 0.07] diameter_dict_parser:yeccgoto_bit/7 15 0.00 1 [ 0.07] diameter_dict_parser:yeccgoto_bits/7 15 0.00 1 [ 0.07] diameter_dict_parser:yeccgoto_command_def/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccgoto_command_id/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccgoto_header/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccgoto_header_tok/7 10 0.00 1 [ 0.10] diameter_dict_parser:yeccgoto_message_defs/7 10 0.00 1 [ 0.10] erlang:erase/1 2 0.00 1 [ 0.50] gen:do_call/4 5 0.00 2 [ 0.40] lists:seq_loop/3 9 0.00 2 [ 0.22] beam_lib:get_data/8 11 0.00 2 [ 0.18] diameter_codegen:a_record/2 17 0.00 2 [ 0.12] diameter_codegen:c_name2rec/2 17 0.00 2 [ 0.12] diameter_codegen:c_avp_arities/1 17 0.00 2 [ 0.12] diameter_codegen:c_avp_arity/1 18 0.00 2 [ 0.11] diameter_codegen:c_avp_arity/2 17 0.00 2 [ 0.12] diameter_codegen:cs_enumerated_avp/1 14 0.00 2 [ 0.14] diameter_codegen:encode_msg_flags/1 10 0.00 2 [ 0.20] diameter_codegen:'-include/2-lc$^0/1-0-'/2 12 0.00 2 [ 0.17] diameter_codegen:'-msg_header/2-fun-0-'/2 10 0.00 2 [ 0.20] diameter_codegen:'-enumerated_avp/3-fun-0-'/3 9 0.00 2 [ 0.22] diameter_codegen:'-rec2msg/1-fun-1-'/2 10 0.00 2 [ 0.20] diameter_codegen:'-msg2rec/1-fun-1-'/2 10 0.00 2 [ 0.20] diameter_codegen:'-make_record_forms/1-fun-0-'/1 10 0.00 2 [ 0.20] filename:basename/1 7 0.00 2 [ 0.29] filename:join/1 9 0.00 2 [ 0.22] filename:join/2 7 0.00 2 [ 0.29] filename:pathtype/1 7 0.00 2 [ 0.29] filename:major_os_type/0 9 0.00 2 [ 0.22] code:load_binary/3 1 0.00 2 [ 2.00] diameter_make:'-modes/1-fun-0-'/1 10 0.00 2 [ 0.20] diameter_dict_util:do/2 3 0.00 2 [ 0.67] diameter_dict_util:make/3 18 0.00 2 [ 0.11] diameter_dict_util:opt/1 12 0.00 2 [ 0.17] diameter_dict_util:report/3 21 0.00 2 [ 0.10] diameter_dict_util:application_id_mismatch/3 10 0.00 2 [ 0.20] diameter_dict_util:dict/1 3 0.00 2 [ 0.67] diameter_dict_util:'-explode/3-fun-0-'/4 15 0.00 2 [ 0.13] diameter_dict_util:'-pass1/1-fun-0-'/3 19 0.00 2 [ 0.11] diameter_dict_util:'-make_dict/1-fun-0-'/2 19 0.00 2 [ 0.11] diameter_dict_util:'-make/2-fun-0-'/3 18 0.00 2 [ 0.11] diameter_dict_util:'-make_orddict/1-lc$^0/1-0-'/1 10 0.00 2 [ 0.20] diameter_dict_parser:yeccpars2_2/7 19 0.00 2 [ 0.11] diameter_dict_parser:yeccpars2_32/7 10 0.00 2 [ 0.20] diameter_dict_parser:yeccpars2_65/7 10 0.00 2 [ 0.20] diameter_dict_parser:yeccpars2_70/7 10 0.00 2 [ 0.20] diameter_dict_parser:yeccpars2_74/7 15 0.00 2 [ 0.13] diameter_dict_parser:yeccpars2_77/7 15 0.00 2 [ 0.13] diameter_dict_parser:yeccpars2_109/7 14 0.00 2 [ 0.14] diameter_dict_parser:yeccpars2_131/7 19 0.00 2 [ 0.11] diameter_dict_parser:yeccgoto_section/7 19 0.00 2 [ 0.11] diameter_dict_parser:yeccgoto_sections/7 19 0.00 2 [ 0.11] os:getenv/1 1 0.00 2 [ 2.00] ets:delete/1 1 0.00 2 [ 2.00] ets:new/2 1 0.00 2 [ 2.00] gen:do_for_proc/2 5 0.01 3 [ 0.60] beam_lib:del_chunk/2 11 0.01 3 [ 0.27] diameter_codegen:filter/1 23 0.01 3 [ 0.13] diameter_codegen:'-empty_value/1-lc$^2/1-0-'/2 15 0.01 3 [ 0.20] diameter_codegen:'-encode_msg_flags/1-fun-0-'/2 15 0.01 3 [ 0.20] diameter_codegen:'-enumerated_avp/1-fun-1-'/1 14 0.01 3 [ 0.21] diameter_codegen:'-f_avp/1-lc$^0/1-0-'/1 5 0.01 3 [ 0.60] diameter_codegen:'-make_hrl_forms/1-fun-1-'/1 17 0.01 3 [ 0.18] filename:separators/0 8 0.01 3 [ 0.38] filename:flatten/1 8 0.01 3 [ 0.38] dict:append/3 28 0.01 3 [ 0.11] diameter_traffic_SUITE:'-compile_and_load/0-after$^3/0-0-'/0 1 0.01 3 [ 3.00] diameter_dict_util:make_body/1 12 0.01 3 [ 0.25] diameter_dict_util:section/2 19 0.01 3 [ 0.16] diameter_dict_util:explode_avps/4 12 0.01 3 [ 0.25] diameter_dict_util:'-reset/3-lc$^0/1-0-'/2 18 0.01 3 [ 0.17] diameter_dict_util:'-mk/2-fun-0-'/1 15 0.01 3 [ 0.20] gen_server:call/3 5 0.01 3 [ 0.60] lists:seq/2 7 0.01 4 [ 0.57] lists:merge3_2/6 23 0.01 4 [ 0.17] lists:rmerge3_2/6 20 0.01 4 [ 0.20] diameter_dict_scanner:'-split/1-fun-4-'/1 20 0.01 4 [ 0.20] diameter_codegen:c_avp_arities/2 17 0.01 4 [ 0.24] diameter_codegen:c_empty_value/1 29 0.01 4 [ 0.14] diameter_codegen:'-c_avp_arity/1-fun-0-'/1 17 0.01 4 [ 0.24] diameter_codegen:'-a_record/3-fun-0-'/3 17 0.01 4 [ 0.24] orddict:fetch/2 25 0.01 4 [ 0.16] diameter_dict_util:make/2 12 0.01 4 [ 0.33] diameter_dict_util:p1/3 19 0.01 4 [ 0.21] diameter_dict_util:is_enumerated_avp/3 14 0.01 4 [ 0.29] diameter_dict_util:choose/3 24 0.01 4 [ 0.17] diameter_dict_util:'-import_key/2-fun-0-'/2 14 0.01 4 [ 0.29] lists:merge3_1/6 28 0.01 5 [ 0.18] lists:rmerge3_1/6 22 0.01 5 [ 0.23] diameter_codegen:c_imported_avp/2 44 0.01 5 [ 0.11] diameter_codegen:include/2 42 0.01 5 [ 0.12] diameter_codegen:'-include/2-fun-1-'/1 23 0.01 5 [ 0.22] diameter_codegen:'-avp_arities/1-fun-1-'/1 17 0.01 5 [ 0.29] diameter_dict_util:'-explode_imports/2-fun-0-'/4 50 0.01 5 [ 0.10] diameter_dict_parser:yeccpars2_52/7 51 0.01 5 [ 0.10] gen:call/4 5 0.01 6 [ 1.20] lists:delete/2 31 0.01 6 [ 0.19] lists:rmerge2_1/4 43 0.01 6 [ 0.14] diameter_codegen:c_imported_avp_header/3 50 0.01 6 [ 0.12] diameter_codegen:rec_name/2 27 0.01 6 [ 0.22] diameter_codegen:'-empty_value/1-fun-3-'/1 29 0.01 6 [ 0.21] dict:'-append/3-fun-0-'/3 28 0.01 6 [ 0.21] diameter_dict_util:report/2 21 0.01 6 [ 0.29] erlang:whereis/1 5 0.01 6 [ 1.20] erlang:atom_to_list/1 28 0.01 6 [ 0.21] lists:split_1_1/6 34 0.01 7 [ 0.21] lists:rmerge2_2/5 54 0.01 7 [ 0.13] beam_lib:pread/3 15 0.01 7 [ 0.47] diameter_codegen:imported_avp/3 50 0.01 7 [ 0.14] dict:fold_segs/4 51 0.01 7 [ 0.14] diameter_dict_util:xi/4 50 0.01 7 [ 0.14] diameter_dict_util:getr/1 21 0.01 7 [ 0.33] diameter_dict_parser:yeccpars2_54/7 51 0.01 7 [ 0.14] erlang:send/3 5 0.01 7 [ 1.40] diameter_codegen:get_value/2 33 0.02 8 [ 0.24] os:type/0 24 0.02 8 [ 0.33] diameter_dict_scanner:section/1 19 0.02 9 [ 0.47] diameter_codegen:eaf/2 80 0.02 9 [ 0.11] diameter_codegen:'-pp/2-fun-0-'/2 42 0.02 9 [ 0.21] filename:dirname/4 63 0.02 9 [ 0.14] diameter_dict_util:'-p2/3-fun-0-'/2 82 0.02 9 [ 0.11] diameter_dict_parser:yeccpars2_41/7 77 0.02 9 [ 0.12] diameter_dict_parser:yeccpars2_45/7 77 0.02 9 [ 0.12] diameter_dict_parser:yeccpars2_121/7 82 0.02 9 [ 0.11] diameter_dict_parser:yeccpars2_123/7 82 0.02 9 [ 0.11] diameter_dict_parser:yeccpars2_126/7 82 0.02 9 [ 0.11] diameter_dict_parser:yeccpars2_128/7 80 0.02 9 [ 0.11] diameter_dict_parser:yeccgoto_avp_defs/7 82 0.02 9 [ 0.11] diameter_dict_parser:yeccgoto_avp_flags/7 82 0.02 9 [ 0.11] diameter_dict_parser:yeccgoto_avp_type/7 82 0.02 9 [ 0.11] diameter_dict_parser:yeccgoto_qual/7 77 0.02 9 [ 0.12] erlang:system_info/1 24 0.02 9 [ 0.38] diameter_codegen:c_avp_header/3 83 0.02 10 [ 0.12] diameter_dict_util:'-import_avps/2-lc$^1/1-0-'/1 51 0.02 10 [ 0.20] diameter_dict_util:'-p1/3-fun-2-'/3 94 0.02 10 [ 0.11] diameter_dict_parser:yeccpars2_63/7 77 0.02 10 [ 0.13] diameter_dict_parser:yeccpars2_124/7 82 0.02 10 [ 0.12] diameter_dict_parser:yeccpars2_127/7 82 0.02 10 [ 0.12] diameter_dict_parser:yeccgoto_avp_def/7 82 0.02 10 [ 0.12] diameter_codegen:'-files/2-fun-0-'/1 50 0.02 11 [ 0.22] diameter_codegen:'-c_avp_header/3-fun-0-'/3 50 0.02 11 [ 0.22] diameter_codegen:'-cs_imported_avp/3-fun-0-'/2 50 0.02 11 [ 0.22] diameter_codegen:'-cs_imported_avp/3-fun-1-'/3 50 0.02 11 [ 0.22] diameter_codegen:'-avp/4-fun-1-'/2 50 0.02 11 [ 0.22] orddict:reverse_pairs/2 93 0.02 11 [ 0.12] diameter_dict_util:vendor/1 82 0.02 11 [ 0.13] diameter_dict_util:foldl/3 59 0.02 11 [ 0.19] diameter_dict_util:'-find_avps/2-lc$^0/1-0-'/1 51 0.02 11 [ 0.22] diameter_dict_util:'-make/3-fun-0-'/3 94 0.02 11 [ 0.12] diameter_codegen:'-c_imported_avp_name/2-fun-0-'/3 50 0.02 12 [ 0.24] diameter_dict_parser:yeccpars2_6/7 107 0.02 12 [ 0.11] diameter_dict_parser:yeccpars2_129/7 82 0.02 12 [ 0.15] erlang:demonitor/2 10 0.02 12 [ 1.20] proplists:get_value/2 53 0.03 13 [ 0.25] erlang:'--'/2 83 0.03 13 [ 0.16] diameter_codegen:not_in/2 132 0.03 14 [ 0.11] diameter_codegen:c_base_avp/1 88 0.03 14 [ 0.16] diameter_dict_util:explode/3 94 0.03 14 [ 0.15] diameter_dict_parser:yeccpars2_108/7 131 0.03 14 [ 0.11] diameter_dict_util:'-p1/3-fun-1-'/4 131 0.03 15 [ 0.11] diameter_dict_parser:yeccpars2_110/7 131 0.03 15 [ 0.11] diameter_dict_parser:yeccgoto_enum_def/7 131 0.03 15 [ 0.11] diameter_dict_parser:yeccgoto_enum_defs/7 131 0.03 15 [ 0.11] diameter_codegen:c_avp_name_/3 132 0.03 16 [ 0.12] diameter_codegen:c_enumerated_avp/2 131 0.03 16 [ 0.12] diameter_dict_util:qual/2 77 0.03 16 [ 0.21] diameter_dict_parser:yeccpars2_111/7 131 0.03 16 [ 0.12] lists:ukeysplit_2/5 81 0.04 17 [ 0.21] diameter_codegen:c_avp_name/3 132 0.04 17 [ 0.13] diameter_dict_util:explode_avps/2 82 0.04 17 [ 0.21] diameter_dict_parser:yeccpars2_112/7 131 0.04 17 [ 0.13] diameter_codegen:'-encode_avp_flags/1-fun-0-'/2 80 0.04 18 [ 0.23] diameter_codegen:'-avp/4-fun-5-'/2 82 0.04 18 [ 0.22] diameter_codegen:'-types/1-fun-0-'/1 82 0.04 18 [ 0.22] dict:append_bkt/3 85 0.04 18 [ 0.21] diameter_make:is_path/1 136 0.04 18 [ 0.13] lists:split_1/5 96 0.04 19 [ 0.20] diameter_codegen:'-avp_header/1-fun-0-'/3 83 0.04 19 [ 0.23] diameter_codegen:'-avp/4-fun-6-'/1 82 0.04 19 [ 0.23] diameter_codegen:'-avp_name/1-fun-1-'/3 82 0.04 19 [ 0.23] diameter_dict_util:explode2/4 131 0.04 19 [ 0.15] diameter_codegen:encode_avp_flags/1 82 0.04 20 [ 0.24] diameter_dict_util:vendor_id/2 82 0.04 20 [ 0.24] diameter_dict_util:'-avp_flags_valid/3-fun-0-'/1 80 0.04 20 [ 0.25] diameter_dict_util:avp_type_known/3 82 0.04 21 [ 0.26] diameter_dict_util:avp_vendor_id/4 82 0.04 21 [ 0.26] orddict:find/2 156 0.05 22 [ 0.14] diameter_dict_util:avp_flags_valid/3 82 0.05 22 [ 0.27] lists:filter/2 86 0.05 23 [ 0.27] diameter_codegen:v/4 214 0.05 23 [ 0.11] lists:keymember/3 56 0.05 23 [ 0.41] diameter_dict_scanner:'-split/1-fun-1-'/1 109 0.05 24 [ 0.22] erlang:monitor/2 10 0.05 24 [ 2.40] filename:basename1/3 251 0.06 28 [ 0.11] diameter_dict_util:mk/2 109 0.06 28 [ 0.26] diameter_codegen:'-cs_enumerated_avp/1-fun-0-'/2 131 0.06 30 [ 0.23] diameter_dict_util:'-mk/2-fun-1-'/1 131 0.06 30 [ 0.23] erlang:list_to_integer/1 226 0.07 32 [ 0.14] diameter_dict_parser:yeccpars2_57/7 314 0.07 34 [ 0.11] diameter_dict_parser:yeccpars2_43/7 298 0.08 38 [ 0.13] diameter_dict_parser:yeccpars2_51/7 354 0.08 40 [ 0.11] diameter_dict_parser:yeccgoto_avps/7 375 0.08 40 [ 0.11] erlang:bitstring_to_list/1 284 0.08 40 [ 0.14] dict:maybe_expand_segs/1 152 0.09 41 [ 0.27] diameter_dict_parser:yeccpars2_47/7 365 0.09 41 [ 0.11] diameter_dict_util:delim/2 375 0.09 42 [ 0.11] diameter_dict_parser:yeccpars2_50/7 364 0.09 43 [ 0.12] diameter_dict_parser:yeccpars2_58/7 314 0.09 43 [ 0.14] diameter_dict_parser:yeccgoto_avp_name/7 365 0.09 43 [ 0.12] diameter_codegen:field/1 385 0.09 44 [ 0.11] diameter_dict_parser:yeccgoto_avp/7 375 0.09 44 [ 0.12] diameter_dict_parser:yeccgoto_avp_spec/7 364 0.09 44 [ 0.12] diameter_codegen:c_arity/2 385 0.09 45 [ 0.12] file:file_name_1/2 196 0.09 45 [ 0.23] diameter_dict_util:avp/1 375 0.09 45 [ 0.12] diameter_dict_parser:yeccpars2_23/7 374 0.09 45 [ 0.12] diameter_dict_parser:yeccgoto_avp_ref/7 375 0.09 45 [ 0.12] diameter_dict_parser:yeccgoto_diameter_name/7 374 0.09 45 [ 0.12] diameter_dict_parser:yeccpars2_44/7 375 0.10 46 [ 0.12] diameter_dict_parser:yeccpars2_62/7 375 0.10 47 [ 0.13] diameter_codegen:'-c_avp_arities/2-lc$^0/1-0-'/1 402 0.10 50 [ 0.12] diameter_dict_util:is_uint32/2 228 0.11 51 [ 0.22] lists:'-filter/2-lc$^0/1-0-'/2 308 0.11 52 [ 0.17] diameter_dict_util:avp/2 375 0.11 52 [ 0.14] diameter_codegen:vid/4 214 0.11 54 [ 0.25] diameter_codegen:arity/2 243 0.11 55 [ 0.23] diameter_dict_scanner:read_int/1 226 0.12 59 [ 0.26] diameter_dict_util:type/1 164 0.13 61 [ 0.37] filename:join1/4 476 0.14 66 [ 0.14] erlang:list_to_tuple/1 541 0.14 67 [ 0.12] filename:do_flatten/2 314 0.15 70 [ 0.22] diameter_dict_util:xa/5 422 0.15 72 [ 0.17] lists:member/2 554 0.16 75 [ 0.14] diameter_dict_util:key/1 131 0.16 76 [ 0.58] diameter_dict_util:'-make_body/1-fun-0-'/1 375 0.17 80 [ 0.21] diameter_dict_util:avp_is_defined/3 364 0.17 83 [ 0.23] diameter_dict_util:make_code/3 734 0.17 84 [ 0.11] diameter_codegen:'-a_record/2-fun-0-'/1 385 0.18 86 [ 0.22] diameter_dict_util:mo/3 838 0.18 86 [ 0.10] diameter_dict_parser:yeccpars2_19/7 766 0.18 89 [ 0.12] diameter_codegen:'-c_avp_arity/2-fun-0-'/2 385 0.19 90 [ 0.23] diameter_dict_scanner:'-split/1-fun-2-'/1 395 0.19 91 [ 0.23] lists:flatmap/2 396 0.20 95 [ 0.24] dict:put_bucket_s/3 304 0.20 95 [ 0.31] diameter_dict_parser:yeccgoto_ident/7 766 0.20 96 [ 0.13] dict:store/3 829 0.21 101 [ 0.12] dict:maybe_expand/2 857 0.21 101 [ 0.12] dict:fold_seg/4 816 0.22 106 [ 0.13] erlang:'++'/2 762 0.23 110 [ 0.14] lists:foldl/3 842 0.23 112 [ 0.13] diameter_dict_util:eval/1 845 0.24 115 [ 0.14] dict:maybe_expand_aux/2 857 0.25 122 [ 0.14] diameter_dict_util:x/3 838 0.27 128 [ 0.15] diameter_codegen:'-c_avp_arities/2-lc$^1/1-1-'/2 770 0.27 129 [ 0.17] diameter_dict_util:'-foldl/3-fun-0-'/3 543 0.27 132 [ 0.24] diameter_dict_util:'-insert_codes/1-fun-0-'/3 734 0.32 152 [ 0.21] diameter_dict_util:find/2 561 0.32 155 [ 0.28] erl_parse:not_string/4 1467 0.32 155 [ 0.11] diameter_dict_util:'-make_orddict/1-fun-1-'/3 838 0.36 175 [ 0.21] diameter_dict_util:store_new/5 821 0.37 177 [ 0.22] erlang:binary_to_list/1 12 0.37 180 [ 15.00] diameter_dict_util:'-examine/1-fun-0-'/4 838 0.38 183 [ 0.22] erlang:make_fun/3 1046 0.38 185 [ 0.18] dict:'-store/3-fun-0-'/3 829 0.42 200 [ 0.24] erlang:binary_to_term/1 1 0.44 214 [ 214.00] epp:default_encoding/0 1044 0.47 226 [ 0.22] diameter_dict_parser:yeccpars2/7 1954 0.47 227 [ 0.12] diameter_dict_scanner:is_digit/1 2119 0.49 235 [ 0.11] lists:dropwhile/2 1847 0.51 244 [ 0.13] erl_parse:enc_func/1 1044 0.51 244 [ 0.23] diameter_dict_parser:yeccpars1/7 1953 0.51 245 [ 0.13] lists:reverse/2 1594 0.52 249 [ 0.16] diameter_dict_scanner:splitwith/2 1040 0.52 251 [ 0.24] lists:splitwith/2 1067 0.54 258 [ 0.24] dict:on_bucket/3 857 0.54 259 [ 0.30] dict:get_bucket_s/2 1538 0.54 261 [ 0.17] dict:rehash/4 1206 0.58 280 [ 0.23] erlang:tuple_to_list/1 2311 0.62 297 [ 0.13] erl_parse:'-abstract/3-lc$^0/1-0-'/2 1420 0.64 309 [ 0.22] diameter_dict_scanner:scan/2 2695 0.65 315 [ 0.12] diameter_dict_scanner:word/1 814 0.66 318 [ 0.39] dict:get_bucket/2 1386 0.68 325 [ 0.23] dict:find/2 1384 0.68 326 [ 0.24] erl_parse:abstract/2 1044 0.68 326 [ 0.31] erl_parse:abstract_byte/2 1136 0.69 331 [ 0.29] diameter_codegen:avp_info/1 1398 0.83 400 [ 0.29] lists:map/2 1900 0.89 428 [ 0.23] diameter_dict_scanner:is_eol_ch/1 1847 0.91 440 [ 0.24] diameter_dict_scanner:'-split/1-fun-0-'/1 1847 0.93 446 [ 0.24] diameter_dict_scanner:tok/2 1953 0.93 449 [ 0.23] dict:fold_bucket/3 3178 1.00 483 [ 0.15] lists:reverse/1 2080 1.04 499 [ 0.24] dict:get_slot/2 2243 1.18 568 [ 0.25] diameter_dict_scanner:acc/3 2694 1.28 618 [ 0.23] diameter_codegen:remod/2 2872 1.32 633 [ 0.22] proplists:get_value/3 3492 1.39 668 [ 0.19] diameter_codegen:'-remod/2-lc$^0/1-0-'/2 3058 1.41 677 [ 0.22] erl_anno:new_location/1 7098 1.51 728 [ 0.10] erlang:spawn_opt/1 1 1.52 731 [ 731.00] orddict:store/3 3559 1.74 837 [ 0.24] erlang:setelement/3 3892 1.78 856 [ 0.22] diameter_dict_scanner:is_upper/1 4100 1.83 882 [ 0.22] erlang:phash/2 3297 1.95 940 [ 0.29] dict:find_val/2 7390 2.16 1041 [ 0.14] dict:store_bkt_val/3 4859 2.32 1114 [ 0.23] diameter_dict_scanner:is_name_ch/1 9714 2.32 1116 [ 0.11] lists:splitwith/3 9792 2.53 1216 [ 0.12] erl_parse:abstract_tuple_list/3 5646 2.72 1311 [ 0.23] erlang:list_to_atom/1 3609 2.76 1327 [ 0.37] erl_anno:new/1 7098 3.44 1653 [ 0.23] erl_parse:abstract_list/4 13813 3.77 1814 [ 0.13] erl_parse:abstract/3 7851 3.82 1840 [ 0.23] diameter_dict_scanner:'-split/1-fun-3-'/1 9210 4.24 2040 [ 0.22] diameter_dict_scanner:is_lower/1 9714 4.43 2133 [ 0.22] diameter_dict_scanner:is_alphanum/1 9714 4.50 2164 [ 0.22] diameter_codegen:is_printable_ascii/1 11352 5.25 2525 [ 0.22] diameter_dict_scanner:split/1 13351 5.39 2593 [ 0.19] ------------------------------------------------------------ ------ ------- ----- [----------] Total: 246336 100.00% 48114 [ 0.20] ****** Process <0.107.0> -- 98.89 % of profiled time *** FUNCTION CALLS % TIME [uS / CALLS] -------- ----- ------- ---- [----------] sys_core_bsm:module/2 1 0.00 0 [ 0.00] sys_core_bsm:bsm_an_2/4 1 0.00 0 [ 0.00] sys_core_bsm:bsm_an_3/4 1 0.00 0 [ 0.00] sys_core_bsm:bsm_nonempty/2 1 0.00 0 [ 0.00] sys_core_bsm:bsm_ensure_no_partition/2 1 0.00 0 [ 0.00] sys_core_bsm:bsm_ensure_no_partition_1/3 1 0.00 0 [ 0.00] erl_internal:add_predefined_functions/1 1 0.00 0 [ 0.00] erl_internal:predefined_functions/1 1 0.00 0 [ 0.00] erl_internal:get_optional_callbacks/1 1 0.00 0 [ 0.00] erl_internal:module_predef_func_beh_info/2 1 0.00 0 [ 0.00] erl_internal:module_predef_funcs_mod_info/1 1 0.00 0 [ 0.00] v3_core:expr_map/4 3 0.00 0 [ 0.00] v3_core:badmap_term/2 3 0.00 0 [ 0.00] v3_life:module/2 1 0.00 0 [ 0.00] v3_life:'-literal/2-lc$^0/1-1-'/2 3 0.00 0 [ 0.00] beam_record:module/2 1 0.00 0 [ 0.00] sys_core_fold:module/2 1 0.00 0 [ 0.00] sets:from_list/1 1 0.00 0 [ 0.00] sets:mk_seg/1 2 0.00 0 [ 0.00] lists:nth/2 3 0.00 0 [ 0.00] lists:sort/2 1 0.00 0 [ 0.00] lists:rukeymerge3_2/11 2 0.00 0 [ 0.00] lists:rukeymerge3_21_3/11 3 0.00 0 [ 0.00] lists:ukeymerge2_1/7 3 0.00 0 [ 0.00] diameter_exprecs:parse_transform/2 1 0.00 0 [ 0.00] diameter_exprecs:a_export/1 1 0.00 0 [ 0.00] diameter_exprecs:f_accessors/2 1 0.00 0 [ 0.00] diameter_exprecs:'#info-/1'/0 1 0.00 0 [ 0.00] diameter_exprecs:'#info-/2'/1 1 0.00 0 [ 0.00] diameter_exprecs:'#new-/1'/1 1 0.00 0 [ 0.00] diameter_exprecs:'#new-/2'/1 1 0.00 0 [ 0.00] diameter_exprecs:'#get-/1'/1 1 0.00 0 [ 0.00] diameter_exprecs:'#get-/2'/1 1 0.00 0 [ 0.00] diameter_exprecs:'#set-/2'/1 1 0.00 0 [ 0.00] diameter_exprecs:'-#set-/2/1-lc$^0/1-0-'/1 3 0.00 0 [ 0.00] diameter_exprecs:'-#get-/2/1-lc$^0/1-0-'/1 3 0.00 0 [ 0.00] diameter_exprecs:'-#get-/1/1-lc$^0/1-0-'/1 2 0.00 0 [ 0.00] diameter_exprecs:'-#new-/2/1-lc$^0/1-0-'/1 3 0.00 0 [ 0.00] diameter_exprecs:'-#new-/1/1-lc$^0/1-0-'/1 2 0.00 0 [ 0.00] diameter_exprecs:'-#info-/2/1-lc$^0/1-0-'/1 3 0.00 0 [ 0.00] zlib:open/0 1 0.00 0 [ 0.00] zlib:close/1 1 0.00 0 [ 0.00] zlib:deflateInit/2 1 0.00 0 [ 0.00] zlib:deflate/3 1 0.00 0 [ 0.00] zlib:deflateEnd/1 1 0.00 0 [ 0.00] zlib:compress/1 1 0.00 0 [ 0.00] zlib:collect/1 1 0.00 0 [ 0.00] zlib:arg_flush/1 1 0.00 0 [ 0.00] zlib:arg_level/1 1 0.00 0 [ 0.00] zlib:reverse/1 1 0.00 0 [ 0.00] zlib:reverse/2 3 0.00 0 [ 0.00] zlib:'-compress/1-after$^0/0-0-'/1 1 0.00 0 [ 0.00] code_server:call/1 1 0.00 0 [ 0.00] beam_peep:module/2 1 0.00 0 [ 0.00] beam_jump:module/2 1 0.00 0 [ 0.00] beam_flatten:module/2 1 0.00 0 [ 0.00] v3_codegen:functions/2 1 0.00 0 [ 0.00] v3_codegen:'-set_cg/6-anonymous-2-'/2 3 0.00 0 [ 0.00] v3_kernel:module/2 1 0.00 0 [ 0.00] v3_kernel:expr_map/5 3 0.00 0 [ 0.00] v3_kernel:map_group_pairs/5 3 0.00 0 [ 0.00] v3_kernel:'-map_split_pairs_1/5-anonymous-0-'/1 3 0.00 0 [ 0.00] v3_kernel:'-map_split_pairs/5-anonymous-1-'/3 3 0.00 0 [ 0.00] beam_z:module/2 1 0.00 0 [ 0.00] filename:skip_prefix/2 1 0.00 0 [ 0.00] filename:basename/2 1 0.00 0 [ 0.00] filename:basename/4 1 0.00 0 [ 0.00] filename:dirname/1 1 0.00 0 [ 0.00] filename:dirname/4 1 0.00 0 [ 0.00] filename:separators/0 2 0.00 0 [ 0.00] filename:do_flatten/2 3 0.00 0 [ 0.00] beam_receive:module/2 1 0.00 0 [ 0.00] code:ensure_loaded/1 1 0.00 0 [ 0.00] code:call/1 1 0.00 0 [ 0.00] dict:fetch_keys/1 1 0.00 0 [ 0.00] dict:'-to_list/1-fun-0-'/3 3 0.00 0 [ 0.00] os:type/0 2 0.00 0 [ 0.00] beam_opcodes:format_number/0 1 0.00 0 [ 0.00] beam_validator:validate/2 1 0.00 0 [ 0.00] beam_validator:verify_put_map/6 3 0.00 0 [ 0.00] beam_validator:assert_unique_map_keys/1 3 0.00 0 [ 0.00] beam_bsm:module/2 1 0.00 0 [ 0.00] beam_asm:module/5 1 0.00 0 [ 0.00] beam_asm:assemble/5 1 0.00 0 [ 0.00] beam_asm:on_load/2 1 0.00 0 [ 0.00] beam_asm:build_file/9 1 0.00 0 [ 0.00] beam_asm:finalize_fun_table/2 1 0.00 0 [ 0.00] beam_asm:build_form/2 1 0.00 0 [ 0.00] beam_asm:flatten_exports/1 2 0.00 0 [ 0.00] beam_asm:flatten_imports/1 1 0.00 0 [ 0.00] beam_asm:build_attributes/4 1 0.00 0 [ 0.00] beam_asm:build_line_table/1 1 0.00 0 [ 0.00] beam_asm:set_vsn_attribute/2 1 0.00 0 [ 0.00] beam_asm:'-build_line_table/1-lbc$^1/2-1-'/2 2 0.00 0 [ 0.00] beam_asm:'-build_line_table/1-lc$^0/1-0-'/1 1 0.00 0 [ 0.00] beam_asm:'-build_file/9-lc$^1/1-1-'/1 2 0.00 0 [ 0.00] beam_block:module/2 1 0.00 0 [ 0.00] unicode:characters_to_binary/1 1 0.00 0 [ 0.00] beam_dict:new/0 1 0.00 0 [ 0.00] beam_dict:atom_table/2 1 0.00 0 [ 0.00] beam_dict:string_table/1 1 0.00 0 [ 0.00] beam_dict:lambda_table/1 1 0.00 0 [ 0.00] beam_dict:line_table/1 1 0.00 0 [ 0.00] beam_dict:'-line_table/1-lc$^0/1-0-'/1 3 0.00 0 [ 0.00] orddict:to_list/1 3 0.00 0 [ 0.00] erl_lint:value_option/7 1 0.00 0 [ 0.00] erl_lint:module/3 1 0.00 0 [ 0.00] erl_lint:compiler_options/1 1 0.00 0 [ 0.00] erl_lint:start/2 1 0.00 0 [ 0.00] erl_lint:return_status/1 1 0.00 0 [ 0.00] erl_lint:pack_errors/1 1 0.00 0 [ 0.00] erl_lint:pack_warnings/1 2 0.00 0 [ 0.00] erl_lint:forms/2 1 0.00 0 [ 0.00] erl_lint:includes_qlc_hrl/2 1 0.00 0 [ 0.00] erl_lint:eval_file_attribute/2 1 0.00 0 [ 0.00] erl_lint:start_state/2 1 0.00 0 [ 0.00] erl_lint:eof/2 1 0.00 0 [ 0.00] erl_lint:bif_clashes/2 1 0.00 0 [ 0.00] erl_lint:not_deprecated/2 1 0.00 0 [ 0.00] erl_lint:disallowed_compile_flags/2 1 0.00 0 [ 0.00] erl_lint:post_traversal_check/2 1 0.00 0 [ 0.00] erl_lint:check_behaviour/1 1 0.00 0 [ 0.00] erl_lint:behaviour_check/2 1 0.00 0 [ 0.00] erl_lint:all_behaviour_callbacks/3 1 0.00 0 [ 0.00] erl_lint:behaviour_missing_callbacks/2 1 0.00 0 [ 0.00] erl_lint:behaviour_conflicting/2 1 0.00 0 [ 0.00] erl_lint:behaviour_add_conflicts/2 1 0.00 0 [ 0.00] erl_lint:check_deprecated/2 1 0.00 0 [ 0.00] erl_lint:check_imports/2 1 0.00 0 [ 0.00] erl_lint:check_inlines/2 1 0.00 0 [ 0.00] erl_lint:check_unused_functions/2 1 0.00 0 [ 0.00] erl_lint:check_undefined_functions/1 1 0.00 0 [ 0.00] erl_lint:check_undefined_types/1 1 0.00 0 [ 0.00] erl_lint:check_bif_clashes/2 1 0.00 0 [ 0.00] erl_lint:check_option_functions/4 3 0.00 0 [ 0.00] erl_lint:nowarn_function/2 1 0.00 0 [ 0.00] erl_lint:func_line_warning/3 1 0.00 0 [ 0.00] erl_lint:func_line_error/3 3 0.00 0 [ 0.00] erl_lint:check_untyped_records/2 1 0.00 0 [ 0.00] erl_lint:check_unused_records/2 1 0.00 0 [ 0.00] erl_lint:check_callback_information/1 1 0.00 0 [ 0.00] erl_lint:export/3 2 0.00 0 [ 0.00] erl_lint:exports/1 1 0.00 0 [ 0.00] erl_lint:check_on_load/1 1 0.00 0 [ 0.00] erl_lint:check_specs_without_function/1 1 0.00 0 [ 0.00] erl_lint:check_functions_without_spec/2 1 0.00 0 [ 0.00] erl_lint:check_unused_types/2 1 0.00 0 [ 0.00] erl_lint:check_local_opaque_types/1 1 0.00 0 [ 0.00] erl_lint:check_dialyzer_attribute/2 1 0.00 0 [ 0.00] erl_lint:merge_state/2 1 0.00 0 [ 0.00] erl_lint:local_functions/1 1 0.00 0 [ 0.00] erl_lint:auto_import_suppressed/1 1 0.00 0 [ 0.00] erl_lint:'-auto_import_suppressed/1-lc$^1/1-1-'/1 1 0.00 0 [ 0.00] erl_lint:'-auto_import_suppressed/1-lc$^0/1-0-'/1 6 0.00 0 [ 0.00] erl_lint:'-vtmerge_pat/2-fun-0-'/3 1 0.00 0 [ 0.00] erl_lint:'-expr/3-fun-1-'/3 3 0.00 0 [ 0.00] erl_lint:'-nowarn_function/2-lc$^0/1-0-'/2 6 0.00 0 [ 0.00] erl_lint:'-check_option_functions/4-lc$^4/1-4-'/2 3 0.00 0 [ 0.00] erl_lint:'-check_option_functions/4-lc$^1/1-1-'/4 6 0.00 0 [ 0.00] erl_lint:'-check_undefined_types/1-lc$^0/1-0-'/3 1 0.00 0 [ 0.00] erl_lint:'-behaviour_check/2-lc$^2/1-1-'/2 1 0.00 0 [ 0.00] erl_lint:'-not_deprecated/2-lc$^5/1-5-'/1 1 0.00 0 [ 0.00] erl_lint:'-not_deprecated/2-lc$^4/1-4-'/1 1 0.00 0 [ 0.00] erl_lint:'-not_deprecated/2-lc$^3/1-3-'/1 1 0.00 0 [ 0.00] erl_lint:'-not_deprecated/2-lc$^1/1-1-'/3 2 0.00 0 [ 0.00] erl_lint:'-pack_warnings/1-lc$^0/1-2-'/1 2 0.00 0 [ 0.00] erl_lint:'-pack_warnings/1-lc$^1/1-0-'/2 2 0.00 0 [ 0.00] erl_expand_records:module/2 1 0.00 0 [ 0.00] erl_expand_records:compiler_options/1 1 0.00 0 [ 0.00] erl_expand_records:init_calltype/1 1 0.00 0 [ 0.00] erl_expand_records:record_match/6 2 0.00 0 [ 0.00] sofs:from_external/2 1 0.00 0 [ 0.00] sofs:set/2 1 0.00 0 [ 0.00] sofs:converse/1 1 0.00 0 [ 0.00] sofs:drestriction/2 1 0.00 0 [ 0.00] sofs:drestriction/3 1 0.00 0 [ 0.00] sofs:family_to_relation/1 1 0.00 0 [ 0.00] sofs:family_specification/2 1 0.00 0 [ 0.00] sofs:is_element_type/1 1 0.00 0 [ 0.00] sofs:rel_type/3 1 0.00 0 [ 0.00] sofs:relprod/2 1 0.00 0 [ 0.00] sofs:relprod1/2 1 0.00 0 [ 0.00] sofs:converse/2 1 0.00 0 [ 0.00] sofs:restrict/2 1 0.00 0 [ 0.00] sofs:family2rel/2 1 0.00 0 [ 0.00] sofs:fam_spec/4 1 0.00 0 [ 0.00] beam_a:module/2 1 0.00 0 [ 0.00] beam_trim:module/2 1 0.00 0 [ 0.00] sys_core_dsetel:module/2 1 0.00 0 [ 0.00] sys_core_dsetel:visit_module/1 1 0.00 0 [ 0.00] cerl:module_name/1 1 0.00 0 [ 0.00] cerl:map_es/1 3 0.00 0 [ 0.00] cerl:map_arg/1 3 0.00 0 [ 0.00] cerl:update_c_map/3 3 0.00 0 [ 0.00] cerl:map_pair_key/1 3 0.00 0 [ 0.00] cerl:map_pair_val/1 3 0.00 0 [ 0.00] cerl:map_pair_op/1 3 0.00 0 [ 0.00] cerl:ann_c_map_pair/4 3 0.00 0 [ 0.00] cerl:update_c_map_pair/4 3 0.00 0 [ 0.00] cerl:is_c_fname/1 3 0.00 0 [ 0.00] erlang:open_port/2 1 0.00 0 [ 0.00] erlang:port_command/2 1 0.00 0 [ 0.00] erlang:port_close/1 1 0.00 0 [ 0.00] erl_parse:new_anno/1 2 0.00 0 [ 0.00] compile:expand_opts/1 1 0.00 0 [ 0.00] compile:expand_opt/2 5 0.00 0 [ 0.00] compile:internal/2 1 0.00 0 [ 0.00] compile:build_compile/1 1 0.00 0 [ 0.00] compile:internal_comp/5 1 0.00 0 [ 0.00] compile:comp_ret_ok/2 1 0.00 0 [ 0.00] compile:werror/1 1 0.00 0 [ 0.00] compile:messages_per_file/1 1 0.00 0 [ 0.00] compile:mpf/1 2 0.00 0 [ 0.00] compile:passes/2 1 0.00 0 [ 0.00] compile:fix_first_pass/1 1 0.00 0 [ 0.00] compile:standard_passes/0 1 0.00 0 [ 0.00] compile:core_passes/0 1 0.00 0 [ 0.00] compile:kernel_passes/0 1 0.00 0 [ 0.00] compile:transform_module/2 1 0.00 0 [ 0.00] compile:foldl_transform/3 2 0.00 0 [ 0.00] compile:core_transforms/2 1 0.00 0 [ 0.00] compile:foldl_core_transforms/3 1 0.00 0 [ 0.00] compile:get_module/1 1 0.00 0 [ 0.00] compile:add_default_base/2 1 0.00 0 [ 0.00] compile:lint_module/2 1 0.00 0 [ 0.00] compile:expand_records/2 1 0.00 0 [ 0.00] compile:core/2 1 0.00 0 [ 0.00] compile:v3_kernel/2 1 0.00 0 [ 0.00] compile:test_old_inliner/1 2 0.00 0 [ 0.00] compile:test_core_inliner/1 2 0.00 0 [ 0.00] compile:test_any_inliner/1 1 0.00 0 [ 0.00] compile:save_abstract_code/2 1 0.00 0 [ 0.00] compile:keep_compile_option/1 4 0.00 0 [ 0.00] compile:beam_asm/2 1 0.00 0 [ 0.00] compile:test_native/1 1 0.00 0 [ 0.00] compile:is_native_enabled/1 6 0.00 0 [ 0.00] compile:report_warnings/1 1 0.00 0 [ 0.00] compile:outfile/3 1 0.00 0 [ 0.00] compile:objfile/2 1 0.00 0 [ 0.00] compile:'-core_transforms/2-lc$^0/1-0-'/1 6 0.00 0 [ 0.00] compile:'-foldl_transform/3-anonymous-2-'/3 1 0.00 0 [ 0.00] compile:'-foldl_transform/3-anonymous-0-'/3 1 0.00 0 [ 0.00] compile:'-asm_passes/0-anonymous-4-'/2 1 0.00 0 [ 0.00] compile:'-asm_passes/0-anonymous-0-'/1 1 0.00 0 [ 0.00] compile:'-kernel_passes/0-anonymous-2-'/2 1 0.00 0 [ 0.00] compile:'-core_passes/0-anonymous-7-'/2 1 0.00 0 [ 0.00] compile:'-core_passes/0-anonymous-5-'/1 1 0.00 0 [ 0.00] compile:'-core_passes/0-anonymous-3-'/1 1 0.00 0 [ 0.00] compile:'-core_passes/0-anonymous-1-'/1 1 0.00 0 [ 0.00] compile:'-standard_passes/0-anonymous-6-'/2 1 0.00 0 [ 0.00] compile:'-standard_passes/0-anonymous-5-'/2 1 0.00 0 [ 0.00] compile:'-standard_passes/0-anonymous-4-'/2 1 0.00 0 [ 0.00] compile:'-standard_passes/0-anonymous-3-'/2 1 0.00 0 [ 0.00] compile:'-standard_passes/0-anonymous-0-'/2 1 0.00 0 [ 0.00] compile:'-messages_per_file/1-anonymous-5-'/1 2 0.00 0 [ 0.00] compile:'-messages_per_file/1-lc$^0/1-0-'/1 1 0.00 0 [ 0.00] compile:'-expand_opts/1-anonymous-0-'/2 5 0.00 0 [ 0.00] compile:'-do_compile/2-anonymous-1-'/1 1 0.00 0 [ 0.00] compile:'-do_compile/2-anonymous-0-'/2 1 0.00 0 [ 0.00] beam_dead:module/2 1 0.00 0 [ 0.00] beam_dead:equal_ops/2 1 0.00 0 [ 0.00] beam_dead:shortcut_bs_ctb_1/4 1 0.00 0 [ 0.00] beam_split:module/2 1 0.00 0 [ 0.00] beam_except:module/2 1 0.00 0 [ 0.00] ordsets:new/0 1 0.00 0 [ 0.00] erlang:system_info/1 2 0.00 0 [ 0.00] erlang:make_tuple/2 2 0.00 0 [ 0.00] erlang:exit/1 1 0.00 0 [ 0.00] beam_clean:module/2 1 0.00 1 [ 1.00] beam_clean:rootset/3 1 0.00 1 [ 1.00] beam_clean:bs_fix/1 1 0.00 1 [ 1.00] sys_core_bsm:bsm_ensure_no_partition_2/5 3 0.00 1 [ 0.33] erl_internal:'-predefined_functions/1-lc$^3/1-3-'/1 3 0.00 1 [ 0.33] erl_internal:'-predefined_functions/1-lc$^2/1-2-'/1 3 0.00 1 [ 0.33] v3_core:module/2 1 0.00 1 [ 1.00] v3_core:map_build_pairs/4 3 0.00 1 [ 0.33] v3_core:maybe_warn_repeated_keys/4 3 0.00 1 [ 0.33] v3_core:is_valid_map_src/1 3 0.00 1 [ 0.33] v3_core:'-is_simple/1-anonymous-1-'/1 8 0.00 1 [ 0.13] v3_core:'-is_simple/1-anonymous-0-'/1 6 0.00 1 [ 0.17] sys_core_fold:sub_subst_scope/1 3 0.00 1 [ 0.33] cerl_sets:to_list/1 3 0.00 1 [ 0.33] cerl_sets:union/2 3 0.00 1 [ 0.33] beam_bs:module/2 1 0.00 1 [ 1.00] sets:new/0 2 0.00 1 [ 0.50] sets:expand_segs/2 2 0.00 1 [ 0.50] lists:usort_1/2 3 0.00 1 [ 0.33] zlib:collect/2 3 0.00 1 [ 0.33] zlib:call/3 3 0.00 1 [ 0.33] v3_codegen:module/2 1 0.00 1 [ 1.00] v3_codegen:set_cg_map/7 3 0.00 1 [ 0.33] v3_codegen:cg_build_args/2 5 0.00 1 [ 0.20] v3_codegen:fetch_var_prefer_y/2 6 0.00 1 [ 0.17] v3_codegen:find_stack/3 6 0.00 1 [ 0.17] v3_codegen:'-set_cg/6-lc$^1/1-1-'/1 6 0.00 1 [ 0.17] v3_codegen:'-set_cg/6-lc$^0/1-0-'/1 6 0.00 1 [ 0.17] v3_kernel:map_split_pairs/5 3 0.00 1 [ 0.33] v3_kernel:map_split_pairs_1/5 6 0.00 1 [ 0.17] v3_kernel:map_remove_dup_keys/2 6 0.00 1 [ 0.17] v3_kernel:map_key_clean/1 3 0.00 1 [ 0.33] v3_kernel:lit_list_vars/1 8 0.00 1 [ 0.13] v3_kernel:'-map_group_pairs/5-lc$^1/1-1-'/1 6 0.00 1 [ 0.17] v3_kernel:'-map_group_pairs/5-lc$^0/1-0-'/1 6 0.00 1 [ 0.17] filename:flatten/1 3 0.00 1 [ 0.33] dict:to_list/1 4 0.00 1 [ 0.25] beam_reorder:module/2 1 0.00 1 [ 1.00] beam_validator:module/2 1 0.00 1 [ 1.00] beam_validator:extract_map_keys/1 3 0.00 1 [ 0.33] beam_validator:validate_bs_get/6 13 0.00 1 [ 0.08] beam_validator:'-verify_put_map/6-anonymous-0-'/2 6 0.00 1 [ 0.17] beam_asm:'-finalize_fun_table/2-lc$^0/1-0-'/2 7 0.00 1 [ 0.14] beam_asm:'-build_file/9-lc$^0/1-0-'/1 7 0.00 1 [ 0.14] beam_type:module/2 1 0.00 1 [ 1.00] beam_dict:highest_opcode/1 1 0.00 1 [ 1.00] beam_dict:local_table/1 1 0.00 1 [ 1.00] beam_dict:import_table/1 1 0.00 1 [ 1.00] beam_dict:literal_table/1 1 0.00 1 [ 1.00] erl_lint:map_fields/4 6 0.00 1 [ 0.17] erl_lint:'-check_option_functions/4-lc$^3/1-3-'/1 3 0.00 1 [ 0.33] erl_lint:'-start/2-lc$^1/1-1-'/1 4 0.00 1 [ 0.25] erl_lint:'-value_option/7-fun-0-'/7 5 0.00 1 [ 0.20] erl_expand_records:record_upd_fs/3 4 0.00 1 [ 0.25] sofs:relation/1 2 0.00 1 [ 0.50] sofs:relative_product1/2 1 0.00 1 [ 1.00] sofs:image/2 1 0.00 1 [ 1.00] sofs:check_for_sort/2 1 0.00 1 [ 1.00] sys_core_dsetel:'-visit/2-anonymous-6-'/2 3 0.00 1 [ 0.33] cerl:is_c_atom/1 6 0.00 1 [ 0.17] erlang:apply/2 1 0.00 1 [ 1.00] erlang:port_control/3 3 0.00 1 [ 0.33] erl_parse:anno_to_term/1 1 0.00 1 [ 1.00] compile:passes_1/1 5 0.00 1 [ 0.20] compile:pass/1 4 0.00 1 [ 0.25] compile:select_list_passes/2 3 0.00 1 [ 0.33] compile:asm_passes/0 1 0.00 1 [ 1.00] compile:debug_info/1 1 0.00 1 [ 1.00] compile:effects_code_generation/1 8 0.00 1 [ 0.13] compile:'-debug_info/1-anonymous-0-'/1 4 0.00 1 [ 0.25] compile:'-transform_module/2-lc$^0/1-0-'/1 7 0.00 1 [ 0.14] compile:'-messages_per_file/1-anonymous-3-'/2 3 0.00 1 [ 0.33] maps:merge/2 3 0.00 1 [ 0.33] unicode:characters_to_binary/2 1 0.00 1 [ 1.00] erlang:demonitor/2 1 0.00 1 [ 1.00] erlang:function_exported/3 1 0.00 1 [ 1.00] beam_clean:clean_labels/1 3 0.00 2 [ 0.67] v3_core:map_build_pairs_1/3 6 0.00 2 [ 0.33] sys_core_fold:body/2 9 0.00 2 [ 0.22] sys_core_fold:pair_list/3 9 0.00 2 [ 0.22] sys_core_fold:'-pair_list/3-lc$^0/1-0-'/3 9 0.00 2 [ 0.22] beam_utils:is_not_used/3 17 0.00 2 [ 0.12] lists:ukeymergel/3 10 0.00 2 [ 0.20] lists:ukeymerge3_1/11 7 0.00 2 [ 0.29] diameter_exprecs:is_head/1 23 0.00 2 [ 0.09] diameter_exprecs:export/1 17 0.00 2 [ 0.12] diameter_exprecs:accessors/2 17 0.00 2 [ 0.12] diameter_exprecs:'info-'/1 17 0.00 2 [ 0.12] diameter_exprecs:'new-'/1 17 0.00 2 [ 0.12] diameter_exprecs:'new--'/1 17 0.00 2 [ 0.12] diameter_exprecs:'get--'/1 17 0.00 2 [ 0.12] diameter_exprecs:'get-'/1 17 0.00 2 [ 0.12] diameter_exprecs:'set-'/1 17 0.00 2 [ 0.12] v3_kernel:'-map_split_pairs/5-lc$^0/1-0-'/1 6 0.00 2 [ 0.33] proplists:get_value/2 5 0.00 2 [ 0.40] erl_lint:pseudolocals/0 6 0.00 2 [ 0.33] erl_lint:record_def/4 18 0.00 2 [ 0.11] erl_lint:check_type/2 18 0.00 2 [ 0.11] erl_lint:handle_comprehension/4 17 0.00 2 [ 0.12] sofs:relprod2/5 17 0.00 2 [ 0.12] sofs:relprod/8 17 0.00 2 [ 0.12] beam_trim:frame_layout_2/1 17 0.00 2 [ 0.12] cerl:ann_c_map/3 15 0.00 2 [ 0.13] compile:'-beam_asm/2-lc$^0/1-0-'/1 5 0.00 2 [ 0.40] compile:'-test_core_inliner/1-anonymous-1-'/1 10 0.00 2 [ 0.20] compile:'-test_core_inliner/1-anonymous-0-'/1 10 0.00 2 [ 0.20] compile:'-test_old_inliner/1-anonymous-0-'/1 10 0.00 2 [ 0.20] erlang:make_ref/0 13 0.00 2 [ 0.15] erlang:binary_to_list/1 13 0.00 2 [ 0.15] erl_internal:'-get_optional_callbacks/1-lc$^0/1-0-'/1 24 0.00 3 [ 0.13] erl_internal:'-predefined_functions/1-lc$^1/1-1-'/1 24 0.00 3 [ 0.13] sys_core_fold:pair/3 9 0.00 3 [ 0.33] lists:flatten/1 9 0.00 3 [ 0.33] lists:keysplit_1_1/10 22 0.00 3 [ 0.14] lists:rkeymergel/4 19 0.00 3 [ 0.16] diameter_exprecs:'-#set-/2/1-fun-1-'/1 17 0.00 3 [ 0.18] diameter_exprecs:'-#get-/2/1-fun-1-'/1 17 0.00 3 [ 0.18] diameter_exprecs:'-#get-/1/1-fun-1-'/1 17 0.00 3 [ 0.18] diameter_exprecs:'-#new-/2/1-fun-1-'/1 17 0.00 3 [ 0.18] diameter_exprecs:'-#new-/1/1-fun-1-'/1 17 0.00 3 [ 0.18] diameter_exprecs:'-#info-/2/1-fun-1-'/1 17 0.00 3 [ 0.18] diameter_exprecs:'-parse_transform/2-lc$^2/1-1-'/1 23 0.00 3 [ 0.13] v3_codegen:select_cons/6 18 0.00 3 [ 0.17] v3_codegen:select_nil/6 17 0.00 3 [ 0.18] v3_codegen:get_bin_size_reg/2 13 0.00 3 [ 0.23] v3_codegen:bif_cg/7 17 0.00 3 [ 0.18] v3_codegen:'-cg_build_args/2-lc$^0/1-0-'/2 15 0.00 3 [ 0.20] v3_kernel:'-lit_list_vars/1-anonymous-0-'/2 16 0.00 3 [ 0.19] dict:expand_segs/2 8 0.00 3 [ 0.38] beam_asm:finalize_fun_table_1/2 7 0.00 3 [ 0.43] beam_asm:chunk/2 5 0.00 3 [ 0.60] beam_asm:filter_essentials/1 8 0.00 3 [ 0.38] beam_type:simplify_select_val_int/2 13 0.00 3 [ 0.23] beam_dict:export_table/1 1 0.00 3 [ 3.00] erl_lint:'-start/2-lc$^0/1-0-'/1 16 0.00 3 [ 0.19] beam_dead:shortcut_bs_start_match_1/4 13 0.00 3 [ 0.23] erlang:monitor/2 1 0.00 3 [ 3.00] v3_core:attribute/1 20 0.00 4 [ 0.20] sys_core_fold:sub_subst_scope_1/3 25 0.00 4 [ 0.16] lists:do_flatten/2 21 0.00 4 [ 0.19] lists:rukeymergel/3 22 0.00 4 [ 0.18] lists:rukeymerge2_2/8 27 0.00 4 [ 0.15] diameter_exprecs:fields/2 17 0.00 4 [ 0.24] diameter_exprecs:fname/1 14 0.00 4 [ 0.29] diameter_exprecs:'#new-X/0'/1 17 0.00 4 [ 0.24] diameter_exprecs:'#new-X/1'/1 17 0.00 4 [ 0.24] diameter_exprecs:'#set-X/2'/2 17 0.00 4 [ 0.24] diameter_exprecs:'#get-X/1'/2 17 0.00 4 [ 0.24] diameter_exprecs:'#get-X/2'/2 17 0.00 4 [ 0.24] diameter_exprecs:'#info-X/1'/2 17 0.00 4 [ 0.24] diameter_exprecs:'-f_accessors/2-fun-0-'/2 17 0.00 4 [ 0.24] diameter_exprecs:'-a_export/1-fun-0-'/1 17 0.00 4 [ 0.24] epp:default_encoding/0 17 0.00 4 [ 0.24] v3_codegen:select_binary/6 14 0.00 4 [ 0.29] v3_codegen:put_reg/2 18 0.00 4 [ 0.22] v3_kernel:include_attribute/1 20 0.00 4 [ 0.20] v3_kernel:iletrec_funs_gen/3 17 0.00 4 [ 0.24] v3_kernel:'-uexpr/3-anonymous-18-'/2 17 0.00 4 [ 0.24] v3_kernel:'-iletrec_funs/2-anonymous-1-'/2 17 0.00 4 [ 0.24] proplists:get_bool/2 18 0.00 4 [ 0.22] proplists:delete/2 15 0.00 4 [ 0.27] beam_validator:verify_no_ct_1/1 17 0.00 4 [ 0.24] beam_validator:is_bif_safe/2 17 0.00 4 [ 0.24] beam_block:alloc_may_pass/1 17 0.00 4 [ 0.24] erl_lint:bool_option/4 15 0.00 4 [ 0.27] erl_lint:attribute_state/2 22 0.00 4 [ 0.18] erl_lint:vt_no_unsafe/1 17 0.00 4 [ 0.24] erl_lint:vt_no_unused/1 17 0.00 4 [ 0.24] erl_expand_records:strict_record_access/2 34 0.00 4 [ 0.12] erl_expand_records:opt_rec_vars/2 34 0.00 4 [ 0.12] sofs:relprod1/5 36 0.00 4 [ 0.11] beam_trim:trim_instructions/1 17 0.00 4 [ 0.24] beam_trim:config_cost_1/2 17 0.00 4 [ 0.24] beam_trim:expand_config/2 17 0.00 4 [ 0.24] beam_trim:create_map/2 17 0.00 4 [ 0.24] beam_trim:try_remap/3 17 0.00 4 [ 0.24] beam_trim:frame_layout/3 17 0.00 4 [ 0.24] beam_trim:'-frame_layout/3-anonymous-0-'/3 17 0.00 4 [ 0.24] beam_trim:'-expand_config/2-lc$^0/1-0-'/1 17 0.00 4 [ 0.24] sys_core_dsetel:visit_def_list/2 17 0.00 4 [ 0.24] sys_core_dsetel:'-visit_def_list/2-anonymous-0-'/2 17 0.00 4 [ 0.24] cerl:update_c_letrec/3 17 0.00 4 [ 0.24] cerl:letrec_defs/1 17 0.00 4 [ 0.24] cerl:letrec_body/1 17 0.00 4 [ 0.24] erl_parse:enc_func/1 17 0.00 4 [ 0.24] erl_parse:'-new_anno/1-fun-0-'/2 16 0.00 4 [ 0.25] erts_internal:port_close/1 1 0.00 4 [ 4.00] v3_core:preprocess_quals/3 17 0.00 5 [ 0.29] v3_core:list_gen_pattern/3 17 0.00 5 [ 0.29] v3_core:'-uexpr/3-anonymous-3-'/1 17 0.00 5 [ 0.29] v3_core:'-uexpr/3-anonymous-2-'/3 17 0.00 5 [ 0.29] v3_life:is_gc_bif/2 17 0.00 5 [ 0.29] v3_life:'-k_bif/4-lc$^0/1-2-'/1 17 0.00 5 [ 0.29] sys_core_fold:v_is_value/2 34 0.00 5 [ 0.15] lists:keymergel/4 32 0.00 5 [ 0.16] lists:ukeymerge3_21_3/9 36 0.00 5 [ 0.14] diameter_exprecs:'-parse_transform/2-lc$^1/1-0-'/1 23 0.00 5 [ 0.22] diameter_exprecs:'-parse_transform/2-fun-0-'/1 23 0.00 5 [ 0.22] v3_codegen:select_extract_bin/12 13 0.00 5 [ 0.38] v3_codegen:build_bs_instr/8 13 0.00 5 [ 0.38] v3_codegen:internal_cg/7 17 0.00 5 [ 0.29] v3_codegen:'-match_cg/5-anonymous-0-'/4 37 0.00 5 [ 0.14] v3_kernel:group_bin_seg/2 26 0.00 5 [ 0.19] v3_kernel:'-uexpr/3-anonymous-19-'/2 17 0.00 5 [ 0.29] v3_kernel:'-uexpr/3-anonymous-15-'/2 17 0.00 5 [ 0.29] v3_kernel:'-uexpr/3-anonymous-14-'/2 17 0.00 5 [ 0.29] v3_kernel:'-uexpr/3-anonymous-3-'/2 17 0.00 5 [ 0.29] beam_validator:bif_type/3 17 0.00 5 [ 0.29] beam_asm:finalize_fun_table_2/3 18 0.00 5 [ 0.28] beam_block:alloc_live_regs/2 17 0.00 5 [ 0.29] beam_type:get_bs_integer_type/1 13 0.00 5 [ 0.38] beam_dict:string/2 13 0.00 5 [ 0.38] beam_dict:'-lambda_table/1-lc$^1/1-1-'/1 18 0.00 5 [ 0.28] beam_dict:'-import_table/1-lc$^0/1-0-'/1 23 0.00 5 [ 0.22] erl_lint:normalise_fields/1 18 0.00 5 [ 0.28] erl_lint:nowarn/0 18 0.00 5 [ 0.28] erl_lint:lc_quals/3 17 0.00 5 [ 0.29] erl_lint:handle_generator/5 17 0.00 5 [ 0.29] erl_lint:shadow_vars/4 17 0.00 5 [ 0.29] erl_expand_records:normalise_fields/1 18 0.00 5 [ 0.28] erl_expand_records:make_list/2 17 0.00 5 [ 0.29] beam_trim:trim_instructions_1/4 34 0.00 5 [ 0.15] beam_trim:save_config/4 17 0.00 5 [ 0.29] sys_core_dsetel:'-visit/2-lc$^0/1-0-'/1 17 0.00 5 [ 0.29] compile:select_cond/5 36 0.00 5 [ 0.14] compile:clean_parse_transforms_1/2 48 0.00 5 [ 0.10] erlang:term_to_binary/1 2 0.00 5 [ 2.50] v3_core:generator/4 17 0.00 6 [ 0.35] v3_core:lc_guard_tests/2 17 0.00 6 [ 0.35] v3_core:new_fun_name/2 17 0.00 6 [ 0.35] v3_core:'-cexpr/3-anonymous-0-'/2 17 0.00 6 [ 0.35] sets:maybe_expand_segs/1 18 0.00 6 [ 0.33] v3_codegen:select_extract_cons/6 18 0.00 6 [ 0.33] v3_kernel:ubody_used_vars/2 17 0.00 6 [ 0.35] v3_kernel:iletrec_funs/2 17 0.00 6 [ 0.35] v3_kernel:'-expr/3-anonymous-2-'/4 17 0.00 6 [ 0.35] beam_asm:bif_type/2 17 0.00 6 [ 0.35] beam_asm:'-flatten_imports/1-anonymous-0-'/1 22 0.00 6 [ 0.27] beam_block:x_live/2 34 0.00 6 [ 0.18] erl_lint:guard_test2/3 34 0.00 6 [ 0.18] erl_lint:def_fields/3 18 0.00 6 [ 0.33] erl_lint:exist_record/3 34 0.00 6 [ 0.18] erl_lint:check_type/3 18 0.00 6 [ 0.33] erl_expand_records:field_names/1 17 0.00 6 [ 0.35] erl_expand_records:record_info_call/3 34 0.00 6 [ 0.18] compile:compile_options/1 48 0.00 6 [ 0.13] erlang:list_to_bitstring/1 14 0.00 6 [ 0.43] lists:rkeymerge2_1/6 56 0.00 7 [ 0.13] lists:rkeymerge2_2/7 53 0.00 7 [ 0.13] eval_bits:match_field/10 56 0.00 7 [ 0.13] v3_codegen:protected_cg/7 37 0.00 7 [ 0.19] v3_codegen:test_cg/7 37 0.00 7 [ 0.19] v3_codegen:maybe_adjust_stack/5 20 0.00 7 [ 0.35] v3_codegen:'-select_bin_segs/5-anonymous-0-'/5 56 0.00 7 [ 0.13] v3_codegen:'-turn_yreg/2-lc$^0/1-0-'/2 37 0.00 7 [ 0.19] v3_kernel:attributes/1 21 0.00 7 [ 0.33] v3_kernel:new_fun_name/2 17 0.00 7 [ 0.41] v3_kernel:bif_returns/3 17 0.00 7 [ 0.41] v3_kernel:'-iletrec_funs_gen/3-anonymous-0-'/3 17 0.00 7 [ 0.41] v3_kernel:'-iletrec_funs/2-anonymous-3-'/3 17 0.00 7 [ 0.41] v3_kernel:'-iletrec_funs/2-lc$^0/1-0-'/1 17 0.00 7 [ 0.41] v3_kernel:'-iletrec_funs/2-anonymous-2-'/3 17 0.00 7 [ 0.41] beam_validator:test_heap/3 56 0.00 7 [ 0.13] beam_validator:branch_arities/3 45 0.00 7 [ 0.16] beam_block:live_regs/2 51 0.00 7 [ 0.14] beam_dict:lambda/3 17 0.00 7 [ 0.41] erl_lint:'-expr/3-fun-3-'/6 51 0.00 7 [ 0.14] erl_expand_records:in_guard/1 34 0.00 7 [ 0.21] compile:select_list_passes_1/3 55 0.00 7 [ 0.13] erts_internal:open_port/2 1 0.00 7 [ 7.00] v3_core:gexpr_test/3 34 0.00 8 [ 0.24] v3_life:'-k_bif/4-lc$^0/1-3-'/1 34 0.00 8 [ 0.24] lists:keymerge3_21_3/9 67 0.00 8 [ 0.12] lists:ukeysplit_1_1/10 37 0.00 8 [ 0.22] eval_bits:match_check_size/4 56 0.00 8 [ 0.14] v3_codegen:select_bin_segs/5 56 0.00 8 [ 0.14] v3_codegen:guard_clause_cg/4 37 0.00 8 [ 0.22] v3_kernel:'-uexpr/3-anonymous-2-'/2 34 0.00 8 [ 0.24] beam_validator:set_type/3 53 0.00 8 [ 0.15] beam_asm:'-encode_arg/2-anonymous-0-'/2 39 0.00 8 [ 0.21] beam_type:eq_ranges/3 56 0.00 8 [ 0.14] beam_dict:old_string/2 13 0.00 8 [ 0.62] beam_dict:'-lambda_table/1-lc$^0/1-0-'/1 38 0.00 8 [ 0.21] erl_lint:vtsubtract/2 34 0.00 8 [ 0.24] beam_trim:'-trim_instructions/1-lc$^0/1-0-'/1 34 0.00 8 [ 0.24] beam_trim:'-trim/3-anonymous-0-'/1 34 0.00 8 [ 0.24] beam_dead:shortcut_selectval/4 35 0.00 8 [ 0.23] erlang:erase/1 36 0.00 8 [ 0.22] v3_life:'-k_bif/4-lc$^0/1-5-'/1 34 0.00 9 [ 0.26] v3_life:'-k_bif/4-lc$^0/1-4-'/1 34 0.00 9 [ 0.26] v3_life:'-protected/3-lc$^0/1-1-'/1 37 0.00 9 [ 0.24] lists:keysplit_1/8 64 0.00 9 [ 0.14] v3_codegen:'-select_binary/6-anonymous-1-'/2 42 0.00 9 [ 0.21] v3_kernel:add_local_function/2 17 0.00 9 [ 0.53] beam_validator:upgrade_tuple_type/2 35 0.00 9 [ 0.26] beam_asm:chunk/3 9 0.00 9 [ 1.00] beam_asm:flag_to_bit/1 39 0.00 9 [ 0.23] beam_block:x_dead/2 51 0.00 9 [ 0.18] beam_dict:local/4 37 0.00 9 [ 0.24] erl_lint:pattern_fields/7 51 0.00 9 [ 0.18] erl_lint:init_fields/6 51 0.00 9 [ 0.18] erl_lint:lc_quals/4 34 0.00 9 [ 0.26] erl_lint:check_old_unused_vars/3 34 0.00 9 [ 0.26] erl_lint:'-gexpr_list/3-fun-0-'/3 34 0.00 9 [ 0.26] core_lib:'-vu_var_list/2-anonymous-0-'/2 34 0.00 9 [ 0.26] beam_trim:remap_block/3 51 0.00 9 [ 0.18] erl_internal:old_type_test/2 34 0.00 10 [ 0.29] v3_core:preprocess_quals/4 34 0.00 10 [ 0.29] v3_core:new_fun_name/1 17 0.00 10 [ 0.59] lists:rkeymerge3_21_3/9 81 0.00 10 [ 0.12] v3_codegen:'-guard_cg_list/6-anonymous-0-'/4 37 0.00 10 [ 0.27] v3_kernel:'-uexpr/3-anonymous-20-'/2 37 0.00 10 [ 0.27] beam_validator:'-verify_no_ct/1-lc$^0/1-0-'/1 51 0.00 10 [ 0.20] erl_lint:guard_test/3 34 0.00 10 [ 0.29] erl_lint:check_record_info_call/4 34 0.00 10 [ 0.29] erl_lint:is_imported_function/2 34 0.00 10 [ 0.29] erl_lint:'-vt_no_unused/1-lc$^0/1-0-'/1 51 0.00 10 [ 0.20] erl_expand_records:guard_tests/2 34 0.00 10 [ 0.29] erl_expand_records:guard_test/2 34 0.00 10 [ 0.29] erl_expand_records:normalise_test/2 34 0.00 10 [ 0.29] core_lib:vu_var_list/2 34 0.00 10 [ 0.29] beam_trim:frame_layout_1/5 51 0.00 10 [ 0.20] binary:match/2 13 0.00 10 [ 0.77] v3_core:guard_tests/1 34 0.00 11 [ 0.32] v3_core:gexpr_top/2 34 0.00 11 [ 0.32] v3_core:force_booleans_1/4 68 0.00 11 [ 0.16] v3_core:lc_tq/5 34 0.00 11 [ 0.32] v3_life:protected/3 37 0.00 11 [ 0.30] v3_life:guard_clause/5 37 0.00 11 [ 0.30] v3_life:'-expr/3-lc$^0/1-4-'/1 37 0.00 11 [ 0.30] sys_core_fold:'-expr/3-anonymous-4-'/3 34 0.00 11 [ 0.32] sets:put_bucket_s/3 36 0.00 11 [ 0.31] lists:keymerge3_12_3/9 85 0.00 11 [ 0.13] lists:keymerge2_1/6 83 0.00 11 [ 0.13] lists:keymerge2_2/7 85 0.00 11 [ 0.13] v3_kernel:integers/2 34 0.00 11 [ 0.32] v3_kernel:'-forest_pre_seq/2-lc$^2/1-2-'/1 37 0.00 11 [ 0.30] beam_validator:'-valfun_1/2-lc$^0/1-0-'/2 51 0.00 11 [ 0.22] erl_lint:gexpr/3 34 0.00 11 [ 0.32] erl_lint:no_guard_bif_clash/2 34 0.00 11 [ 0.32] erl_lint:'-vt_no_unsafe/1-lc$^0/1-0-'/1 51 0.00 11 [ 0.22] cerl_trees:mapfold_pairs/4 34 0.00 11 [ 0.32] erl_expand_records:lc_tq/3 34 0.00 11 [ 0.32] erl_expand_records:pattern_fields/2 51 0.00 11 [ 0.22] erl_expand_records:opt_rec_vars_2/2 34 0.00 11 [ 0.32] erl_expand_records:'-guard_test/2-fun-0-'/2 34 0.00 11 [ 0.32] beam_trim:frame_size/2 68 0.00 11 [ 0.16] maps:is_key/2 37 0.00 11 [ 0.30] erlang:iolist_to_binary/1 9 0.00 11 [ 1.22] beam_utils:bif_to_test/3 34 0.00 12 [ 0.35] beam_jump:extract_seq_1/2 69 0.00 12 [ 0.17] v3_codegen:turn_yregs/3 91 0.00 12 [ 0.13] v3_codegen:guard_cg_list/6 37 0.00 12 [ 0.32] v3_codegen:'-save_stack/4-anonymous-2-'/2 85 0.00 12 [ 0.14] v3_kernel:'-new_clauses/3-anonymous-2-'/3 51 0.00 12 [ 0.24] v3_kernel:'-expr/3-anonymous-1-'/2 17 0.00 12 [ 0.71] v3_kernel:'-extract_vars/1-anonymous-1-'/2 37 0.00 12 [ 0.32] v3_kernel:'-extract_all_vars/3-lc$^1/1-1-'/2 37 0.00 12 [ 0.32] v3_kernel:'-forest_pre_seq/2-lc$^0/1-0-'/1 37 0.00 12 [ 0.32] beam_validator:call/3 85 0.00 12 [ 0.14] beam_validator:allocate/5 69 0.00 12 [ 0.17] erl_lint:gexpr_list/3 34 0.00 12 [ 0.35] beam_trim:'-remap_block/3-lc$^0/1-0-'/2 51 0.00 12 [ 0.24] cerl:update_c_values/2 47 0.00 12 [ 0.26] cerl:update_c_alias/3 51 0.00 12 [ 0.24] lists:ukeymerge2_2/6 100 0.00 13 [ 0.13] eval_bits:add_bin_binding/4 56 0.00 13 [ 0.23] v3_kernel:wrap_guard/2 37 0.00 13 [ 0.35] v3_kernel:flatten_alias/1 51 0.00 13 [ 0.25] v3_kernel:'-new_clauses/3-anonymous-1-'/3 51 0.00 13 [ 0.25] v3_kernel:'-match_vars/2-anonymous-0-'/2 91 0.00 13 [ 0.14] erl_lint:obsolete_guard/2 34 0.00 13 [ 0.38] erl_expand_records:guard_test1/2 34 0.00 13 [ 0.38] erl_expand_records:opt_rec_vars_1/2 68 0.00 13 [ 0.19] erts_internal:port_command/3 1 0.00 13 [ 13.00] v3_core:pat_alias/2 51 0.00 14 [ 0.27] v3_life:test_op/1 37 0.00 14 [ 0.38] v3_life:k_bif/4 34 0.00 14 [ 0.41] lists:keysplit_2_1/10 101 0.00 14 [ 0.14] eval_bits:coerce_to_float/2 56 0.00 14 [ 0.25] eval_bits:match_check_size/3 56 0.00 14 [ 0.25] v3_codegen:select_bin_seg/5 56 0.00 14 [ 0.25] v3_kernel:guard/3 37 0.00 14 [ 0.38] dict:is_key/2 52 0.00 14 [ 0.27] dict:find_key/2 116 0.00 14 [ 0.12] beam_dict:'-line_table/1-lc$^1/1-1-'/1 67 0.00 14 [ 0.21] erl_lint:reject_invalid_alias/4 51 0.00 14 [ 0.27] erl_lint:init_fields/3 51 0.00 14 [ 0.27] erl_expand_records:record_inits/2 51 0.00 14 [ 0.27] beam_trim:remap/3 85 0.00 14 [ 0.16] sys_core_dsetel:rewrite/3 88 0.00 14 [ 0.16] maps:keys/1 40 0.00 14 [ 0.35] eval_bits:match_bits/6 56 0.00 15 [ 0.27] v3_codegen:select_extract_int/11 43 0.00 15 [ 0.35] v3_kernel:'-match_fun/1-anonymous-0-'/3 56 0.00 15 [ 0.27] beam_validator:set_type_y/3 85 0.00 15 [ 0.18] beam_validator:return_type_1/4 103 0.00 15 [ 0.15] beam_validator:return_type_erl/2 103 0.00 15 [ 0.15] beam_asm:encode_line_items/2 67 0.00 15 [ 0.22] erl_lint:'-bool_option/4-fun-0-'/4 75 0.00 15 [ 0.20] sys_core_dsetel:'-visit/2-anonymous-3-'/2 71 0.00 15 [ 0.21] lists:rkeymerge3_12_3/9 125 0.00 16 [ 0.13] lists:ukeysplit_1/8 80 0.00 16 [ 0.20] lists:rukeymerge3_1/11 91 0.00 16 [ 0.18] lists:rukeymerge2_1/6 109 0.00 16 [ 0.15] v3_kernel:translate_match_fail_1/4 68 0.00 16 [ 0.24] v3_kernel:store_free/4 17 0.00 16 [ 0.94] v3_kernel:'-expr/3-lc$^0/1-0-'/1 51 0.00 16 [ 0.31] beam_validator:bsm_get_context/2 59 0.00 16 [ 0.27] core_lib:'-vu_expr/2-anonymous-0-'/2 68 0.00 16 [ 0.24] beam_trim:'-remap_block/3-lc$^1/1-1-'/2 68 0.00 16 [ 0.24] beam_trim:'-create_map/2-anonymous-2-'/2 68 0.00 16 [ 0.24] cerl:primop_name/1 71 0.00 16 [ 0.23] cerl:primop_args/1 71 0.00 16 [ 0.23] eval_bits:get_value/6 56 0.00 17 [ 0.30] v3_kernel:guard_opt/2 37 0.00 17 [ 0.46] v3_kernel:select_assert_match_possible/3 56 0.00 17 [ 0.30] v3_kernel:'-extract_var_list/1-lc$^0/1-0-'/1 37 0.00 17 [ 0.46] proplists:get_value/3 82 0.00 17 [ 0.21] erl_lint:pre_scan/2 157 0.00 17 [ 0.11] erl_lint:'-check_dialyzer_attribute/2-lc$^2/1-0-'/1 157 0.00 17 [ 0.11] erl_lint:'-check_unused_types/2-lc$^0/1-0-'/1 157 0.00 17 [ 0.11] erl_lint:'-check_unused_records/2-lc$^0/1-0-'/1 157 0.00 17 [ 0.11] erl_lint:'-disallowed_compile_flags/2-lc$^2/1-2-'/2 157 0.00 17 [ 0.11] erl_lint:'-disallowed_compile_flags/2-lc$^0/1-0-'/2 157 0.00 17 [ 0.11] erl_lint:'-not_deprecated/2-lc$^0/1-0-'/1 157 0.00 17 [ 0.11] erl_lint:'-includes_qlc_hrl/2-lc$^0/1-0-'/1 157 0.00 17 [ 0.11] cerl:update_c_cons_skel/3 68 0.00 17 [ 0.25] cerl:update_c_primop/3 71 0.00 17 [ 0.24] v3_core:unforce/3 68 0.00 18 [ 0.26] sys_core_fold:sub_new/1 65 0.00 18 [ 0.28] sys_core_fold:eval_case_warn/1 65 0.00 18 [ 0.28] lists:unzip/1 65 0.00 18 [ 0.28] eval_bits:match_field_1/6 56 0.00 18 [ 0.32] v3_codegen:call_cg/7 68 0.00 18 [ 0.26] v3_kernel:match_fun/1 56 0.00 18 [ 0.32] beam_validator:eat_heap/2 66 0.00 18 [ 0.27] beam_block:gen_init/4 102 0.00 18 [ 0.18] erl_lint:'-bif_clashes/2-lc$^0/1-0-'/1 157 0.00 18 [ 0.11] erl_expand_records:init_calltype_imports/2 157 0.00 18 [ 0.11] compile:'-core/2-lc$^0/1-0-'/2 157 0.00 18 [ 0.11] v3_life:'-match/5-lc$^1/1-0-'/5 74 0.00 19 [ 0.26] lists:unzip/3 120 0.00 19 [ 0.16] beam_validator:heap_alloc/2 125 0.00 19 [ 0.15] erl_lint:'-compiler_options/1-lc$^0/1-0-'/1 157 0.00 19 [ 0.12] erl_expand_records:guard_tests1/2 68 0.00 19 [ 0.28] beam_except:dig_out_block_fc/1 68 0.00 19 [ 0.28] erl_internal:'-predefined_functions/1-lc$^0/1-0-'/1 157 0.00 20 [ 0.13] v3_codegen:put_stack/2 119 0.00 20 [ 0.17] v3_kernel:rewrite_bool/4 37 0.00 20 [ 0.54] v3_kernel:extract_vars/1 37 0.00 20 [ 0.54] erl_lint:clauses/2 132 0.00 20 [ 0.15] erl_lint:pattern_bin/5 131 0.00 20 [ 0.15] erl_lint:'-vtnew/2-fun-0-'/3 85 0.00 20 [ 0.24] sofs:restrict/5 130 0.00 20 [ 0.15] sofs:diff_restrict_n/6 134 0.00 20 [ 0.15] cerl:let_vars/1 88 0.00 20 [ 0.23] compile:select_passes/2 80 0.00 20 [ 0.25] beam_clean:find_all_used/3 169 0.00 21 [ 0.12] beam_bs:function/2 168 0.00 21 [ 0.13] v3_codegen:free_dead/1 68 0.00 21 [ 0.31] v3_kernel:'-uexpr/3-anonymous-12-'/2 85 0.00 21 [ 0.25] beam_block:'-init_yreg/2-anonymous-0-'/2 85 0.00 21 [ 0.25] erl_lint:function_state/2 133 0.00 21 [ 0.16] erl_lint:function/5 132 0.00 21 [ 0.16] sys_core_dsetel:'-visit/2-anonymous-8-'/2 91 0.00 21 [ 0.23] cerl:update_c_let/4 88 0.00 21 [ 0.24] cerl:let_body/1 88 0.00 21 [ 0.24] beam_clean:bs_fix/2 169 0.00 22 [ 0.13] v3_kernel:forest_pre_seq/2 37 0.00 22 [ 0.59] v3_kernel:extract_all_vars/3 74 0.00 22 [ 0.30] erl_lint:'-check_deprecated/2-lc$^0/1-0-'/3 157 0.00 22 [ 0.14] compile:fold_comp/4 38 0.00 22 [ 0.58] erl_internal:type_test/2 68 0.00 23 [ 0.34] v3_core:force_booleans/4 68 0.00 23 [ 0.34] sys_core_fold:make_var_name/0 55 0.00 23 [ 0.42] v3_codegen:select_bin_end/5 131 0.00 23 [ 0.18] v3_codegen:build_call/3 68 0.00 23 [ 0.34] v3_codegen:need_stack_frame/1 69 0.00 23 [ 0.33] v3_codegen:'-load_vars/2-anonymous-0-'/2 85 0.00 23 [ 0.27] beam_bsm:btb_index_find_start_match/1 168 0.00 23 [ 0.14] erl_lint:format_function/5 171 0.00 23 [ 0.13] lists:keymerge3_2/10 184 0.00 24 [ 0.13] erl_lint:expr_bin/4 153 0.00 24 [ 0.16] cerl:make_list/1 68 0.00 24 [ 0.35] v3_life:'-expr/3-lc$^0/1-9-'/1 102 0.00 25 [ 0.25] eval_bits:match_bits_1/6 112 0.00 25 [ 0.22] eval_bits:get_integer/4 56 0.00 25 [ 0.45] beam_bsm:btb_index_1/2 169 0.00 25 [ 0.15] lists:rmerge3_21_3/6 158 0.00 26 [ 0.16] v3_kernel:'-group_bin_seg/2-anonymous-0-'/2 117 0.00 26 [ 0.22] v3_kernel:'-extract_all_vars/3-lc$^0/1-0-'/2 74 0.00 26 [ 0.35] beam_validator:index_bs_start_match/2 169 0.00 26 [ 0.15] erl_expand_records:record_wildcard_init/1 102 0.00 26 [ 0.25] v3_core:cfun/3 151 0.00 27 [ 0.18] sys_core_fold:returns_integer/2 102 0.00 27 [ 0.26] sets:maybe_expand/1 185 0.00 27 [ 0.15] lists:rkeymerge3_1/10 190 0.00 27 [ 0.14] erl_lint:vtold/2 102 0.00 27 [ 0.26] compile:'-internal_comp/5-anonymous-1-'/3 31 0.00 27 [ 0.87] beam_dead:function/2 168 0.00 27 [ 0.16] erlang:put/2 92 0.00 27 [ 0.29] lists:keysplit_2/8 218 0.00 28 [ 0.13] v3_kernel:make_forest_1/4 74 0.00 28 [ 0.38] v3_kernel:extract_var_list/1 74 0.00 28 [ 0.38] v3_kernel:'-select_bin_con_2/1-anonymous-0-'/2 117 0.00 28 [ 0.24] sofs:restrict/4 169 0.00 28 [ 0.17] v3_core:'-module/2-lc$^1/1-1-'/1 132 0.00 29 [ 0.22] sys_core_fold:opt_bool_case_in_let_1/5 210 0.00 29 [ 0.14] sets:'-from_list/1-fun-0-'/2 131 0.00 29 [ 0.22] lists:keymerge3_1/10 195 0.00 29 [ 0.15] v3_codegen:guard_cg/5 74 0.00 29 [ 0.39] beam_block:count_ones/2 137 0.00 29 [ 0.21] erl_lint:form/2 156 0.00 29 [ 0.19] erl_expand_records:'-compiler_options/1-lc$^0/1-0-'/1 157 0.00 29 [ 0.18] sys_core_dsetel:visit_module_1/3 135 0.00 29 [ 0.21] cerl:binary_segments/1 131 0.00 29 [ 0.22] compile:'-select_passes/2-anonymous-2-'/3 23 0.00 29 [ 1.26] v3_kernel:pattern_bin/4 131 0.00 30 [ 0.23] beam_block:init_yreg/2 138 0.00 30 [ 0.22] v3_core:form/3 159 0.00 31 [ 0.19] v3_life:'-guard_clause/5-lc$^0/1-0-'/3 116 0.00 31 [ 0.27] sys_core_fold:opt_bool_case_in_let/2 210 0.00 31 [ 0.15] v3_codegen:free_dead/4 136 0.00 31 [ 0.23] dict:maybe_expand_segs/1 101 0.00 31 [ 0.31] beam_asm:assemble_1/4 169 0.00 31 [ 0.18] erl_lint:'-local_functions/1-lc$^0/1-0-'/1 157 0.00 31 [ 0.20] erl_lint:'-export/3-fun-0-'/3 129 0.00 31 [ 0.24] cerl:update_c_binary/2 131 0.00 31 [ 0.24] v3_core:pat_bin/2 131 0.00 32 [ 0.24] v3_life:'-expr/3-lc$^0/1-10-'/1 136 0.00 32 [ 0.24] beam_jump:extract_seq/2 138 0.00 32 [ 0.23] v3_codegen:set_cg/6 144 0.00 32 [ 0.22] beam_validator:validate_0/3 169 0.00 32 [ 0.19] beam_validator:heap_alloc_1/2 125 0.00 32 [ 0.26] erl_expand_records:pattern_bin/2 131 0.00 32 [ 0.24] erl_expand_records:'-init_calltype/1-lc$^0/1-0-'/1 157 0.00 32 [ 0.20] v3_life:functions/2 169 0.00 33 [ 0.20] sys_core_fold:make_vars/3 120 0.00 33 [ 0.28] v3_core:gexpr/3 68 0.00 34 [ 0.50] v3_core:constant_bin_1/1 153 0.00 34 [ 0.22] v3_core:bin_expand_strings/1 131 0.00 34 [ 0.26] v3_core:upat_bin/3 131 0.00 34 [ 0.26] v3_life:'-protected/3-lc$^0/1-0-'/3 116 0.00 34 [ 0.29] lists:rkeymerge3_2/10 260 0.00 34 [ 0.13] v3_codegen:function/3 168 0.00 34 [ 0.20] v3_kernel:translate_match_fail/4 71 0.00 34 [ 0.48] beam_dict:export/4 131 0.00 34 [ 0.26] erl_lint:eval_file_attr/2 157 0.00 34 [ 0.22] erl_lint:define_function/4 132 0.00 34 [ 0.26] sets:rehash/4 153 0.00 35 [ 0.23] v3_codegen:save_carefully/3 248 0.00 35 [ 0.14] v3_kernel:function/2 134 0.00 35 [ 0.26] erl_lint:'-forms/2-fun-0-'/2 156 0.00 35 [ 0.22] cerl:c_let/3 130 0.00 35 [ 0.27] beam_clean:'-module/2-lc$^0/1-0-'/1 169 0.00 36 [ 0.21] beam_bs:bsm_subst_labels_1/4 286 0.00 36 [ 0.13] v3_codegen:extend_stack/4 107 0.00 36 [ 0.34] beam_z:'-module/2-lc$^0/1-0-'/1 169 0.00 36 [ 0.21] cerl:fun_vars/1 151 0.00 36 [ 0.24] cerl:fun_body/1 151 0.00 36 [ 0.24] beam_clean:remove_unused/3 169 0.00 37 [ 0.22] sys_core_fold:'-body/3-lc$^0/1-0-'/3 133 0.00 37 [ 0.28] beam_flatten:'-module/2-lc$^0/1-0-'/1 169 0.00 37 [ 0.22] v3_codegen:cg_basic_block/7 107 0.00 37 [ 0.35] v3_codegen:x0_vars/4 107 0.00 37 [ 0.35] v3_kernel:'-module/2-anonymous-0-'/1 131 0.00 37 [ 0.28] beam_receive:'-module/2-lc$^0/1-0-'/1 169 0.00 37 [ 0.22] beam_validator:validate_2/5 168 0.00 37 [ 0.22] erl_lint:function_check_max_args/3 132 0.00 37 [ 0.28] cerl:update_c_fun/3 151 0.00 37 [ 0.25] cerl:alias_var/1 159 0.00 37 [ 0.23] cerl:alias_pat/1 159 0.00 37 [ 0.23] v3_core:expr_bin/3 153 0.00 38 [ 0.25] beam_flatten:block/1 168 0.00 38 [ 0.23] beam_flatten:norm_allocate/2 160 0.00 38 [ 0.24] v3_codegen:max_reg/1 123 0.00 38 [ 0.31] v3_kernel:'-module/2-anonymous-1-'/2 134 0.00 38 [ 0.28] beam_reorder:'-module/2-lc$^0/1-0-'/1 169 0.00 38 [ 0.22] erl_expand_records:expr_bin/2 153 0.00 38 [ 0.25] sofs:to_external/1 172 0.00 38 [ 0.22] beam_trim:'-module/2-lc$^0/1-0-'/1 169 0.00 38 [ 0.22] erlang:min/2 128 0.00 38 [ 0.30] beam_clean:'-rootset/3-lc$^0/1-0-'/1 169 0.00 39 [ 0.23] v3_core:new_vars/3 134 0.00 39 [ 0.29] sys_core_fold:'-module/2-lc$^0/1-0-'/1 135 0.00 39 [ 0.29] beam_peep:'-module/2-lc$^0/1-0-'/1 169 0.00 39 [ 0.23] v3_codegen:reserve_x0/2 141 0.00 39 [ 0.28] beam_bsm:btb_index_2/4 168 0.00 39 [ 0.23] beam_bsm:'-module/2-lc$^0/1-0-'/2 169 0.00 39 [ 0.23] erl_lint:set_form_file/2 156 0.00 39 [ 0.25] erl_lint:check_get_stacktrace/5 171 0.00 39 [ 0.23] beam_split:'-module/2-lc$^0/1-0-'/1 169 0.00 39 [ 0.23] beam_except:function/1 168 0.00 39 [ 0.23] beam_except:dig_out_fc/3 170 0.00 39 [ 0.23] beam_except:'-module/2-lc$^0/1-0-'/1 169 0.00 39 [ 0.23] beam_clean:bs_clean_saves/1 168 0.00 40 [ 0.24] v3_life:vdb_store_new/3 171 0.00 40 [ 0.23] beam_record:'-module/2-lc$^0/1-0-'/1 169 0.00 40 [ 0.24] beam_bs:'-module/2-anonymous-0-'/2 168 0.00 40 [ 0.24] v3_kernel:gexpr_test/2 74 0.00 40 [ 0.54] beam_validator:validate_3/7 168 0.00 40 [ 0.24] beam_validator:verify_local_call/3 257 0.00 40 [ 0.16] cerl_trees:mapfold/3 134 0.00 40 [ 0.30] sofs:rel2family/1 169 0.00 40 [ 0.24] gb_sets:balance/2 279 0.00 40 [ 0.14] beam_a:'-module/2-lc$^0/1-0-'/1 169 0.00 40 [ 0.24] sys_core_dsetel:'-visit/2-anonymous-7-'/2 180 0.00 40 [ 0.22] erl_parse:not_string/4 385 0.00 40 [ 0.10] beam_clean:make_save_point_dict/2 168 0.00 41 [ 0.24] beam_clean:'-module/2-anonymous-1-'/2 168 0.00 41 [ 0.24] v3_core:constant_bin/1 153 0.00 41 [ 0.27] beam_record:function/1 168 0.00 41 [ 0.24] lists:umergel/3 246 0.00 41 [ 0.17] beam_jump:find_fixpoint/2 276 0.00 41 [ 0.15] beam_validator:'-validate_3/7-lc$^0/1-0-'/2 168 0.00 41 [ 0.24] erl_lint:is_latin1_name/1 172 0.00 41 [ 0.24] erl_lint:check_qlc_hrl/5 171 0.00 41 [ 0.24] erl_lint:is_format_function/2 171 0.00 41 [ 0.24] erl_lint:'-vtold/2-fun-0-'/3 170 0.00 41 [ 0.24] sofs:relation_to_family/1 169 0.00 41 [ 0.24] sofs:rel/3 172 0.00 41 [ 0.24] beam_split:split_blocks/1 168 0.00 41 [ 0.24] beam_clean:bs_function/1 168 0.00 42 [ 0.25] beam_jump:'-module/2-lc$^0/1-0-'/1 169 0.00 42 [ 0.25] sofs:relation/2 171 0.00 42 [ 0.25] erl_anno:is_filename/1 385 0.00 42 [ 0.11] v3_core:'-module/2-anonymous-2-'/3 159 0.00 43 [ 0.27] beam_bs:bsm_opt/2 168 0.00 43 [ 0.26] beam_utils:empty_label_index/0 168 0.00 43 [ 0.26] beam_peep:function/1 168 0.00 43 [ 0.26] v3_codegen:fetch_stack/3 238 0.00 43 [ 0.18] beam_bsm:function/2 168 0.00 43 [ 0.26] beam_asm:'-flatten_exports/1-anonymous-0-'/1 168 0.00 43 [ 0.26] beam_type:'-module/2-lc$^0/1-0-'/1 169 0.00 43 [ 0.25] erl_lint:check_module_name/3 172 0.00 43 [ 0.25] erl_expand_records:'-make_list/2-fun-0-'/3 385 0.00 43 [ 0.11] beam_jump:function/1 168 0.00 44 [ 0.26] beam_flatten:function/1 168 0.00 44 [ 0.26] beam_z:function/1 168 0.00 44 [ 0.26] beam_validator:prune_x_regs/2 154 0.00 44 [ 0.29] gb_trees:keys/1 168 0.00 44 [ 0.26] beam_dead:'-module/2-anonymous-0-'/2 168 0.00 44 [ 0.26] beam_jump:share/1 168 0.00 45 [ 0.27] v3_kernel:'-uexpr/3-anonymous-23-'/2 178 0.00 45 [ 0.25] beam_receive:function/1 168 0.00 45 [ 0.27] beam_validator:index_bs_start_match_1/3 168 0.00 45 [ 0.27] beam_validator:init_state/1 168 0.00 45 [ 0.27] beam_block:opt_alloc/4 176 0.00 45 [ 0.26] erl_expand_records:forms/2 157 0.00 45 [ 0.29] sofs:diff_restrict_n/5 276 0.00 45 [ 0.16] beam_trim:function/1 168 0.00 45 [ 0.27] erl_parse:abstract_list/4 385 0.00 45 [ 0.12] v3_core:'-uexpr/3-anonymous-0-'/2 188 0.00 46 [ 0.24] diameter_exprecs:'info-X'/2 385 0.00 46 [ 0.12] v3_codegen:'-functions/2-anonymous-0-'/3 168 0.00 46 [ 0.27] v3_kernel:'-select_assert_match_possible/3-anonymous-0-'/2 168 0.00 46 [ 0.27] beam_validator:validate_1/5 168 0.00 46 [ 0.27] beam_block:function/1 168 0.00 46 [ 0.27] beam_block:'-module/2-lc$^0/1-0-'/1 169 0.00 46 [ 0.27] erl_lint:check_remote_function/5 171 0.00 46 [ 0.27] v3_core:ufun_clauses/3 151 0.00 47 [ 0.31] lists:rumergel/3 318 0.00 47 [ 0.15] diameter_exprecs:'set-X'/2 385 0.00 47 [ 0.12] diameter_exprecs:'get-X'/2 385 0.00 47 [ 0.12] beam_a:function/1 168 0.00 47 [ 0.28] lists:seq_loop/3 307 0.00 48 [ 0.16] beam_validator:validate_fun_info_branches/3 336 0.00 48 [ 0.14] beam_type:function/1 168 0.00 48 [ 0.29] beam_type:'-simplify_select_val_int/2-lc$^0/1-0-'/1 273 0.00 48 [ 0.18] gb_sets:to_list/1 174 0.00 48 [ 0.28] core_lib:is_var_used/2 210 0.00 48 [ 0.23] v3_core:cbody/2 134 0.00 49 [ 0.37] beam_reorder:function/1 168 0.00 49 [ 0.29] beam_validator:return_type/2 171 0.00 49 [ 0.29] erl_lint:'-expr/3-fun-2-'/4 385 0.00 49 [ 0.13] erl_lint:'-record_def/4-lc$^0/1-0-'/1 412 0.00 50 [ 0.12] erl_lint:'-expr/3-fun-4-'/4 385 0.00 50 [ 0.13] beam_dead:shortcut_label/2 198 0.00 50 [ 0.25] beam_except:function_1/1 168 0.00 50 [ 0.30] v3_core:body/4 134 0.00 51 [ 0.38] cerl:values_es/1 199 0.00 51 [ 0.26] v3_core:new_vars/2 151 0.00 52 [ 0.34] sets:update_bucket/3 185 0.00 52 [ 0.28] v3_codegen:cg_fun/7 168 0.00 52 [ 0.31] v3_codegen:'-x0_vars/4-lc$^0/1-0-'/3 289 0.00 52 [ 0.18] cerl:ann_make_list/3 170 0.00 52 [ 0.31] sys_core_bsm:function/3 135 0.00 53 [ 0.39] v3_kernel:ensure_return_vars/2 178 0.00 53 [ 0.30] orddict:is_key/2 340 0.00 53 [ 0.16] erl_expand_records:get_record_field/5 385 0.00 53 [ 0.14] v3_core:function/4 134 0.00 54 [ 0.40] eval_bits:expr_grp/3 209 0.00 54 [ 0.26] v3_codegen:cg_reg_args/2 187 0.00 54 [ 0.29] v3_kernel:c_apply/5 263 0.00 54 [ 0.21] erl_lint:'-expr/3-fun-5-'/5 385 0.00 54 [ 0.14] erl_lint:'-check_option_functions/4-lc$^0/1-0-'/2 471 0.00 54 [ 0.11] erl_expand_records:strict_get_record_field/5 385 0.00 54 [ 0.14] sys_core_fold:update_types_from_expr/3 210 0.00 55 [ 0.26] sys_core_fold:'-sub_add_scope/2-anonymous-0-'/2 213 0.00 55 [ 0.26] lists:seq/2 185 0.00 55 [ 0.30] cerl:apply_args/1 246 0.00 55 [ 0.22] sys_core_fold:'-expr/3-lc$^0/1-0-'/3 200 0.00 56 [ 0.28] cerl:let_arg/1 226 0.00 56 [ 0.25] cerl:apply_op/1 246 0.00 56 [ 0.23] erl_eval:new_bindings/0 209 0.00 57 [ 0.27] sys_core_fold:delay_build_1/2 385 0.00 57 [ 0.15] beam_block:opt_move_rev/3 470 0.00 57 [ 0.12] erl_lint:update_fields/5 385 0.00 57 [ 0.15] otp_internal:obsolete/3 239 0.00 58 [ 0.24] otp_internal:obsolete_1/3 239 0.00 58 [ 0.24] sys_core_fold:delay_build_expr/2 385 0.00 58 [ 0.15] lists:merge3_12_3/6 394 0.00 58 [ 0.15] v3_codegen:'-max_reg/1-anonymous-0-'/2 252 0.00 58 [ 0.23] v3_codegen:'-save_carefully/4-lc$^1/1-1-'/1 248 0.00 58 [ 0.23] beam_validator:verify_live/2 223 0.00 58 [ 0.26] erl_expand_records:'-pattern_bin/2-fun-0-'/2 524 0.00 58 [ 0.11] sys_core_fold:function_1/1 134 0.00 59 [ 0.44] sys_core_fold:opt_not_in_let_1/3 196 0.00 59 [ 0.30] beam_validator:kill_heap_allocation/1 293 0.00 59 [ 0.20] beam_type:live_regs_1/2 315 0.00 59 [ 0.19] sys_core_fold:delay_build_expr_1/2 385 0.00 60 [ 0.16] erl_expand_records:'-record_setel/4-fun-2-'/2 383 0.00 60 [ 0.16] cerl:update_c_apply/3 246 0.00 60 [ 0.24] v3_life:function/1 168 0.00 61 [ 0.36] sofs:is_types/2 513 0.00 61 [ 0.12] erlang:atom_to_binary/2 320 0.00 61 [ 0.19] sys_core_fold:extract_type/2 210 0.00 62 [ 0.30] erl_lint:call_function/4 212 0.00 62 [ 0.29] gb_sets:add_element/2 261 0.00 62 [ 0.24] beam_clean:add_to_work_list/2 274 0.00 63 [ 0.23] sys_core_fold:find_fixpoint/3 251 0.00 63 [ 0.25] v3_codegen:'-cg_fun/7-anonymous-0-'/2 239 0.00 65 [ 0.27] dict:put_bucket_s/3 202 0.00 65 [ 0.32] erl_eval:ret_expr/2 636 0.00 66 [ 0.10] sys_core_fold:is_any_var_used/2 210 0.00 66 [ 0.31] beam_validator:init_regs/2 237 0.00 66 [ 0.28] gb_sets:to_list_1/1 279 0.00 66 [ 0.24] v3_life:'-expr/3-lc$^0/1-12-'/1 288 0.00 67 [ 0.23] lists:split_2_1/6 318 0.00 67 [ 0.21] beam_clean:function_replace/3 507 0.00 68 [ 0.13] erl_lint:deprecated_function/5 239 0.00 68 [ 0.28] erl_expand_records:'-expr_bin/2-fun-0-'/2 612 0.00 68 [ 0.11] beam_dict:'-atom_table/2-lc$^0/1-0-'/2 321 0.00 69 [ 0.21] lists:merge3_21_3/6 462 0.00 70 [ 0.15] v3_codegen:cg_basic_block/4 355 0.00 71 [ 0.20] beam_dict:'-literal_table/1-anonymous-1-'/3 329 0.00 71 [ 0.22] erl_lint:pattern_element_1/4 524 0.00 71 [ 0.14] erl_expand_records:pattern_element/2 524 0.00 71 [ 0.14] beam_clean:function_renumber/3 507 0.00 72 [ 0.14] v3_codegen:save_carefully/4 248 0.00 72 [ 0.29] v3_kernel:'-ubody/3-anonymous-0-'/2 314 0.00 72 [ 0.23] gb_sets:from_ordset/1 508 0.00 73 [ 0.14] lists:rumerge3_21_3/7 529 0.00 75 [ 0.14] diameter_exprecs:fname/2 323 0.00 75 [ 0.23] beam_bsm:drop_to_label/2 504 0.00 75 [ 0.15] erl_internal:bool_op/2 315 0.00 76 [ 0.24] diameter_exprecs:fname_prefix/1 337 0.00 77 [ 0.23] beam_validator:verify_live_1/2 587 0.00 77 [ 0.13] erl_expand_records:bin_element/2 612 0.00 77 [ 0.13] v3_codegen:make_reservation/2 282 0.00 78 [ 0.28] v3_codegen:'-x0_vars/4-lc$^0/1-1-'/3 635 0.00 78 [ 0.12] beam_validator:'-init_regs/2-lc$^0/1-0-'/2 307 0.00 78 [ 0.25] beam_dict:'-literal_table/1-lc$^1/1-0-'/1 330 0.00 78 [ 0.24] dict:fetch/2 336 0.00 79 [ 0.24] erl_lint:pattern_element/4 524 0.00 79 [ 0.15] beam_validator:validate_fun_info_branches_1/3 407 0.00 80 [ 0.20] sofs:rel/4 669 0.00 80 [ 0.12] erl_expand_records:'-field_names/1-fun-0-'/1 385 0.00 83 [ 0.22] beam_except:translate_exception/4 773 0.00 83 [ 0.11] erl_lint:is_autoimport_suppressed/2 314 0.00 84 [ 0.27] sofs:atoms_only/2 512 0.00 84 [ 0.16] core_lib:'-vu_expr/2-anonymous-4-'/2 389 0.00 84 [ 0.22] beam_validator:merge_types/2 280 0.00 85 [ 0.30] erl_lint:is_warn_enabled/2 305 0.00 85 [ 0.28] sys_core_fold:sub_set_name/3 495 0.00 86 [ 0.17] diameter_exprecs:'-#info-X/1/2-fun-0-'/2 385 0.00 86 [ 0.22] diameter_exprecs:'-#set-X/2/2-fun-0-'/2 385 0.00 86 [ 0.22] beam_asm:encode1/2 702 0.00 86 [ 0.12] erl_lint:bin_element/4 612 0.00 86 [ 0.14] diameter_exprecs:'-#get-X/2/2-fun-0-'/2 385 0.00 87 [ 0.23] v3_codegen:'-cg_basic_block/7-anonymous-0-'/4 355 0.00 87 [ 0.25] erl_lint:'-update_fields/5-fun-0-'/3 385 0.00 91 [ 0.24] erl_expand_records:is_simple_val/1 385 0.00 91 [ 0.24] beam_validator:tail_call/3 639 0.00 92 [ 0.14] erl_lint:'-normalise_fields/1-fun-0-'/1 394 0.00 92 [ 0.23] lists:keymember/3 596 0.00 92 [ 0.15] v3_core:new_vars_1/4 661 0.00 93 [ 0.14] lists:rmerge3_12_3/6 677 0.00 93 [ 0.14] erl_lint:check_fields/6 487 0.00 93 [ 0.19] diameter_exprecs:'-fields/2-fun-0-'/1 385 0.00 94 [ 0.24] erl_expand_records:'-normalise_fields/1-fun-0-'/1 394 0.00 94 [ 0.24] erl_anno:set_file/2 385 0.00 94 [ 0.24] erl_internal:comp_op/2 315 0.00 96 [ 0.30] beam_validator:assert_type/2 553 0.00 96 [ 0.17] maps:to_list/1 532 0.00 96 [ 0.18] v3_core:'-cexpr/3-anonymous-1-'/3 770 0.00 97 [ 0.13] v3_codegen:allocate_x0/3 389 0.00 97 [ 0.25] erl_lint:'-def_fields/3-fun-0-'/3 394 0.00 97 [ 0.25] sys_core_fold:opt_simple_let/3 725 0.00 99 [ 0.14] lists:dropwhile/2 672 0.00 99 [ 0.15] beam_jump:opt/2 168 0.00 99 [ 0.59] erl_lint:is_local_function/2 331 0.00 99 [ 0.30] sets:is_element/2 442 0.00 100 [ 0.23] v3_life:'-function/1-lc$^0/1-1-'/1 407 0.00 101 [ 0.25] erl_anno:set_generated/2 788 0.00 101 [ 0.13] beam_jump:insert_fc_labels/2 552 0.00 103 [ 0.19] erl_expand_records:is_in_guard/0 385 0.00 103 [ 0.27] erl_expand_records:'-record_setel/4-fun-0-'/4 383 0.00 103 [ 0.27] sys_core_fold:delay_build/2 385 0.00 105 [ 0.27] v3_life:'-function/1-lc$^0/1-0-'/1 407 0.00 106 [ 0.26] v3_codegen:'-cg_reg_args/2-lc$^0/1-0-'/2 510 0.00 106 [ 0.21] beam_validator:verify_y_init_1/1 846 0.00 106 [ 0.13] beam_validator:'-prune_x_regs/2-lc$^0/1-0-'/2 467 0.00 106 [ 0.23] v3_core:'-bin_expand_strings/1-anonymous-1-'/2 524 0.00 107 [ 0.20] sys_core_fold:opt_simple_let_2/7 725 0.00 107 [ 0.15] dict:store/3 518 0.00 107 [ 0.21] beam_except:translate_1/5 856 0.00 107 [ 0.13] erl_expand_records:record_update/5 385 0.00 108 [ 0.28] beam_bs:bsm_subst_label/3 444 0.00 109 [ 0.25] gb_sets:from_list/1 508 0.00 109 [ 0.21] v3_kernel:get_free/3 297 0.00 110 [ 0.37] beam_dict:literal/2 400 0.00 110 [ 0.28] erl_lint:record_field/4 770 0.00 110 [ 0.14] binary:encode_unsigned/1 702 0.00 110 [ 0.16] sys_core_fold:move_let_into_expr/3 728 0.00 111 [ 0.15] sys_core_fold:opt_simple_let_0/3 725 0.00 111 [ 0.15] beam_utils:is_killed_block/2 436 0.00 111 [ 0.25] erl_expand_records:record_setel/4 383 0.00 111 [ 0.29] erlang:iolist_size/1 703 0.00 111 [ 0.16] erl_lint:bif_clash_specifically_disabled/2 280 0.00 112 [ 0.40] erl_expand_records:record_exprs/4 770 0.00 112 [ 0.15] cerl:data_type/1 385 0.00 112 [ 0.29] sys_core_fold:opt_simple_let_1/4 725 0.00 113 [ 0.16] erl_expand_records:call_error/2 385 0.00 113 [ 0.29] cerl:bitstr_type/1 524 0.00 113 [ 0.22] v3_core:verify_suitable_fields/1 765 0.00 114 [ 0.15] v3_core:fold_match/2 385 0.00 114 [ 0.30] lists:usplit_2_1/6 641 0.00 114 [ 0.18] cerl:bitstr_size/1 524 0.00 114 [ 0.22] cerl:bitstr_unit/1 524 0.00 114 [ 0.22] eval_bits:expr_grp/4 877 0.00 115 [ 0.13] beam_jump:'-opt/2-anonymous-0-'/2 276 0.00 115 [ 0.42] erl_lint:'-pattern_bin/5-fun-0-'/4 524 0.00 117 [ 0.22] cerl:bitstr_flags/1 524 0.00 117 [ 0.22] erlang:'--'/2 172 0.00 117 [ 0.68] sys_core_fold:is_compiler_generated/1 990 0.00 118 [ 0.12] cerl:bitstr_val/1 524 0.00 118 [ 0.23] erl_lint:pattern_list/5 770 0.00 119 [ 0.15] sofs:is_type/1 514 0.00 119 [ 0.23] sys_core_bsm:bsm_an_1/2 859 0.00 120 [ 0.14] cerl_sets:from_list/1 949 0.00 122 [ 0.13] sys_core_fold:update_let_types_1/3 935 0.00 123 [ 0.13] lists:merge2_1/4 837 0.00 123 [ 0.15] lists:rmerge2_2/5 863 0.00 123 [ 0.14] v3_core:'-uexpr/3-anonymous-1-'/2 550 0.00 124 [ 0.23] sys_core_dsetel:'-visit/2-anonymous-1-'/2 550 0.00 124 [ 0.23] lists:duplicate/2 497 0.00 125 [ 0.25] cerl:update_c_bitstr/6 524 0.00 126 [ 0.24] v3_core:coerce_to_float/2 524 0.00 127 [ 0.24] v3_codegen:'-extend_stack/4-lc$^0/1-0-'/4 924 0.00 127 [ 0.14] erl_lint:pat_bit_size/4 524 0.00 127 [ 0.24] sys_core_fold:eval_setelement/4 766 0.00 129 [ 0.17] sys_core_fold:'-let_substs/3-anonymous-1-'/2 495 0.00 130 [ 0.26] beam_block:eliminate_use_of_from_reg/4 487 0.00 130 [ 0.27] v3_core:upat_element/4 524 0.00 131 [ 0.25] dict:'-store/3-fun-0-'/3 518 0.00 132 [ 0.25] v3_core:lit_list_vars/2 906 0.00 133 [ 0.15] beam_jump:remove_unused_labels/1 504 0.00 133 [ 0.26] erl_lint:is_pattern_expr/1 524 0.00 133 [ 0.25] sys_core_fold:bit_pat_warn_int/4 1048 0.00 134 [ 0.13] sys_core_fold:'-sub_subst_var/3-lc$^0/1-0-'/3 598 0.00 134 [ 0.22] v3_codegen:turn_yregs/2 531 0.00 134 [ 0.25] v3_kernel:pat_list_vars/1 894 0.00 134 [ 0.15] erl_lint:is_pattern_expr_1/1 524 0.00 134 [ 0.26] v3_core:pat_segment/2 524 0.00 135 [ 0.26] erl_lint:'-expr_bin/4-fun-0-'/4 612 0.00 135 [ 0.22] beam_validator:assert_type/3 553 0.00 136 [ 0.25] erl_lint:pat_bit_expr/4 524 0.00 136 [ 0.26] erl_anno:reset_simplify/1 1173 0.00 136 [ 0.12] erl_lint:imported/3 412 0.00 138 [ 0.33] v3_core:'-pat_bin/2-lc$^0/1-0-'/2 655 0.00 139 [ 0.21] erl_anno:simplify/1 1173 0.00 139 [ 0.12] sys_core_fold:kill_types2/2 529 0.00 140 [ 0.26] v3_kernel:select_bin_int_1/4 407 0.00 140 [ 0.34] sys_core_dsetel:bind_vars/3 549 0.00 141 [ 0.26] lists:rmergel/2 934 0.00 143 [ 0.15] beam_validator:'-index_bs_start_match/2-anonymous-0-'/2 672 0.00 143 [ 0.21] erl_anno:set_anno/3 1173 0.00 143 [ 0.12] erl_lint:has_wildcard_field/1 770 0.00 144 [ 0.19] erl_lint:'-expr/3-fun-6-'/3 612 0.00 144 [ 0.24] lists:merge2_2/5 935 0.00 145 [ 0.16] beam_jump:insert_labels/4 1191 0.00 145 [ 0.12] erl_lint:bit_size/4 612 0.00 145 [ 0.24] erl_eval:line/1 636 0.00 146 [ 0.23] beam_dict:import/4 535 0.00 146 [ 0.27] sys_core_fold:'-expr/3-lc$^0/1-3-'/2 626 0.00 148 [ 0.24] beam_utils:live_opt/1 504 0.00 148 [ 0.29] beam_validator:all_ms_in_x_regs/2 863 0.00 148 [ 0.17] sys_core_fold:copy_type/3 495 0.00 149 [ 0.30] sys_core_fold:bin_pattern/2 1048 0.00 150 [ 0.14] lists:merge3_2/6 870 0.00 150 [ 0.17] erl_parse:map_anno/2 1155 0.00 150 [ 0.13] sys_core_fold:sub_subst_var/3 495 0.00 152 [ 0.31] erl_eval:partial_eval/1 636 0.00 153 [ 0.24] gb_sets:balance_list/2 787 0.00 153 [ 0.19] erl_anno:set/3 1173 0.00 154 [ 0.13] v3_core:bin_element/1 612 0.00 155 [ 0.25] v3_kernel:'-select_bin_con_1/1-anonymous-0-'/1 655 0.00 157 [ 0.24] v3_core:upat_bin/4 655 0.00 158 [ 0.24] eval_bits:eval_exp_field1/6 668 0.00 158 [ 0.24] erl_internal:bif/2 497 0.00 159 [ 0.32] sys_core_fold:fold_call_2/5 945 0.00 159 [ 0.17] v3_codegen:match_cg/6 938 0.00 159 [ 0.17] v3_codegen:'-top_level_block/4-anonymous-0-'/3 600 0.00 159 [ 0.27] erl_eval:ev_expr/1 636 0.00 160 [ 0.25] v3_kernel:'-uexpr/3-anonymous-11-'/2 669 0.00 160 [ 0.24] beam_asm:to_bytes/1 702 0.00 162 [ 0.23] v3_kernel:pattern_bin_1/4 655 0.00 165 [ 0.25] v3_codegen:turn_yreg/2 690 0.00 167 [ 0.24] lists:merge3_1/6 924 0.00 168 [ 0.18] erl_expand_records:mark_record/2 489 0.00 168 [ 0.34] beam_validator:labels_1/2 843 0.00 172 [ 0.20] v3_core:'-expr_bin/3-lc$^0/1-0-'/1 765 0.00 174 [ 0.23] sys_core_fold:fold_non_lit_args/5 945 0.00 174 [ 0.18] lists:mergel/2 1262 0.00 174 [ 0.14] eval_bits:eval_exp_field/6 668 0.00 174 [ 0.26] erl_parse:abstract/3 787 0.00 174 [ 0.22] lists:flatmap/2 732 0.00 175 [ 0.24] core_lib:vu_expr/2 956 0.00 177 [ 0.19] beam_validator:deallocate/1 673 0.00 178 [ 0.26] erl_lint:warn_invalid_record/3 770 0.00 178 [ 0.23] erl_expand_records:record_exprs/2 385 0.00 178 [ 0.46] maps:get/2 1291 0.00 178 [ 0.14] beam_bs:bsm_reroute/4 1362 0.00 179 [ 0.13] v3_codegen:finish_select_binary/1 775 0.00 179 [ 0.23] dict:fetch_val/2 1124 0.00 179 [ 0.16] beam_validator:verify_no_ct/1 673 0.00 179 [ 0.27] sys_core_fold:update_let_types/3 725 0.00 181 [ 0.25] beam_utils:is_killed/3 773 0.00 181 [ 0.23] erl_lint:vtmerge/1 612 0.00 181 [ 0.30] v3_core:'-new_in_all/1-anonymous-0-'/2 770 0.00 182 [ 0.24] erl_lint:is_valid_record/1 770 0.00 185 [ 0.24] maps:size/1 391 0.00 187 [ 0.48] beam_utils:is_killed_at/3 1176 0.00 188 [ 0.16] beam_record:is_killed/4 772 0.00 189 [ 0.24] beam_validator:verify_call_args/3 724 0.00 191 [ 0.26] v3_codegen:local_func_label/2 448 0.00 193 [ 0.43] sys_core_fold:simplify_let/2 728 0.00 194 [ 0.27] beam_block:is_killed_or_used/2 801 0.00 194 [ 0.24] erl_expand_records:new_var/2 772 0.00 194 [ 0.25] v3_core:'-uexpr/3-anonymous-6-'/3 770 0.00 196 [ 0.25] beam_validator:verify_y_init/1 727 0.00 196 [ 0.27] beam_utils:index_labels/1 840 0.00 197 [ 0.23] dict:rehash/4 848 0.00 199 [ 0.23] sys_core_fold:opt_not_in_let_0/3 667 0.00 200 [ 0.30] erl_expand_records:no_compiler_warning/1 770 0.00 200 [ 0.26] lists:usplit_1_1/6 1023 0.00 201 [ 0.20] eval_bits:make_bit_type/3 724 0.00 201 [ 0.28] cerl:case_arg/1 859 0.00 201 [ 0.23] erl_expand_records:index_expr/4 768 0.00 202 [ 0.26] sys_core_fold:opt_case_in_let/1 728 0.00 204 [ 0.28] v3_core:'-uexpr/3-anonymous-4-'/2 924 0.00 205 [ 0.22] sys_core_fold:opt_not_in_let/1 725 0.00 205 [ 0.28] lists:umerge3_2/7 1314 0.00 206 [ 0.16] sys_core_fold:let_substs/3 728 0.00 208 [ 0.29] erl_expand_records:new_var_name/1 772 0.00 208 [ 0.27] erlang:make_fun/3 962 0.00 208 [ 0.22] sys_core_fold:let_substs_1/3 728 0.00 210 [ 0.29] sys_core_fold:case_opt_arg_1/3 1705 0.00 211 [ 0.12] cerl:update_c_case/3 859 0.00 211 [ 0.25] lists:umerge3_1/7 1183 0.01 216 [ 0.18] beam_except:dig_out/2 856 0.01 218 [ 0.25] v3_core:uclauses/3 773 0.01 219 [ 0.28] sys_core_fold:add_warning/2 853 0.01 220 [ 0.26] erl_lint:record_expr/4 770 0.01 220 [ 0.29] sys_core_fold:should_suppress_warning/1 853 0.01 222 [ 0.26] sys_core_fold:'-let_substs/3-lc$^0/1-0-'/1 941 0.01 223 [ 0.24] sys_core_fold:'-warn_no_clause_match/2-anonymous-1-'/1 990 0.01 225 [ 0.23] ordsets:del_element/2 892 0.01 225 [ 0.25] v3_life:'-expr/3-lc$^0/1-8-'/1 938 0.01 226 [ 0.24] sys_core_fold:matches_data/2 728 0.01 228 [ 0.31] beam_validator:verify_call_args_1/2 1746 0.01 229 [ 0.13] lists:last/2 1769 0.01 231 [ 0.13] erl_lint:expr_var/4 1858 0.01 231 [ 0.12] beam_validator:merge_y_regs_1/3 2020 0.01 232 [ 0.11] v3_kernel:handle_reuse_annos/2 876 0.01 233 [ 0.27] erl_expand_records:'-record_setel/4-lc$^1/1-0-'/1 766 0.01 233 [ 0.30] sys_core_fold:sub_add_scope/2 728 0.01 235 [ 0.32] lists:rmerge3_1/6 1174 0.01 236 [ 0.20] beam_utils:check_liveness_block_1/6 1971 0.01 237 [ 0.12] erl_lint:pat_var/5 1823 0.01 237 [ 0.13] v3_core:new_in_all/1 773 0.01 239 [ 0.31] lists:umerge2_1/5 1700 0.01 239 [ 0.14] v3_core:cclauses/3 924 0.01 242 [ 0.26] dict:fold/3 1930 0.01 242 [ 0.13] erl_lint:elemtype_check/4 1136 0.01 242 [ 0.21] sys_core_fold:'-pattern/3-anonymous-1-'/2 1048 0.01 246 [ 0.23] erl_lint:'-copy_expr/2-fun-0-'/2 1155 0.01 246 [ 0.21] beam_jump:maps_append_list/3 985 0.01 248 [ 0.25] erlang:md5/1 1 0.01 248 [ 248.00] v3_kernel:kmatch/4 859 0.01 250 [ 0.29] beam_dead:shortcut_specific_label/3 1840 0.01 252 [ 0.14] lists:rmerge3_2/6 1557 0.01 254 [ 0.16] v3_kernel:'-expand_pat_lit/2-lc$^0/1-0-'/2 1155 0.01 255 [ 0.22] v3_kernel:flatten_seq/1 859 0.01 257 [ 0.30] beam_dict:line/2 758 0.01 257 [ 0.34] v3_codegen:select_extract_tuple/6 846 0.01 258 [ 0.30] lists:rmerge2_1/4 1873 0.01 261 [ 0.14] eval_bits:eval_field/3 668 0.01 262 [ 0.39] v3_codegen:return_cg/5 1844 0.01 262 [ 0.14] beam_except:dig_out_block/1 788 0.01 262 [ 0.33] v3_kernel:is_in_guard/1 913 0.01 266 [ 0.29] beam_dead:combine_eqs/4 962 0.01 266 [ 0.28] lists:rumerge3_12_3/7 2027 0.01 268 [ 0.13] erl_lint:check_record/4 1206 0.01 268 [ 0.22] v3_kernel:force_variable/2 903 0.01 270 [ 0.30] sys_core_fold:signedness/1 1048 0.01 271 [ 0.26] v3_codegen:'-save_carefully/4-lc$^0/1-0-'/4 2018 0.01 271 [ 0.13] beam_utils:check_liveness_at/3 1182 0.01 272 [ 0.23] v3_kernel:match_pre/3 859 0.01 272 [ 0.32] lists:rumerge2_2/5 2033 0.01 273 [ 0.13] erl_lint:bit_type/4 1136 0.01 274 [ 0.24] erl_expand_records:'-pattern_fields/2-fun-0-'/3 1155 0.01 274 [ 0.24] erl_anno:default/2 1173 0.01 275 [ 0.23] v3_kernel:build_match/2 859 0.01 282 [ 0.33] sys_core_fold:'-var_list/2-anonymous-0-'/2 1067 0.01 283 [ 0.27] erl_expand_records:'-record_inits/2-fun-0-'/3 1155 0.01 284 [ 0.25] v3_core:novars/2 1155 0.01 285 [ 0.25] maps:from_list/1 1479 0.01 285 [ 0.19] v3_codegen:'-match_cg/5-anonymous-1-'/6 2140 0.01 287 [ 0.13] v3_kernel:match_vars/2 859 0.01 288 [ 0.34] erl_lint:bit_size_check/4 1136 0.01 288 [ 0.25] erl_lint:add_bit_size/5 1136 0.01 288 [ 0.25] v3_kernel:select_bin_con_2/1 2206 0.01 289 [ 0.13] erl_lint:copy_expr/2 1155 0.01 291 [ 0.25] erl_parse:'-map_anno/2-fun-0-'/3 1155 0.01 292 [ 0.25] beam_peep:is_test_redundant_1/3 2768 0.01 293 [ 0.11] v3_core:make_bit_type/3 1136 0.01 295 [ 0.26] beam_flatten:move_past_kill/3 1329 0.01 296 [ 0.22] gb_trees:balance/2 2225 0.01 296 [ 0.13] sys_core_fold:let_subst_list/3 1436 0.01 302 [ 0.21] sys_core_fold:var_list/2 1013 0.01 302 [ 0.30] io_lib:latin1_char_list/1 2698 0.01 302 [ 0.11] sys_core_fold:bin_pat_warn/1 1048 0.01 306 [ 0.29] beam_validator:validate_src/2 1153 0.01 306 [ 0.27] v3_core:force_novars/2 1155 0.01 308 [ 0.27] cerl:c_tuple/1 1158 0.01 308 [ 0.27] lists:usort/1 2390 0.01 309 [ 0.13] v3_codegen:load_vars/2 1023 0.01 310 [ 0.30] erl_lint:warn_unused_vars/3 2645 0.01 310 [ 0.12] beam_jump:drop_upto_label/1 1534 0.01 311 [ 0.20] v3_codegen:enter_cg/6 1610 0.01 311 [ 0.19] cerl:call_name/1 1398 0.01 311 [ 0.22] beam_validator:'-validate_src/2-anonymous-0-'/2 1344 0.01 312 [ 0.23] erl_lint:guard_tests/3 2628 0.01 312 [ 0.12] erl_bits:set_bit_1/2 2784 0.01 314 [ 0.11] sets:get_bucket_s/2 1919 0.01 315 [ 0.16] beam_validator:kill_state/1 2080 0.01 315 [ 0.15] erl_anno:is_settable/2 1173 0.01 316 [ 0.27] cerl:update_c_tuple_skel/2 1279 0.01 316 [ 0.25] cerl:call_args/1 1398 0.01 316 [ 0.23] erl_expand_records:strict_record_tests/1 2310 0.01 319 [ 0.14] cerl:call_module/1 1398 0.01 321 [ 0.23] lists:umerge3_12_3/6 2562 0.01 323 [ 0.13] beam_validator:merge_states_1/2 2020 0.01 323 [ 0.16] erl_lint:'-init_fields/3-lc$^0/1-0-'/3 1206 0.01 323 [ 0.27] v3_core:fail_clause/3 1158 0.01 324 [ 0.28] v3_core:'-constant_bin_1/1-anonymous-0-'/2 1224 0.01 324 [ 0.26] sys_core_fold:will_fail/1 1218 0.01 326 [ 0.27] v3_kernel:match_con_1/4 2105 0.01 327 [ 0.16] erl_expand_records:strict_record_updates/1 2310 0.01 329 [ 0.14] erl_lint:check_unused_vars/3 2611 0.01 330 [ 0.13] v3_kernel:select_bin_con_1/1 2105 0.01 335 [ 0.16] v3_kernel:'-handle_reuse_annos/2-lc$^0/1-0-'/2 1796 0.01 337 [ 0.19] erl_expand_records:record_fields/2 1291 0.01 337 [ 0.26] erl_lint:'-init_fields/6-fun-1-'/3 1155 0.01 341 [ 0.30] cerl:ann_c_cons/3 2543 0.01 342 [ 0.13] cerl:update_c_call/4 1398 0.01 342 [ 0.24] lists:foreach/2 2506 0.01 345 [ 0.14] dict:fold_dict/3 1930 0.01 349 [ 0.18] beam_type:merge_type_info/2 1582 0.01 351 [ 0.22] beam_dead:shortcut_bs_test_1/4 3060 0.01 354 [ 0.12] v3_kernel:match_con/4 2105 0.01 356 [ 0.17] beam_jump:collect_labels_1/3 1976 0.01 359 [ 0.18] erl_lint:used_record/2 1291 0.01 359 [ 0.28] lists:rumerge2_1/4 2847 0.01 361 [ 0.13] beam_utils:'-live_opt/1-anonymous-0-'/1 1512 0.01 364 [ 0.24] v3_codegen:match_fmf/4 2233 0.01 369 [ 0.17] erl_bifs:is_safe/3 1414 0.01 370 [ 0.26] beam_dict:fname/2 755 0.01 371 [ 0.49] ordsets:from_list/1 2210 0.01 373 [ 0.17] v3_kernel:select_bin_int/1 2105 0.01 374 [ 0.18] erl_lint:'-pattern_list/5-fun-0-'/5 1540 0.01 374 [ 0.24] v3_core:ufun_clause/3 2747 0.01 376 [ 0.14] erl_lint:'-check_fields/6-fun-0-'/6 1540 0.01 376 [ 0.24] erl_lint:vtnew/2 2696 0.01 379 [ 0.14] beam_dead:shortcut_select_list/4 2588 0.01 384 [ 0.15] v3_core:'-uclauses/3-anonymous-0-'/3 1543 0.01 385 [ 0.25] v3_core:uclause/3 2316 0.01 386 [ 0.17] sys_core_fold:call_1/5 2860 0.01 387 [ 0.14] dict:get_bucket_s/2 2149 0.01 387 [ 0.18] lists:last/1 1352 0.01 389 [ 0.29] beam_block:opt_tuple_element_1/4 1665 0.01 389 [ 0.23] cerl:data_arity/1 385 0.01 389 [ 1.01] v3_codegen:trap_bif/3 1397 0.01 394 [ 0.28] erl_lint:'-vtmerge/1-fun-0-'/2 1836 0.01 394 [ 0.21] lists:partition/4 2764 0.01 398 [ 0.14] sys_core_fold:fold_call/5 2860 0.01 404 [ 0.14] v3_kernel:is_remote_bif/3 1397 0.01 408 [ 0.29] v3_core:'-lit_list_vars/2-anonymous-0-'/2 1869 0.01 411 [ 0.22] erl_lint:check_field/7 1540 0.01 413 [ 0.27] beam_dead:shortcut_rel_op_fp/3 3432 0.01 419 [ 0.12] erl_internal:op_type/2 1187 0.01 422 [ 0.36] cerl:var_name/1 1705 0.01 423 [ 0.25] beam_record:is_tagged_tuple/4 789 0.01 424 [ 0.54] erl_lint:'-unused_vars/3-fun-0-'/2 1874 0.01 432 [ 0.23] erl_internal:guard_bif/2 1241 0.01 434 [ 0.35] v3_core:new_var/2 1636 0.01 436 [ 0.27] v3_codegen:move_unsaved/4 3556 0.01 436 [ 0.12] lists:droplast/1 1734 0.01 440 [ 0.25] v3_kernel:op_vars/1 1486 0.01 440 [ 0.30] sets:get_bucket/2 1901 0.01 441 [ 0.23] v3_life:call_op/1 1678 0.01 443 [ 0.26] sys_core_fold:move_case_into_arg/2 1766 0.01 443 [ 0.25] cerl:is_c_var/1 1844 0.01 446 [ 0.24] beam_dead:normalize_op_1/3 3569 0.01 448 [ 0.13] v3_kernel:'-ubody/3-anonymous-1-'/2 1878 0.01 451 [ 0.24] dict:find/2 1660 0.01 451 [ 0.27] v3_life:'-expr/3-lc$^0/1-3-'/1 1844 0.01 455 [ 0.25] sys_core_fold:get_line/1 1891 0.01 460 [ 0.24] beam_utils:check_liveness_block_2/4 1954 0.01 460 [ 0.24] lists:umerge3_21_3/6 3631 0.01 460 [ 0.13] beam_dead:will_succeed/2 1739 0.01 461 [ 0.27] v3_codegen:enter_line/3 1609 0.01 463 [ 0.29] sets:get_slot/2 1901 0.01 464 [ 0.24] v3_codegen:func_vars/1 1678 0.01 468 [ 0.28] lists:rumerge3_2/7 2857 0.01 470 [ 0.16] v3_codegen:select_cg/6 2140 0.01 471 [ 0.22] sys_core_fold:is_boolean_type/2 1874 0.01 477 [ 0.25] dict:get_bucket/2 2048 0.01 479 [ 0.23] sys_core_fold:case_expand_var/2 1705 0.01 482 [ 0.28] beam_validator:min/2 2020 0.01 482 [ 0.24] sys_core_fold:warn_no_clause_match/2 1766 0.01 486 [ 0.28] beam_type:tdb_kill_xregs/1 3424 0.01 486 [ 0.14] gb_sets:add/2 2174 0.01 488 [ 0.22] cerl:is_c_values/1 1831 0.01 488 [ 0.27] erl_bits:as_list/1 1860 0.01 490 [ 0.26] sys_core_fold:'-call_1/5-lc$^0/1-0-'/2 1958 0.01 492 [ 0.25] erl_bits:merge_bittype/2 2060 0.01 495 [ 0.24] sys_core_fold:fold_call_1/5 2857 0.01 496 [ 0.17] dict:mk_seg/1 1933 0.01 497 [ 0.26] sys_core_fold:get_type/2 1874 0.01 499 [ 0.27] erl_expand_records:find_field/2 2312 0.01 499 [ 0.22] erl_bits:check_unit/1 2272 0.01 508 [ 0.22] sys_core_fold:case_opt_arg/4 1844 0.01 513 [ 0.28] beam_validator:merge_y_regs/2 2020 0.01 515 [ 0.25] sys_core_fold:case_opt/3 1766 0.01 518 [ 0.29] gb_trees:to_list_1/1 2225 0.01 518 [ 0.23] v3_kernel:match_guard/3 4142 0.01 524 [ 0.13] v3_codegen:'-saves/3-lc$^0/1-0-'/3 4562 0.01 525 [ 0.12] sys_core_fold:opt_bool_case/2 1766 0.01 526 [ 0.30] v3_life:type/1 2140 0.01 528 [ 0.25] beam_validator:valfun_2/2 3927 0.01 529 [ 0.13] beam_type:tag_literal/1 2146 0.01 532 [ 0.25] beam_split:make_block/2 3875 0.01 532 [ 0.14] sys_core_dsetel:'-visit/2-anonymous-4-'/2 2362 0.01 534 [ 0.23] dict:new/0 1933 0.01 536 [ 0.28] erlang:tuple_to_list/1 3749 0.01 537 [ 0.14] v3_core:'-uexpr/3-anonymous-5-'/2 2362 0.01 538 [ 0.23] erl_bifs:is_exit_bif/3 3414 0.01 538 [ 0.16] sys_core_fold:call/4 2860 0.01 539 [ 0.19] beam_jump:initial_labels/2 2844 0.01 539 [ 0.19] sys_core_fold:eval_case/2 1766 0.01 540 [ 0.31] sys_core_fold:shadow_warning/2 2619 0.01 541 [ 0.21] sys_core_fold:is_bool_expr/2 1976 0.01 542 [ 0.27] lists:partition/2 2109 0.01 543 [ 0.26] beam_validator:valfun_3/2 3927 0.01 543 [ 0.14] v3_codegen:build_enter/3 1609 0.01 544 [ 0.34] beam_utils:check_liveness_block/3 1996 0.01 545 [ 0.27] v3_kernel:call_type/3 1398 0.01 549 [ 0.39] dict:fold_segs/4 3826 0.01 549 [ 0.14] beam_validator:set_type_reg/3 3543 0.01 553 [ 0.16] sys_core_fold:case_will_var_match/1 1844 0.01 555 [ 0.30] v3_core:annotate_cons/4 2271 0.01 559 [ 0.25] cerl_sets:new/0 2155 0.01 565 [ 0.26] v3_kernel:uexpr/3 2891 0.01 572 [ 0.20] v3_codegen:find_loc/3 3500 0.01 576 [ 0.16] v3_kernel:'-uexpr/3-anonymous-13-'/2 2464 0.01 580 [ 0.24] orddict:erase/2 3096 0.01 580 [ 0.19] beam_validator:'-valfun_4/2-anonymous-1-'/2 2588 0.01 586 [ 0.23] beam_dead:prune_redundant/2 2588 0.01 591 [ 0.23] lists:usplit_1/5 3479 0.01 592 [ 0.17] erlang:atom_to_list/1 886 0.01 595 [ 0.67] v3_kernel:partition_intersection/4 2140 0.01 599 [ 0.28] v3_kernel:'-match_con_1/4-anonymous-0-'/3 2140 0.01 600 [ 0.28] erl_parse:abstract/2 17 0.01 602 [ 35.41] v3_life:type_clause/5 2140 0.01 607 [ 0.28] v3_codegen:select_val_cg/6 1904 0.01 608 [ 0.32] erl_lint:expr_list/3 4097 0.01 608 [ 0.15] erl_lint:'-clauses/2-fun-0-'/2 2560 0.01 609 [ 0.24] v3_codegen:fetch_reg/2 3078 0.01 611 [ 0.20] beam_dead:shortcut_select_label/4 2453 0.01 611 [ 0.25] v3_kernel:select_bin_con/1 2105 0.01 622 [ 0.30] sys_core_fold:'-signedness/1-lc$^0/1-0-'/1 3144 0.01 626 [ 0.20] beam_peep:prune_redundant_values/2 2633 0.01 629 [ 0.24] erl_lint:head/3 2560 0.01 632 [ 0.25] v3_kernel:build_select/2 2105 0.01 634 [ 0.30] erl_lint:clause/2 2560 0.01 638 [ 0.25] erl_lint:guard/3 2594 0.01 638 [ 0.25] v3_kernel:atomic_list/3 1784 0.01 639 [ 0.36] beam_validator:branch_state/2 3952 0.01 640 [ 0.16] v3_kernel:match_value/5 2140 0.02 642 [ 0.30] beam_validator:get_move_term_type/2 2612 0.02 642 [ 0.25] beam_type:tdb_update/2 4792 0.02 647 [ 0.14] erl_lint:unused_vars/3 2645 0.02 650 [ 0.25] beam_utils:check_liveness/3 2812 0.02 653 [ 0.23] v3_core:'-ufun_clauses/3-anonymous-0-'/3 2596 0.02 656 [ 0.25] erl_bits:type_to_record/1 2784 0.02 659 [ 0.24] erlang:throw/1 2616 0.02 661 [ 0.25] erlang:list_to_binary/1 21 0.02 662 [ 31.52] dict:store_bkt_val/3 3022 0.02 666 [ 0.22] v3_codegen:block_cg/4 4224 0.02 667 [ 0.16] beam_asm:encode_list/3 5137 0.02 672 [ 0.13] beam_peep:is_test_redundant/3 2768 0.02 684 [ 0.25] beam_dead:useful_to_insert_label/1 2912 0.02 684 [ 0.23] beam_flatten:norm/1 2607 0.02 690 [ 0.26] sys_core_fold:'-function_1/1-anonymous-0-'/1 251 0.02 694 [ 2.76] sys_core_fold:'-warn_no_clause_match/2-anonymous-0-'/1 2927 0.02 696 [ 0.24] cerl_sets:'-from_list/1-lc$^0/1-0-'/1 2976 0.02 696 [ 0.23] erl_bits:check_size_unit/3 2996 0.02 697 [ 0.23] erl_bits:set_bit/1 2996 0.02 699 [ 0.23] v3_kernel:'-match_pre/3-anonymous-0-'/3 4145 0.02 701 [ 0.17] lists:usplit_2/5 5084 0.02 716 [ 0.14] beam_dead:shortcut_bs_test/3 3060 0.02 717 [ 0.23] v3_life:'-expr/3-lc$^0/1-11-'/1 2963 0.02 718 [ 0.24] gb_trees:keys/2 4330 0.02 720 [ 0.17] cerl:update_c_tuple/2 2979 0.02 724 [ 0.24] v3_life:'-expr/3-lc$^0/1-7-'/3 3487 0.02 729 [ 0.21] beam_validator:valfun_4/2 3927 0.02 734 [ 0.19] gb_sets:count/1 3125 0.02 735 [ 0.24] gb_sets:is_element/2 3542 0.02 743 [ 0.21] lists:umerge2_2/4 5786 0.02 744 [ 0.13] v3_codegen:top_level_block/4 2684 0.02 745 [ 0.28] v3_codegen:cg/5 4745 0.02 749 [ 0.16] sys_core_fold:useless_call/2 2860 0.02 751 [ 0.26] erl_bifs:is_pure/3 2857 0.02 754 [ 0.26] v3_kernel:match_clause/4 4497 0.02 755 [ 0.17] lists:split_1/5 5072 0.02 762 [ 0.15] v3_kernel:expand_pat_lit/2 3339 0.02 764 [ 0.23] sys_core_bsm:bsm_leftmost_1/2 5004 0.02 765 [ 0.15] v3_core:cclause/3 5063 0.02 782 [ 0.15] sys_core_fold:case_opt_args/5 3610 0.02 785 [ 0.22] lists:any/2 4298 0.02 787 [ 0.18] v3_kernel:handle_reuse_anno/2 3042 0.02 787 [ 0.26] v3_kernel:'-atomic_list/3-anonymous-0-'/3 5982 0.02 792 [ 0.13] gb_trees:empty/0 3538 0.02 793 [ 0.22] dict:find_val/2 5799 0.02 800 [ 0.14] beam_dead:shortcut_any_label/2 3432 0.02 806 [ 0.23] v3_core:is_simple/1 3320 0.02 809 [ 0.24] dict:append/3 6241 0.02 811 [ 0.13] v3_kernel:literal/2 4667 0.02 813 [ 0.17] dict:maybe_expand/2 6759 0.02 814 [ 0.12] v3_codegen:put_reg_1/3 3274 0.02 820 [ 0.25] erl_internal:new_type_test/2 4564 0.02 824 [ 0.18] v3_kernel:'-umatch_list/3-anonymous-0-'/3 6742 0.02 837 [ 0.12] v3_codegen:line/1 3137 0.02 838 [ 0.27] erl_lint:merge_used/2 3765 0.02 841 [ 0.22] v3_codegen:unsaved_registers/5 3539 0.02 845 [ 0.24] erl_lint:merge_lines/2 3766 0.02 848 [ 0.23] erlang:list_to_tuple/1 5982 0.02 849 [ 0.14] beam_validator:check_limit/1 3543 0.02 857 [ 0.24] gb_trees:from_orddict/1 3637 0.02 862 [ 0.24] v3_codegen:gen_moves/2 3539 0.02 869 [ 0.25] lists:append/1 4010 0.02 883 [ 0.22] erts_internal:port_control/3 3 0.02 883 [ 294.33] beam_type:simplify_float/2 3855 0.02 890 [ 0.23] beam_flatten:norm_block/2 4760 0.02 902 [ 0.19] v3_codegen:move_unsaved/3 3539 0.02 905 [ 0.26] v3_kernel:group_value/3 2140 0.02 915 [ 0.43] erl_expand_records:head/2 4100 0.02 915 [ 0.22] v3_kernel:build_alt/2 4142 0.02 920 [ 0.22] lists:rumerge3_1/6 6334 0.02 925 [ 0.15] erl_lint:'-vtupdate/2-fun-0-'/3 3765 0.02 927 [ 0.25] erl_expand_records:guard/2 4134 0.02 931 [ 0.23] beam_validator:get_fls/1 3927 0.02 932 [ 0.24] erl_expand_records:opt_rec_vars/1 4100 0.02 937 [ 0.23] sets:add_element/2 1459 0.02 947 [ 0.65] cerl_clauses:match_list/2 3840 0.02 947 [ 0.25] sys_core_dsetel:'-visit/2-anonymous-2-'/2 4145 0.02 951 [ 0.23] beam_block:opt_block/1 3906 0.02 953 [ 0.24] v3_kernel:'-group_value/3-anonymous-1-'/4 4261 0.02 957 [ 0.22] gb_trees:size/1 4040 0.02 957 [ 0.24] v3_core:guard/2 4102 0.02 966 [ 0.24] gb_sets:is_member/2 5890 0.02 968 [ 0.16] v3_core:head/2 4102 0.02 972 [ 0.24] v3_codegen:cg_setup_call/4 3539 0.02 974 [ 0.28] beam_type:flt_liveness/1 3855 0.02 974 [ 0.25] beam_block:find_fixpoint/2 4325 0.02 975 [ 0.23] v3_core:'-cclauses/3-anonymous-0-'/3 4139 0.02 976 [ 0.24] beam_validator:merge_states/3 3932 0.02 981 [ 0.25] erl_expand_records:optimize_is_record/3 4100 0.02 995 [ 0.24] sys_core_fold:sub_get_var/2 7105 0.02 997 [ 0.14] erl_bits:set_bit_type/2 5268 0.02 999 [ 0.19] orddict:new/0 6525 0.02 1002 [ 0.15] erl_anno:record/1 4187 0.02 1003 [ 0.24] beam_type:simplify/2 3855 0.02 1014 [ 0.26] v3_life:'-match/5-lc$^0/1-1-'/5 4245 0.02 1015 [ 0.24] v3_kernel:ubody/3 6590 0.02 1020 [ 0.15] v3_kernel:pattern_list/4 5732 0.02 1026 [ 0.18] v3_codegen:select_labels/4 5741 0.02 1027 [ 0.18] beam_jump:skip_unreachable/3 7552 0.02 1030 [ 0.14] erl_anno:anno_info/3 8470 0.02 1032 [ 0.12] gb_sets:insert/2 4942 0.02 1035 [ 0.21] v3_core:record_anno/2 4187 0.02 1036 [ 0.25] v3_kernel:select_types/2 4210 0.02 1038 [ 0.25] dict:maybe_expand_aux/2 6759 0.02 1038 [ 0.15] beam_type:tdb_copy/3 6132 0.02 1046 [ 0.17] beam_validator:get_term_type/2 4982 0.02 1054 [ 0.21] beam_block:'-opt_block/1-anonymous-0-'/1 4325 0.02 1056 [ 0.24] cerl:tuple_es/1 4258 0.02 1060 [ 0.25] v3_kernel:'-op_vars/1-lc$^0/1-0-'/1 4458 0.02 1061 [ 0.24] v3_core:annotate_tuple/3 4187 0.02 1064 [ 0.25] erl_anno:new_location/1 10503 0.03 1072 [ 0.10] v3_kernel:is_enter_expr/1 4381 0.03 1074 [ 0.25] v3_codegen:cg_call_args/4 3539 0.03 1076 [ 0.30] beam_validator:'-valfun_4/2-lc$^0/1-0-'/2 5041 0.03 1076 [ 0.21] cerl:case_clauses/1 4391 0.03 1078 [ 0.25] erl_lint:vtmerge/2 5277 0.03 1079 [ 0.20] v3_codegen:collect_chain/4 4376 0.03 1103 [ 0.25] v3_codegen:saves/3 4477 0.03 1108 [ 0.25] v3_kernel:sub_size_var/2 4497 0.03 1114 [ 0.25] gb_trees:balance_list/2 5862 0.03 1114 [ 0.19] v3_core:clause/2 4102 0.03 1117 [ 0.27] sys_core_fold:clause_1/5 7922 0.03 1120 [ 0.14] beam_utils:index_label/3 4466 0.03 1120 [ 0.25] v3_kernel:pattern_list/3 4475 0.03 1123 [ 0.25] v3_codegen:'-select_val_cg/6-lc$^0/1-0-'/2 5041 0.03 1130 [ 0.22] v3_codegen:reserve/3 8344 0.03 1132 [ 0.14] v3_codegen:'-save_stack/4-lc$^1/1-1-'/1 4562 0.03 1136 [ 0.25] v3_kernel:arg_val/2 6371 0.03 1139 [ 0.18] beam_trim:trim/3 9557 0.03 1142 [ 0.12] v3_codegen:'-select_cg/6-anonymous-0-'/5 4261 0.03 1153 [ 0.27] v3_codegen:need_heap/2 4534 0.03 1166 [ 0.26] beam_type:'-tdb_update/2-anonymous-0-'/1 4828 0.03 1169 [ 0.24] v3_kernel:get_con/1 4497 0.03 1177 [ 0.26] v3_codegen:save_stack/4 4477 0.03 1179 [ 0.26] cerl:ann_c_tuple/2 6882 0.03 1181 [ 0.17] gb_trees:to_list/1 4973 0.03 1186 [ 0.24] v3_codegen:'-cg_list/5-anonymous-0-'/3 4390 0.03 1187 [ 0.27] v3_core:cguard/2 5063 0.03 1193 [ 0.24] lists:all/2 7433 0.03 1196 [ 0.16] v3_kernel:'-match_con/4-lc$^0/1-0-'/1 5473 0.03 1197 [ 0.22] v3_kernel:'-match_value/5-anonymous-0-'/3 4497 0.03 1199 [ 0.27] gb_trees:update/3 7316 0.03 1210 [ 0.17] sys_core_fold:update_types_2/3 4456 0.03 1211 [ 0.27] v3_codegen:gen_moves/4 8450 0.03 1213 [ 0.14] beam_flatten:block/2 9557 0.03 1217 [ 0.13] v3_codegen:match_cg/5 7260 0.03 1217 [ 0.17] v3_codegen:adjust_stack/4 4477 0.03 1220 [ 0.27] beam_block:opt_moves/2 5254 0.03 1228 [ 0.23] v3_kernel:umatch_list/3 4333 0.03 1229 [ 0.28] beam_type:flt_liveness_1/3 8435 0.03 1229 [ 0.15] v3_life:expr/3 4675 0.03 1240 [ 0.27] erl_expand_records:clauses/2 5002 0.03 1244 [ 0.25] v3_codegen:cg/4 4745 0.03 1255 [ 0.26] v3_codegen:basic_block/2 4470 0.03 1255 [ 0.28] v3_life:body/3 4675 0.03 1256 [ 0.27] v3_core:clauses/2 5006 0.03 1258 [ 0.25] beam_record:rewrite/3 9542 0.03 1259 [ 0.13] orddict:filter/2 7572 0.03 1262 [ 0.17] erl_lint:exprs/3 5120 0.03 1265 [ 0.25] cerl:is_literal/1 5246 0.03 1271 [ 0.24] beam_dead:shortcut_rel_op/4 5365 0.03 1274 [ 0.24] beam_block:opt_move_1/3 5782 0.03 1281 [ 0.22] v3_core:'-new_in_any/1-anonymous-0-'/2 5573 0.03 1288 [ 0.23] beam_validator:valfun/4 8912 0.03 1289 [ 0.14] v3_codegen:cg_list/5 4390 0.03 1294 [ 0.29] gb_sets:balance_list_1/2 5205 0.03 1300 [ 0.25] beam_dead:update_value_dict/3 2588 0.03 1300 [ 0.50] v3_core:uguard/4 5063 0.03 1309 [ 0.26] v3_codegen:collect_block/1 4470 0.03 1309 [ 0.29] sys_core_bsm:bsm_leftmost_2/4 10417 0.03 1313 [ 0.13] beam_asm:assemble_function/3 9587 0.03 1313 [ 0.14] beam_flatten:opt_1/2 10261 0.03 1316 [ 0.13] sys_core_fold:pattern_list/3 7925 0.03 1330 [ 0.17] lists:split_2/5 9072 0.03 1331 [ 0.15] v3_kernel:new_clauses/3 4497 0.03 1333 [ 0.30] erl_lint:exist_field/2 10254 0.03 1336 [ 0.13] v3_kernel:match_guard_1/3 4179 0.03 1337 [ 0.32] erl_lint:keyword_warning/3 5988 0.03 1338 [ 0.22] v3_codegen:'-clear_dead_stk/3-lc$^0/1-0-'/3 11348 0.03 1345 [ 0.12] sys_core_fold:'-case_will_var_match/1-anonymous-0-'/1 4569 0.03 1346 [ 0.29] beam_trim:safe_labels/2 9410 0.03 1359 [ 0.14] orddict:store/3 7603 0.03 1371 [ 0.18] v3_codegen:need_heap_1/2 4675 0.03 1372 [ 0.29] v3_codegen:select_val/5 4261 0.03 1380 [ 0.32] beam_bsm:btb_opt_1/3 11869 0.03 1385 [ 0.12] v3_codegen:order_moves/3 7414 0.03 1393 [ 0.19] beam_dict:atom/2 4805 0.03 1413 [ 0.29] beam_clean:bs_replace/3 11882 0.03 1414 [ 0.12] beam_receive:opt/3 11869 0.03 1425 [ 0.12] v3_kernel:get_match/2 4497 0.03 1428 [ 0.32] beam_utils:is_pure_test/1 4686 0.03 1430 [ 0.31] v3_kernel:atomic/3 5988 0.03 1431 [ 0.24] v3_codegen:add_vls/3 8098 0.03 1436 [ 0.18] beam_block:move_allocates_1/2 9109 0.03 1465 [ 0.16] v3_life:val_clause/5 4497 0.03 1471 [ 0.33] v3_core:'-safe_list/2-anonymous-0-'/2 12288 0.03 1477 [ 0.12] v3_kernel:'-partition/1-anonymous-0-'/2 6163 0.03 1478 [ 0.24] v3_core:cexprs/3 5590 0.04 1507 [ 0.27] v3_kernel:'-group_value/3-anonymous-0-'/2 6241 0.04 1513 [ 0.24] v3_core:uclause/4 5063 0.04 1516 [ 0.30] v3_codegen:longest/2 6572 0.04 1542 [ 0.23] v3_kernel:pre_seq/2 6656 0.04 1546 [ 0.23] v3_codegen:fetch_var/2 5770 0.04 1548 [ 0.27] erl_lint:head/4 7474 0.04 1548 [ 0.21] v3_codegen:'-block_cg/4-anonymous-0-'/2 7067 0.04 1560 [ 0.22] beam_split:split_block/3 8435 0.04 1562 [ 0.19] dict:'-append/3-fun-0-'/3 6241 0.04 1570 [ 0.25] v3_life:'-type_clause/5-lc$^0/1-0-'/5 6637 0.04 1577 [ 0.24] v3_kernel:lit_vars/1 6338 0.04 1577 [ 0.25] lists:keysort/2 8482 0.04 1583 [ 0.19] v3_codegen:find_scratch_reg/2 9018 0.04 1592 [ 0.18] beam_type:tdb_find/2 5902 0.04 1597 [ 0.27] beam_clean:update_work_list/2 11882 0.04 1602 [ 0.13] v3_kernel:clause_val/1 6371 0.04 1619 [ 0.25] v3_kernel:body/3 5476 0.04 1642 [ 0.30] erl_anno:anno_info/2 8488 0.04 1654 [ 0.19] beam_dead:get_literal/1 7173 0.04 1662 [ 0.23] lists:filter/2 6898 0.04 1674 [ 0.24] v3_kernel:'-select_bin_con/1-anonymous-0-'/1 7078 0.04 1684 [ 0.24] beam_asm:encode_op/3 9419 0.04 1706 [ 0.18] beam_validator:merge_regs_1/2 7234 0.04 1709 [ 0.24] v3_codegen:need_heap_0/3 9209 0.04 1738 [ 0.19] erl_bits:apply_defaults/5 12196 0.04 1752 [ 0.14] beam_peep:peep/3 11882 0.04 1758 [ 0.15] erl_lint:pattern/5 6607 0.04 1759 [ 0.27] beam_block:collect_block/2 9090 0.04 1765 [ 0.19] erl_bits:merge_field/3 8240 0.04 1777 [ 0.22] beam_type:x_live/2 9023 0.04 1788 [ 0.20] beam_jump:move_1/3 15981 0.04 1794 [ 0.11] v3_core:cexpr/3 6511 0.04 1845 [ 0.28] v3_codegen:clear_dead_reg/3 7328 0.04 1853 [ 0.25] beam_z:undo_rename/1 8780 0.04 1867 [ 0.21] gb_trees:enter/3 9837 0.04 1913 [ 0.19] sys_core_fold:pattern_list/2 7925 0.04 1916 [ 0.24] v3_codegen:clear_dead/3 7328 0.04 1916 [ 0.26] v3_kernel:maybe_add_warning/3 8216 0.04 1916 [ 0.23] v3_codegen:sr_merge/2 5190 0.04 1924 [ 0.37] beam_type:verify_type/1 7548 0.05 1936 [ 0.26] v3_kernel:expand_pat_lit_clause/2 7078 0.05 1947 [ 0.28] gb_sets:empty/0 9285 0.05 1954 [ 0.21] beam_clean:bs_clean_saves_1/3 17192 0.05 1978 [ 0.12] beam_validator:get_term_type_1/2 7594 0.05 1981 [ 0.26] sys_core_fold:clauses/5 7919 0.05 1993 [ 0.25] core_lib:make_values/1 8600 0.05 1997 [ 0.23] sys_core_fold:guard/2 7925 0.05 2011 [ 0.25] v3_life:atomic/1 7827 0.05 2015 [ 0.26] cerl_clauses:match/2 8713 0.05 2018 [ 0.23] v3_kernel:is_atomic/1 8141 0.05 2028 [ 0.25] erl_lint:'-expr_list/3-fun-0-'/3 8606 0.05 2030 [ 0.24] beam_bs:bsm_scan/4 16932 0.05 2044 [ 0.12] v3_life:match/5 7260 0.05 2046 [ 0.28] lists:duplicate/3 18233 0.05 2051 [ 0.11] beam_type:tdb_update1/2 10602 0.05 2059 [ 0.19] beam_bs:bsm_opt_2/2 17164 0.05 2063 [ 0.12] beam_block:embed_lines/2 17184 0.05 2073 [ 0.12] v3_codegen:cg_block/5 8553 0.05 2078 [ 0.24] erl_expand_records:exprs/2 9355 0.05 2082 [ 0.22] v3_core:lit_vars/2 10591 0.05 2091 [ 0.20] v3_kernel:force_atomic/2 8141 0.05 2092 [ 0.26] v3_codegen:match_cg/4 7260 0.05 2142 [ 0.30] beam_dict:opcode/2 9420 0.05 2157 [ 0.23] sys_core_fold:clause/4 7922 0.05 2159 [ 0.27] beam_utils:live_join_label/3 8843 0.05 2159 [ 0.24] dict:on_bucket/3 6759 0.05 2165 [ 0.32] v3_core:uexpr/3 6984 0.05 2167 [ 0.31] v3_codegen:load_arg_regs/3 8450 0.05 2172 [ 0.26] beam_block:opt_alloc/1 11937 0.05 2172 [ 0.18] cerl:make_lit_list/1 11523 0.05 2186 [ 0.19] beam_opcodes:opcode/2 9420 0.05 2223 [ 0.24] v3_core:exprs/2 8974 0.05 2231 [ 0.25] sys_core_fold:update_types/3 8234 0.05 2245 [ 0.27] beam_z:undo_renames/1 9587 0.05 2256 [ 0.24] erl_anno:new/1 10503 0.05 2262 [ 0.22] lists:split_1_1/6 784 0.05 2289 [ 2.92] beam_except:translate/3 17164 0.05 2311 [ 0.13] beam_split:split_blocks/2 17151 0.05 2325 [ 0.14] gb_sets:to_list/2 14255 0.05 2327 [ 0.16] sys_core_fold:will_match/2 7919 0.05 2331 [ 0.29] beam_validator:val_dsetel/2 8744 0.05 2341 [ 0.27] ordsets:add_element/2 12009 0.06 2397 [ 0.20] erlang:phash/2 11590 0.06 2445 [ 0.21] dict:get_slot/2 8807 0.06 2466 [ 0.28] beam_type:opt_fmoves/2 16145 0.06 2469 [ 0.15] sys_core_fold:'-case_opt/3-lc$^0/1-0-'/1 10538 0.06 2496 [ 0.24] beam_jump:is_unreachable_after/1 10395 0.06 2499 [ 0.24] beam_type:opt/3 17164 0.06 2501 [ 0.15] v3_core:'-used_in_any/1-anonymous-0-'/2 10516 0.06 2504 [ 0.24] beam_dead:backward/3 18352 0.06 2504 [ 0.14] sys_core_fold:'-case_opt/3-lc$^1/1-1-'/1 10538 0.06 2513 [ 0.24] v3_life:vdb_update/3 13239 0.06 2514 [ 0.19] beam_block:blockify/2 17185 0.06 2527 [ 0.15] beam_type:flt_alloc/2 11588 0.06 2529 [ 0.22] beam_utils:live_join_labels/3 15798 0.06 2538 [ 0.16] beam_validator:valfun_1/2 8744 0.06 2581 [ 0.30] ordsets:is_element/2 17110 0.06 2583 [ 0.15] beam_jump:eliminate_fallthroughs/2 17629 0.06 2590 [ 0.15] beam_reorder:reorder_1/3 19139 0.06 2598 [ 0.14] beam_dead:forward/4 17408 0.06 2599 [ 0.15] beam_block:opt_tuple_element/1 13904 0.06 2617 [ 0.19] beam_dead:normalize_op/1 10466 0.06 2617 [ 0.25] beam_jump:share_1/4 18255 0.06 2620 [ 0.14] lists:sort/1 10629 0.06 2632 [ 0.25] v3_codegen:clear_dead_stk/3 10974 0.06 2632 [ 0.24] beam_dead:move_move_into_block/2 20253 0.06 2644 [ 0.13] cerl_clauses:match_1/3 22337 0.06 2650 [ 0.12] v3_kernel:'-new_clauses/3-anonymous-3-'/2 7078 0.06 2688 [ 0.38] beam_jump:mark_used_list/2 20512 0.06 2703 [ 0.13] beam_asm:make_op/2 9436 0.06 2719 [ 0.29] beam_type:flt_need_heap_1/4 16145 0.06 2731 [ 0.17] sys_core_fold:body/3 11466 0.06 2769 [ 0.24] beam_type:simplify_float_1/4 16145 0.07 2781 [ 0.17] ordsets:union1/2 23048 0.07 2793 [ 0.12] maps:put/3 3108 0.07 2829 [ 0.91] beam_jump:'-function/1-anonymous-0-'/2 13709 0.07 2845 [ 0.21] ordsets:union/1 11598 0.07 2880 [ 0.25] cerl:clause_guard/1 12917 0.07 2917 [ 0.23] cerl:clause_body/1 12917 0.07 2918 [ 0.23] v3_core:uexprs/3 11092 0.07 2923 [ 0.26] beam_type:flt_need_heap_2/3 12165 0.07 2975 [ 0.24] beam_asm:encode_op_1/3 25603 0.07 2979 [ 0.12] sys_core_fold:'-pattern_list/3-anonymous-0-'/3 12691 0.07 2986 [ 0.24] v3_kernel:'-select_types/2-lc$^0/1-0-'/2 23155 0.07 3010 [ 0.13] v3_core:used_in_any/1 11840 0.07 3024 [ 0.26] v3_codegen:combine/1 12070 0.07 3026 [ 0.25] cerl:update_c_clause/4 12917 0.07 3055 [ 0.24] cerl:clause_pats/1 12917 0.07 3076 [ 0.24] lists:'-filter/2-lc$^0/1-0-'/2 18808 0.07 3101 [ 0.16] gb_sets:is_member_1/2 26104 0.08 3272 [ 0.13] v3_kernel:expr/3 12421 0.08 3336 [ 0.27] gb_trees:is_defined/2 14133 0.08 3374 [ 0.24] beam_clean:bs_restores/2 29074 0.08 3431 [ 0.12] cerl:update_c_cons/3 14636 0.08 3471 [ 0.24] beam_block:opt/1 13904 0.08 3503 [ 0.25] cerl:data_es/1 14418 0.08 3519 [ 0.24] beam_utils:live_regs_1/2 19169 0.08 3529 [ 0.18] erl_lint:expr/3 14519 0.08 3539 [ 0.24] cerl:cons_tl/1 14704 0.08 3552 [ 0.24] erl_expand_records:index_expr/3 27160 0.08 3572 [ 0.13] dict:append_bkt/3 18136 0.09 3668 [ 0.20] cerl:cons_hd/1 14704 0.09 3708 [ 0.25] beam_clean:'-replace/3-anonymous-0-'/2 14970 0.09 3744 [ 0.25] sys_core_fold:'-case_opt_args/5-lc$^0/1-0-'/1 15391 0.09 3744 [ 0.24] erl_expand_records:expr_list/2 16454 0.09 3792 [ 0.23] beam_a:rename_instr/1 16432 0.09 3835 [ 0.23] v3_kernel:umatch/3 14008 0.09 3857 [ 0.28] beam_block:opt_blocks/1 17164 0.09 3894 [ 0.23] erl_lint:vtupdate/2 15587 0.09 3903 [ 0.25] v3_core:safe/2 16839 0.09 3912 [ 0.23] beam_utils:code_at/2 16987 0.09 3944 [ 0.23] beam_bs:bs_put_opt/1 17062 0.09 3959 [ 0.23] beam_jump:is_exit_instruction/1 20021 0.09 3960 [ 0.20] beam_type:simplify_basic/2 16996 0.09 4009 [ 0.24] erl_expand_records:record_pattern/6 18108 0.10 4118 [ 0.23] sys_core_fold:letify/2 17544 0.10 4128 [ 0.24] v3_core:is_safe/1 18011 0.10 4129 [ 0.23] beam_block:move_allocates/1 17164 0.10 4155 [ 0.24] dict:fold_seg/4 32606 0.10 4210 [ 0.13] v3_kernel:select/2 18945 0.10 4283 [ 0.23] gb_trees:insert/3 18006 0.10 4348 [ 0.24] v3_core:force_safe/2 18011 0.10 4349 [ 0.24] sys_core_dsetel:visit/2 20233 0.11 4504 [ 0.22] cerl:lit_list_vals/1 20782 0.11 4544 [ 0.22] v3_kernel:new_vars/3 38405 0.11 4548 [ 0.12] beam_clean:label/2 17403 0.11 4561 [ 0.26] beam_a:rename_instrs/1 18150 0.11 4732 [ 0.26] maps:find/2 18432 0.11 4797 [ 0.26] v3_core:full_anno/2 19710 0.11 4801 [ 0.24] v3_codegen:'-clear_dead_reg/3-lc$^0/1-0-'/3 20503 0.11 4908 [ 0.24] cerl:is_lit_list/1 30858 0.12 5011 [ 0.16] beam_asm:encode/2 21230 0.12 5175 [ 0.24] v3_codegen:new_label/1 6214 0.12 5257 [ 0.85] v3_kernel:'-pattern_list/4-anonymous-0-'/3 45126 0.12 5279 [ 0.12] beam_utils:x_dead/2 28264 0.12 5286 [ 0.19] v3_kernel:'-match/4-anonymous-0-'/3 41079 0.13 5362 [ 0.13] gb_sets:insert_1/3 21011 0.13 5416 [ 0.26] v3_codegen:find_reg/2 12158 0.13 5458 [ 0.45] v3_kernel:match_var/4 38974 0.13 5487 [ 0.14] v3_kernel:match_varcon/4 41079 0.13 5493 [ 0.13] beam_jump:opt/3 39214 0.13 5560 [ 0.14] lists:member/2 36061 0.13 5567 [ 0.15] erl_lint:vtmerge_pat/2 23190 0.13 5609 [ 0.24] beam_utils:live_opt_block/4 29834 0.13 5621 [ 0.19] v3_codegen:'-unsaved_registers/5-lc$^0/1-0-'/5 49016 0.13 5695 [ 0.12] gb_trees:get/2 33999 0.13 5701 [ 0.17] erl_anno:to_term/1 27518 0.14 5803 [ 0.21] sys_core_dsetel:restore_vars/3 44018 0.14 5816 [ 0.13] v3_core:safe_list/2 4203 0.14 5830 [ 1.39] cerl:get_ann/1 24725 0.14 5839 [ 0.24] beam_block:collect/1 26107 0.14 5919 [ 0.23] beam_asm:encode_arg/2 21180 0.14 5922 [ 0.28] beam_type:simplify_basic_1/3 42427 0.14 6082 [ 0.14] beam_clean:replace/3 41489 0.14 6110 [ 0.15] erl_parse:'-anno_to_term/1-fun-0-'/2 27518 0.14 6163 [ 0.22] gb_trees:count/1 27728 0.15 6294 [ 0.23] erlang:max/2 24717 0.15 6340 [ 0.26] orddict:merge/3 49589 0.15 6357 [ 0.13] v3_core:expr/2 22900 0.15 6396 [ 0.28] sys_core_dsetel:visit_pats/3 50734 0.15 6451 [ 0.13] sys_core_fold:expr/3 33651 0.15 6468 [ 0.19] v3_kernel:match/4 44330 0.15 6474 [ 0.15] v3_codegen:'-save_stack/4-lc$^0/1-0-'/4 52503 0.16 6636 [ 0.13] lists:splitwith/3 48334 0.16 6742 [ 0.14] beam_clean:renumber_labels/3 42525 0.16 6750 [ 0.16] erl_expand_records:expr/2 23874 0.16 6796 [ 0.28] beam_jump:label_used/2 36676 0.16 6855 [ 0.19] gb_trees:lookup/2 30683 0.16 6975 [ 0.23] erl_lint:find_field/2 54324 0.16 7051 [ 0.13] v3_life:use_vars/3 24118 0.17 7110 [ 0.29] gb_trees:update_1/3 29635 0.17 7152 [ 0.24] dict:fold_bucket/3 35281 0.17 7284 [ 0.21] beam_utils:live_opt/4 49967 0.17 7339 [ 0.15] v3_core:new_in_any/1 10126 0.17 7483 [ 0.74] beam_jump:rem_unused/3 62921 0.18 7561 [ 0.12] ordsets:subtract/2 51321 0.18 7865 [ 0.15] lists:reverse/2 30707 0.19 8060 [ 0.26] cerl:is_data/1 34107 0.19 8117 [ 0.24] v3_life:'-literal/2-lc$^0/1-0-'/2 37431 0.19 8199 [ 0.22] beam_utils:index_labels_1/2 63625 0.20 8598 [ 0.14] v3_kernel:'-pat_list_vars/1-anonymous-0-'/2 37504 0.21 8838 [ 0.24] v3_codegen:'-select_extract_tuple/6-anonymous-0-'/5 37421 0.21 8998 [ 0.24] maps:remove/2 39703 0.21 9122 [ 0.23] beam_type:update/2 36624 0.21 9165 [ 0.25] v3_kernel:'-match_var/4-anonymous-1-'/3 39273 0.22 9426 [ 0.24] erlang:term_to_binary/2 330 0.23 9637 [ 29.20] v3_kernel:new_var_name/1 39420 0.23 9699 [ 0.25] gb_trees:is_defined_1/2 86526 0.23 9919 [ 0.11] v3_core:new_var_name/1 38685 0.24 10131 [ 0.26] beam_jump:'-remove_unused_labels/1-anonymous-0-'/2 48838 0.24 10148 [ 0.21] beam_utils:x_live/2 53759 0.24 10161 [ 0.19] beam_jump:ulbl/2 70747 0.24 10218 [ 0.14] v3_kernel:'-match_var/4-anonymous-0-'/3 39273 0.24 10237 [ 0.26] lists:splitwith/2 41778 0.24 10449 [ 0.25] v3_kernel:'-select/2-lc$^0/1-0-'/2 82647 0.25 10487 [ 0.13] orddict:from_list/1 78652 0.25 10596 [ 0.13] v3_kernel:pat_vars/1 42105 0.25 10645 [ 0.25] v3_codegen:flatmapfoldl/3 47583 0.27 11351 [ 0.24] erl_expand_records:pattern_list/2 51056 0.27 11369 [ 0.22] sys_core_bsm:'-function/3-anonymous-0-'/2 105235 0.27 11450 [ 0.11] v3_core:pattern_list/2 51110 0.27 11568 [ 0.23] erl_expand_records:pattern/2 46427 0.27 11677 [ 0.25] sys_core_bsm:bsm_an/2 105235 0.28 12181 [ 0.12] lists:ukeysort/2 77382 0.29 12218 [ 0.16] sys_core_fold:pattern/3 91530 0.29 12271 [ 0.13] v3_core:pattern/2 47003 0.29 12363 [ 0.26] v3_core:upattern/3 46333 0.29 12508 [ 0.27] v3_life:literal/2 44636 0.29 12582 [ 0.28] cerl:concrete/1 54877 0.29 12608 [ 0.23] v3_kernel:'-match_var/4-anonymous-2-'/2 39273 0.30 12847 [ 0.33] lists:keyfind/3 71791 0.30 12920 [ 0.18] v3_kernel:pattern/4 45769 0.30 12934 [ 0.28] beam_utils:delete_live_annos/1 63039 0.31 13115 [ 0.21] erlang:integer_to_list/1 79068 0.31 13136 [ 0.17] v3_core:upattern_list/3 51908 0.31 13167 [ 0.25] orddict:find/2 89347 0.34 14356 [ 0.16] v3_life:vdb_find/2 49254 0.34 14473 [ 0.29] gb_trees:to_list/2 94502 0.36 15491 [ 0.16] v3_core:lineno_anno/2 74513 0.37 15670 [ 0.21] erl_anno:location/1 74533 0.39 16540 [ 0.22] cerl_trees:mapfold_list/4 71716 0.39 16699 [ 0.23] erl_anno:line/1 74513 0.40 16895 [ 0.23] erl_anno:generated/1 74513 0.40 16986 [ 0.23] sys_core_fold:'-pattern/3-anonymous-2-'/3 76384 0.41 17600 [ 0.23] sys_core_dsetel:visit_pat/3 46419 0.42 17861 [ 0.38] gb_trees:balance_list_1/2 70256 0.43 18286 [ 0.26] sys_core_fold:sub_del_var/2 79753 0.45 19286 [ 0.24] sys_core_fold:sub_is_val/2 79753 0.45 19455 [ 0.24] v3_kernel:partition/1 81267 0.47 20263 [ 0.25] ordsets:intersection/2 144532 0.48 20342 [ 0.14] v3_kernel:is_var_clause/1 88321 0.52 22083 [ 0.25] cerl_clauses:match_list/3 176966 0.54 23136 [ 0.13] sys_core_bsm:bsm_an/1 105235 0.55 23434 [ 0.22] erlang:list_to_atom/1 79357 0.59 25074 [ 0.32] cerl_trees:'-mapfold/3-anonymous-0-'/2 105235 0.59 25195 [ 0.24] erl_parse:modify_anno1/3 99993 0.60 25693 [ 0.26] lists:map/2 110970 0.62 26584 [ 0.24] gb_trees:lookup_1/2 230216 0.64 27218 [ 0.12] lists:reverse/1 122044 0.65 27622 [ 0.23] cerl_trees:mapfold/4 105235 0.65 27889 [ 0.27] gb_trees:get_1/2 247600 0.66 28191 [ 0.11] cerl_clauses:'-match_1/3-lc$^0/1-0-'/1 150164 0.78 33173 [ 0.22] lists:mapfoldl/3 142434 0.78 33411 [ 0.23] gb_trees:insert_1/4 145420 0.82 35231 [ 0.24] v3_kernel:arg_con/1 160017 0.87 37325 [ 0.23] cerl_clauses:match/3 167587 0.88 37476 [ 0.22] lists:foldr/3 199608 0.98 41728 [ 0.21] erlang:'++'/2 337382 1.03 43981 [ 0.13] cerl_sets:is_element/2 219320 1.27 54228 [ 0.25] cerl_sets:add_element/2 158421 1.37 58422 [ 0.37] lists:foldl/3 384147 1.44 61755 [ 0.16] cerl:type/1 273982 1.55 66363 [ 0.24] erlang:setelement/3 409336 1.67 71545 [ 0.17] v3_life:vdb_update_vars/3 319576 1.69 72308 [ 0.23] v3_kernel:subst_vsub_2/3 343932 1.83 78060 [ 0.23] orddict:reverse_pairs/2 2497074 6.76 289258 [ 0.12] lists:ukeysplit_2/5 2336493 7.63 326450 [ 0.14] ordsets:union/2 1692288 8.93 381951 [ 0.23] v3_kernel:subst_vsub_1/3 2152994 11.93 510068 [ 0.24] ---------------------------------------------------------- -------- ------- ------- [----------] Total: 22253284 100.00% 4276149 [ 0.19]
2017-08-10Don't search forms unnecessarily in diameter_exprecs parse transformAnders Svensson
The forms being extracted are in the head of the split.
2017-08-10Increase init_per_suite timetrap in traffic suiteAnders Svensson
Compiling dictionaries is relatively slow, resulting in timeouts on some hosts.
2017-08-10Add service_opt() traffic_countersAnders Svensson
To be able to disable the counting of messages for which application callbacks take place. Messages sent/handled by diameter itself are always counted.
2017-08-10Fix type specAnders Svensson
That dialyzer hasn't noticed is broken.
2017-08-10Split AVPs at decodeAnders Svensson
Despite what the Efficiency Guide says about match being more efficient, split_binary appears to be slightly faster. (Although this one extraction is a drop in the bucket.) Binary optimizations aren't an issue during decode.
2017-08-10Avoid unnecessary copying of binaries in diameter_tcpAnders Svensson
Since messages are accumulated by appending binaries as of three commits back, the accumulated binary is prone to being copied, as discussed in the Efficiency Guide. Matching the Message Length header as bytes are being accumulated is one cause of this, so work around it by splitting the binary and extracting the length without a match. This doesn't feel like something that should be necessary: that matching a binary would cause an append to copy isn't obvious. The first attempt at simplifying the accumulation was simply to append an incoming binary to the current fragment, match against <<_, Len:24, _/binary>> to extract the length, and then test if there are enough bytes for a message. This lead to horrible performance (response times for 2 MB messages approximately 100 times worse than previously), and it wasn't at all obvious that the reason was the accumulated binary being copied with each append as a result of the match. Using split_binary avoids the match context that forces the copying.
2017-08-10Don't update diameter_tcp state unnecessarilyAnders Svensson
Not with each setopts to re-activate the socket.
2017-08-10Don't update diameter_tcp state unnecessarilyAnders Svensson
Only reset the fragment after all messages have been extracted.
2017-08-10Simplify extraction of incoming Diameter messages in diameter_tcpAnders Svensson
Appending to a binary is efficient, so just append message fragments Only match out the length once per message since doing so for every packet from TCP causes the binary to be copied.
2017-08-10Restructure/simplify message reception in diameter_peer_fsmAnders Svensson
Create less garbage.
2017-08-10Sleep randomly at the start of (parallel) traffic testcasesAnders Svensson
2017-08-10Fix ct return value in traffic suiteAnders Svensson
Which has had no negative effect.
2017-08-10Fix type specAnders Svensson
That dialyzer hasn't noticed is broken.
2017-08-09Merge branch 'anders/diameter/message_cb/OTP-14486' into maintAnders Svensson
* anders/diameter/message_cb/OTP-14486: Add simple message_cb to example server Fix inappropriate message callbacks
2017-08-09Merge branch 'anders/diameter/20.0/shared_transport/OTP-14011' into maintAnders Svensson
* anders/diameter/20.0/shared_transport/OTP-14011: Don't assume nodes are eternally connected when sharing transport
2017-08-09Merge branch 'anders/diameter/transport/ERL-332' into maintAnders Svensson
* anders/diameter/transport/ERL-332: Remove irrelevant comment Add missing setopts after deferred diameter_{tcp,sctp} actions
2017-08-03Optimize sub-binariesAnders Svensson
Also inline incr/8 and associated functions that were needed for the compiler to accept the optimization, since this does make for a measuable improvement.
2017-08-03Optimize sub-binariesAnders Svensson
With ERL_COMPILER_OPTIONS=bin_opt_info, before: base/diameter_codec.erl:508: Warning: NOT OPTIMIZED: the binary matching instruction that follows in the same function have problems that prevent delayed sub binary optimization (probably indicated by INFO warnings) And after: base/diameter_codec.erl:508: Warning: OPTIMIZED: creation of sub binary delayed This has a surprisingly large impact on the performance of diameter_codec:collect_avps/2: about 15% faster in one testcase on a RAR with 7 AVPs.
2017-08-03Count AVPs in #diameter_avp.indexAnders Svensson
The index field in record diameter_avp was previously used to enumerate AVPs so that the list could be returned in some cases, since diameter_codec:collect_avps/2 (now /1) reversed the order. That's no longer the case as of the grandparent commit, so use the field to enumerate instances of the same AVP instead, and only when arities are being checked, to save having to look them up in the map when checking for 5009 errors, or counting AVPs at all in diameter_codec:collect_avps/1.
2017-08-03Don't extract options unnecessarily at encodeAnders Svensson
Extract strict_arities once and pass it through as an argument.
2017-08-03Redo message decode as a single passAnders Svensson
Decode has previously been two passes: first chunk the message into a reversed list of toplevel diameter_avp records, then fold through the reversed list to build the full result. Various workarounds have made it a bit more convoluted than it should be however. Rework it completely, turning the previous 2-pass tail-recursive implementation into a 1-pass body recursive one. The relay decode still exists in diameter_codec, as a stripped down version of the full decode in diameter_gen.
2017-08-03Use relaxed arity checks in traffic suiteAnders Svensson
2017-08-03Be forgiving of non-list values at encodeAnders Svensson
2017-08-03Add service_opt() strict_aritiesAnders Svensson
To be able to disable the relatively expensive check that the number of AVPs received in a message or grouped AVP agrees with the dictionary in question. The may well be easier for the user in handle_request/answer callbacks, when digesting the received message, and in some cases may not be important. The check at encode can also be disabled, allowing messages that don't agree with the dictionary in question to be sent, which can be useful in test (at least).