Arguments Count Statistics
This page shows some statistics about the number of arguments to INVOKE* and BUILTIN instructions. The numbers are about the instructions that were compiled (passed through stack_analyse).
To sum things up, the typical INVOKE* instruction has:
2 arguments (including the this reference)
- 0 to 1 live-through stack slots below the arguments
stackdepth includes the arguments, so stackdepth == #arguments + #live-through slots.
Eclipse
Static argument count statistics:
total INVOKE instructions : 79676
arguments total (avg.) : 140553 (1.8)
stackdepth total (avg.) : 177778 (2.2)
live-through total (avg.): 37225 (0.5)
total BUILTIN instructions : 13988
arguments total (avg.) : 15322 (1.1)
stackdepth total (avg.) : 23099 (1.7)
live-through total (avg.): 7777 (0.6)
invoke arguments distribution:
<= 0: 2312 ( 3%) == 0: 2312
<= 1: 37179 ( 47%) == 1: 34867
<= 2: 67283 ( 84%) == 2: 30104
<= 3: 75514 ( 95%) == 3: 8231
<= 4: 77482 ( 97%) == 4: 1968
<= 5: 78911 ( 99%) == 5: 1429
<= 6: 79265 ( 99%) == 6: 354
<= 7: 79438 (100%) == 7: 173
<= 8: 79509 (100%) == 8: 71
>= 9: 167 ( 0%)
invoke stackdepth distribution:
<= 0: 1750 ( 2%) == 0: 1750
<= 1: 26185 ( 33%) == 1: 24435
<= 2: 53640 ( 67%) == 2: 27455
<= 3: 68919 ( 86%) == 3: 15279
<= 4: 74836 ( 94%) == 4: 5917
<= 5: 77585 ( 97%) == 5: 2749
<= 6: 78538 ( 99%) == 6: 953
<= 7: 79080 ( 99%) == 7: 542
<= 8: 79313 (100%) == 8: 233
>= 9: 363 ( 0%)
invoke live-through distribution:
<= 0: 56358 ( 71%) == 0: 56358
<= 1: 70210 ( 88%) == 1: 13852
<= 2: 77097 ( 97%) == 2: 6887
<= 3: 78664 ( 99%) == 3: 1567
<= 4: 79191 ( 99%) == 4: 527
<= 5: 79473 (100%) == 5: 282
<= 6: 79568 (100%) == 6: 95
<= 7: 79640 (100%) == 7: 72
<= 8: 79662 (100%) == 8: 22
>= 9: 14 ( 0%)
builtin arguments distribution:
<= 0: 0 ( 0%) == 0: 0
<= 1: 12654 ( 90%) == 1: 12654
<= 2: 13988 (100%) == 2: 1334
<= 3: 13988 (100%) == 3: 0
<= 4: 13988 (100%) == 4: 0
<= 5: 13988 (100%) == 5: 0
<= 6: 13988 (100%) == 6: 0
<= 7: 13988 (100%) == 7: 0
<= 8: 13988 (100%) == 8: 0
>= 9: 0 ( 0%)
builtin stackdepth distribution:
<= 0: 0 ( 0%) == 0: 0
<= 1: 7429 ( 53%) == 1: 7429
<= 2: 12399 ( 89%) == 2: 4970
<= 3: 13368 ( 96%) == 3: 969
<= 4: 13786 ( 99%) == 4: 418
<= 5: 13913 ( 99%) == 5: 127
<= 6: 13951 (100%) == 6: 38
<= 7: 13969 (100%) == 7: 18
<= 8: 13981 (100%) == 8: 12
>= 9: 7 ( 0%)
builtin live-through distribution:
<= 0: 8138 ( 58%) == 0: 8138
<= 1: 12824 ( 92%) == 1: 4686
<= 2: 13517 ( 97%) == 2: 693
<= 3: 13814 ( 99%) == 3: 297
<= 4: 13928 (100%) == 4: 114
<= 5: 13953 (100%) == 5: 25
<= 6: 13971 (100%) == 6: 18
<= 7: 13984 (100%) == 7: 13
<= 8: 13987 (100%) == 8: 3
>= 9: 1 ( 0%)
JOnAS startup
Static argument count statistics:
total INVOKE instructions : 83705
arguments total (avg.) : 154935 (1.9)
stackdepth total (avg.) : 216968 (2.6)
live-through total (avg.): 62033 (0.7)
total BUILTIN instructions : 16653
arguments total (avg.) : 18647 (1.1)
stackdepth total (avg.) : 31612 (1.9)
live-through total (avg.): 12965 (0.8)
invoke arguments distribution:
<= 0: 1311 ( 2%) == 0: 1311
<= 1: 34658 ( 41%) == 1: 33347
<= 2: 68441 ( 82%) == 2: 33783
<= 3: 78563 ( 94%) == 3: 10122
<= 4: 81948 ( 98%) == 4: 3385
<= 5: 83132 ( 99%) == 5: 1184
<= 6: 83457 (100%) == 6: 325
<= 7: 83539 (100%) == 7: 82
<= 8: 83578 (100%) == 8: 39
>= 9: 127 ( 0%)
invoke stackdepth distribution:
<= 0: 923 ( 1%) == 0: 923
<= 1: 17962 ( 21%) == 1: 17039
<= 2: 43166 ( 52%) == 2: 25204
<= 3: 65107 ( 78%) == 3: 21941
<= 4: 78095 ( 93%) == 4: 12988
<= 5: 81762 ( 98%) == 5: 3667
<= 6: 82976 ( 99%) == 6: 1214
<= 7: 83315 (100%) == 7: 339
<= 8: 83493 (100%) == 8: 178
>= 9: 212 ( 0%)
invoke live-through distribution:
<= 0: 48013 ( 57%) == 0: 48013
<= 1: 65546 ( 78%) == 1: 17533
<= 2: 77846 ( 93%) == 2: 12300
<= 3: 82282 ( 98%) == 3: 4436
<= 4: 83104 ( 99%) == 4: 822
<= 5: 83539 (100%) == 5: 435
<= 6: 83630 (100%) == 6: 91
<= 7: 83684 (100%) == 7: 54
<= 8: 83694 (100%) == 8: 10
>= 9: 11 ( 0%)
builtin arguments distribution:
<= 0: 0 ( 0%) == 0: 0
<= 1: 14659 ( 88%) == 1: 14659
<= 2: 16653 (100%) == 2: 1994
<= 3: 16653 (100%) == 3: 0
<= 4: 16653 (100%) == 4: 0
<= 5: 16653 (100%) == 5: 0
<= 6: 16653 (100%) == 6: 0
<= 7: 16653 (100%) == 7: 0
<= 8: 16653 (100%) == 8: 0
>= 9: 0 ( 0%)
builtin stackdepth distribution:
<= 0: 0 ( 0%) == 0: 0
<= 1: 7663 ( 46%) == 1: 7663
<= 2: 12786 ( 77%) == 2: 5123
<= 3: 15254 ( 92%) == 3: 2468
<= 4: 16116 ( 97%) == 4: 862
<= 5: 16546 ( 99%) == 5: 430
<= 6: 16624 (100%) == 6: 78
<= 7: 16645 (100%) == 7: 21
<= 8: 16648 (100%) == 8: 3
>= 9: 5 ( 0%)
builtin live-through distribution:
<= 0: 8360 ( 50%) == 0: 8360
<= 1: 13144 ( 79%) == 1: 4784
<= 2: 15754 ( 95%) == 2: 2610
<= 3: 16502 ( 99%) == 3: 748
<= 4: 16596 (100%) == 4: 94
<= 5: 16626 (100%) == 5: 30
<= 6: 16645 (100%) == 6: 19
<= 7: 16648 (100%) == 7: 3
<= 8: 16649 (100%) == 8: 1
>= 9: 4 ( 0%)
cacao -all prop
Static argument count statistics:
total INVOKE instructions : 150864
arguments total (avg.) : 290901 (1.9)
stackdepth total (avg.) : 393870 (2.6)
live-through total (avg.): 102969 (0.7)
total BUILTIN instructions : 31685
arguments total (avg.) : 33930 (1.1)
stackdepth total (avg.) : 54171 (1.7)
live-through total (avg.): 20241 (0.6)
invoke arguments distribution:
<= 0: 2349 ( 2%) == 0: 2349
<= 1: 63182 ( 42%) == 1: 60833
<= 2: 124679 ( 83%) == 2: 61497
<= 3: 137803 ( 91%) == 3: 13124
<= 4: 143084 ( 95%) == 4: 5281
<= 5: 147199 ( 98%) == 5: 4115
<= 6: 149523 ( 99%) == 6: 2324
<= 7: 149824 ( 99%) == 7: 301
<= 8: 150160 (100%) == 8: 336
>= 9: 704 ( 0%)
invoke stackdepth distribution:
<= 0: 1277 ( 1%) == 0: 1277
<= 1: 39872 ( 26%) == 1: 38595
<= 2: 93186 ( 62%) == 2: 53314
<= 3: 123075 ( 82%) == 3: 29889
<= 4: 136241 ( 90%) == 4: 13166
<= 5: 143458 ( 95%) == 5: 7217
<= 6: 145944 ( 97%) == 6: 2486
<= 7: 146941 ( 97%) == 7: 997
<= 8: 147789 ( 98%) == 8: 848
>= 9: 3075 ( 2%)
invoke live-through distribution:
<= 0: 97311 ( 65%) == 0: 97311
<= 1: 129743 ( 86%) == 1: 32432
<= 2: 141962 ( 94%) == 2: 12219
<= 3: 146143 ( 97%) == 3: 4181
<= 4: 147836 ( 98%) == 4: 1693
<= 5: 148310 ( 98%) == 5: 474
<= 6: 148664 ( 99%) == 6: 354
<= 7: 148777 ( 99%) == 7: 113
<= 8: 149251 ( 99%) == 8: 474
>= 9: 1613 ( 1%)
builtin arguments distribution:
<= 0: 0 ( 0%) == 0: 0
<= 1: 29440 ( 93%) == 1: 29440
<= 2: 31685 (100%) == 2: 2245
<= 3: 31685 (100%) == 3: 0
<= 4: 31685 (100%) == 4: 0
<= 5: 31685 (100%) == 5: 0
<= 6: 31685 (100%) == 6: 0
<= 7: 31685 (100%) == 7: 0
<= 8: 31685 (100%) == 8: 0
>= 9: 0 ( 0%)
builtin stackdepth distribution:
<= 0: 0 ( 0%) == 0: 0
<= 1: 20313 ( 64%) == 1: 20313
<= 2: 27120 ( 86%) == 2: 6807
<= 3: 29423 ( 93%) == 3: 2303
<= 4: 30615 ( 97%) == 4: 1192
<= 5: 31002 ( 98%) == 5: 387
<= 6: 31186 ( 98%) == 6: 184
<= 7: 31268 ( 99%) == 7: 82
<= 8: 31326 ( 99%) == 8: 58
>= 9: 359 ( 1%)
builtin live-through distribution:
<= 0: 21338 ( 67%) == 0: 21338
<= 1: 27484 ( 87%) == 1: 6146
<= 2: 29589 ( 93%) == 2: 2105
<= 3: 30861 ( 97%) == 3: 1272
<= 4: 31016 ( 98%) == 4: 155
<= 5: 31227 ( 99%) == 5: 211
<= 6: 31322 ( 99%) == 6: 95
<= 7: 31408 ( 99%) == 7: 86
<= 8: 31510 ( 99%) == 8: 102
>= 9: 175 ( 1%)