mozilla / pluotsorbet

[ARCHIVED] PluotSorbet is a J2ME-compatible virtual machine written in JavaScript.
GNU General Public License v2.0
237 stars 46 forks source link

ArrayBench broken on intex branch since JIT compiler landed #1864

Open mykmelez opened 9 years ago

mykmelez commented 9 years ago

@brendandahl, @marco-c: The ArrayBench benchmark broke on the intex branch when the JIT compiler landed in 4ad785b90a426e822e66c48497d12a10606b5a1d, even if compilation is disabled:

1.2:1.5 | Time to allocate int arrays of variable lengths a constant 1000 times, by length, in ms: 1.2:1.5 | ArrayBench-1: 12 1.2:1.5 | ArrayBench-2: 1 1.2:1.5 | ArrayBench-4: 0 1.2:1.5 | ArrayBench-8: 0 1.2:1.5 | ArrayBench-16: 1 1.2:1.5 | ArrayBench-32: 1 1.2:1.5 | ArrayBench-64: 1 1.2:1.5 | ArrayBench-128: 1 1.2:1.5 | ArrayBench-256: 1 1.2:1.5 | ArrayBench-512: 2 1.2:1.5 | ArrayBench-1024: 1 1.2:1.5 | ArrayBench-2048: 3 1.2:1.5 | ArrayBench-4096: 5 1.2:1.5 | ArrayBench-8192: 10 1.2:1.5 | Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 134217728, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs. 1.2:1.5 | Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 134217728, (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.

marco-c commented 9 years ago

For some reason, $.ctx.nativeThread.nativeFrameCount is always 1 during the test, so we're never collecting garbage.