Move Benchmark class to benchmark.js rather than have it as part of the generated code.

Remove some stale logging.

Remove main from TSF-wasm since it's no longer used.

Make the count value an argument rather than a constant in C code. This appears to make the
performance characteristics similar to what it was before this refactor.

Old sampling (after recompile so wasm function numbers are meaningful):

Sampling rate: 1000.000000 microseconds. Total samples: 364
Top functions as <numSamples  'functionName#hash:sourceID'>
   199    '<?>.wasm-function[100]#<nil>:4294967295'
    34    '<?>.wasm-function[238]#<nil>:4294967295'
    19    '<?>.wasm-function[208]#<nil>:4294967295'
    16    '_platform_memmove#<nil>:4294967295'
    12    '<?>.wasm-function[251]#<nil>:4294967295'
    11    '<?>.wasm-function[232]#<nil>:4294967295'
     9    '<?>.wasm-function[209]#<nil>:4294967295'
     8    '<?>.wasm-function[237]#<nil>:4294967295'
     7    '<?>.wasm-function[201]#<nil>:4294967295'
     5    '<?>.wasm-function[250]#<nil>:4294967295'
     4    '<?>.wasm-function[213]#<nil>:4294967295'
     3    '<?>.wasm-function[216]#<nil>:4294967295'

Sampling rate: 1000.000000 microseconds. Total samples: 364

Tier breakdown:
-----------------------------------
LLInt:                     0  (0.000000%)
Baseline:                  1  (0.274725%)
DFG:                       0  (0.000000%)
FTL:                       0  (0.000000%)
js builtin:                0  (0.000000%)
IPInt:                     0  (0.000000%)
WasmLLInt:                 3  (0.824176%)
BBQ:                     211  (57.967033%)
OMG:                     116  (31.868132%)
Wasm:                      0  (0.000000%)
Host:                      0  (0.000000%)
RegExp:                    0  (0.000000%)
C/C++:                    30  (8.241758%)
Unknown Frame:             3  (0.824176%)

Hottest bytecodes as <numSamples   'functionName#hash:JITType:bytecodeIndex'>
    33    '<?>.wasm-function[100]:BBQMode:0x2ed'
    33    '<?>.wasm-function[100]:BBQMode:0x2f0'
    16    '_platform_memmove#<nil>:None:<nil>'
     8    '<?>.wasm-function[100]:BBQMode:0xa733'
     7    '<?>.wasm-function[100]:BBQMode:0x70a2'
     6    '<?>.wasm-function[100]:BBQMode:0x6f8a'
     6    '<?>.wasm-function[100]:BBQMode:0x6f94'
     5    '<?>.wasm-function[208]:OMGMode:nil'
     5    '<?>.wasm-function[100]:BBQMode:0x5b'
     5    '<?>.wasm-function[100]:BBQMode:0x6f9b'
     4    '<?>.wasm-function[100]:BBQMode:0x5df3'
    ...

New sampling with this PR:

Sampling rate: 1000.000000 microseconds. Total samples: 4908
Top functions as <numSamples  'functionName#hash:sourceID'>
  2763    '<?>.wasm-function[100]#<nil>:4294967295'
   464    '<?>.wasm-function[238]#<nil>:4294967295'
   436    '<?>.wasm-function[208]#<nil>:4294967295'
   138    '<?>.wasm-function[251]#<nil>:4294967295'
   128    '<?>.wasm-function[237]#<nil>:4294967295'
   117    '<?>.wasm-function[232]#<nil>:4294967295'
   108    '<?>.wasm-function[250]#<nil>:4294967295'
   107    '<?>.wasm-function[209]#<nil>:4294967295'
   104    '<?>.wasm-function[201]#<nil>:4294967295'
    77    '<?>.wasm-function[216]#<nil>:4294967295'
    54    '<?>.wasm-function[226]#<nil>:4294967295'
    43    '<?>.wasm-function[162]#<nil>:4294967295'

Sampling rate: 1000.000000 microseconds. Total samples: 4908

Tier breakdown:
-----------------------------------
LLInt:                     0  (0.000000%)
Baseline:                  2  (0.040750%)
DFG:                       2  (0.040750%)
FTL:                       5  (0.101874%)
js builtin:                1  (0.020375%)
IPInt:                     0  (0.000000%)
WasmLLInt:                 3  (0.061125%)
BBQ:                    2771  (56.458843%)
OMG:                    1988  (40.505297%)
Wasm:                      0  (0.000000%)
Host:                      0  (0.000000%)
RegExp:                    0  (0.000000%)
C/C++:                    95  (1.935615%)
Unknown Frame:            41  (0.835371%)
Unknown Executable:        1  (0.020375%)

Hottest bytecodes as <numSamples   'functionName#hash:JITType:bytecodeIndex'>
   526    '<?>.wasm-function[100]:BBQMode:0x2ed'
   451    '<?>.wasm-function[100]:BBQMode:0x2f0'
   125    '<?>.wasm-function[208]:OMGMode:0x0'
   105    '<?>.wasm-function[100]:BBQMode:0x6f8a'
    91    '<?>.wasm-function[100]:BBQMode:0xa724'
    84    '<?>.wasm-function[100]:BBQMode:0x5b'
    81    '<?>.wasm-function[100]:BBQMode:0xa733'
    79    '<?>.wasm-function[100]:BBQMode:0x6f94'
    77    '<?>.wasm-function[100]:BBQMode:nil'
    63    '<?>.wasm-function[208]:OMGMode:0x16d'
    ...

It looks like versions have similar sample rates for the top function.
There's more samples in the top tier compiler but that's presumably ok and expected as the test runs longer.
7 files changed