DescriptionPATCH (not to be committed): Support for printing instruction statistics
This change adds a --print-instruction-stats flag to the VM which will print out the
distribution of RX code size based on type of instruction.
The statistics will be sorted and printed like this:
...
1.66 % 43957 bytes 1864 count 23.58 avg bytes/entry - StoreIndexed
1.69 % 44639 bytes 288 count 155.00 avg bytes/entry - <copy parameters>
1.99 % 52616 bytes 15085 count 3.49 avg bytes/entry - TargetEntry
2.45 % 64872 bytes 26897 count 2.41 avg bytes/entry - PushArgument
2.52 % 66550 bytes 2918 count 22.81 avg bytes/entry - CheckedSmiOp
2.62 % 69338 bytes 3780 count 18.34 avg bytes/entry - <frame-entry>
2.81 % 74344 bytes 6886 count 10.80 avg bytes/entry - Goto
3.37 % 89178 bytes 320 count 278.68 avg bytes/entry - <stub-code>
3.38 % 89333 bytes 6701 count 13.33 avg bytes/entry - Branch
3.44 % 90961 bytes 1327 count 68.55 avg bytes/entry - <try-sync-spilling-code>
4.14 % 109423 bytes 4939 count 22.15 avg bytes/entry - Return
4.33 % 114471 bytes 2918 count 39.23 avg bytes/entry - <slow-path:checked-smi>
4.39 % 115981 bytes 36639 count 3.17 avg bytes/entry - ParallelMove
4.63 % 122436 bytes 3222 count 38.00 avg bytes/entry - <checked-entry-prologue>
4.75 % 125730 bytes 2319 count 54.22 avg bytes/entry - <slow-path:checked-smi-compare>
6.70 % 177308 bytes 3863 count 45.90 avg bytes/entry - <slow-path:stack-overflow>
8.99 % 237752 bytes 8696 count 27.34 avg bytes/entry - InstanceCall
9.47 % 250515 bytes 9934 count 25.22 avg bytes/entry - StoreInstanceField
--------------------
0.03 % 680 bytes unaccounted
2.77 % 73237 bytes alignment
5.80 % 153312 bytes instruction object header
91.41 % 2417571 bytes instructions
--------------------
100.00 % 2644800 bytes in total
--------------------
0 return-constant functions
0 return-constant-with-load-field functions
45 wasteful functions (body < 2 * frame overhead)
--------------------
--------------------
Emitted 4791 functions
--------------------
Patch Set 1 #Patch Set 2 : Fixed polymorphic call inside try, added more tags for remaining unknown code #
Messages
Total messages: 2 (2 generated)
|