Closed Bug 923750 Opened 11 years ago Closed 10 years ago

Huge memory spike in non-tetris demo

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: azakai, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [games][MemShrink:P2])

http://allievi.sssup.it/jacopone/cnontetris/

is a demo of Duetto, a C++ to js compiler. The demo spikes over 1GB of RAM once, but then looks ok. Note that it does not happen during startup, but a little after it is already running, you can sometimes see the bottom of the piece show up.

I don't see the huge spike when I have the profiler running (maybe opening devtools disables something?). I also don't see it on chrome (but chrome looks less smooth when running it).
cc'ing luke who I hope hates memory spikes as much as me ;)
Probably related: while FF release (24) runs reliably smoothly, Nightly and Aurora often (1/2 the time I load the URL) get into a cycle of long (1-2s) pauses every few seconds.  The profile of one of these pauses on Nightly shows all the time in IonBuilder: http://pastebin.mozilla.org/3202491.  There are also GCs right around the time of the pause, which suggests some bad cycle of GC discarding JIT code.  Firefox Beta is weirder: half the time, it's smooth, half the time it completely hangs when the first block becomes visible.

Notes:
 - This is duetto (http://leaningtech.com/duetto)-generated code which means it's not like Emscripten-generated code; it's mapping C++ objects to JS objects.
 - The demo is using requestAnimationFrame so JIT-code discarding should be inhibited, but perhaps we discard JIT-code in some severe situations?  Could we perhaps be getting into some pathological case where the type analysis is re-analyzing loops which causes us to take a lot of time and consume a lot of LifoAlloc storage allocating new MIR nodes?
Whiteboard: [games] → [games][MemShrink]
njn has some techniques for investigating memory spikes that might be useful
> njn has some techniques for investigating memory spikes that might be useful

There's a patch in bug 842800.  It may have rotted somewhat.
Whiteboard: [games][MemShrink] → [games][MemShrink:P2]
Blocks: gecko-games
WFM? The game uses almost no memory.
Yes, looks ok now.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.