diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-07-21 10:24:00 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-07-21 10:24:00 -0700 |
commit | 411787e67d4017f9bfcd60cc3992f7f21ad15ea8 (patch) | |
tree | 22f9646f2475bcfce27e1b01ce0575f783c28dc3 | |
parent | 75bf701aa2b9e946ecb1e7f741c3a9b3ede43573 (diff) |
name main loop blockers
-rw-r--r-- | src/library_browser.js | 9 | ||||
-rw-r--r-- | system/include/emscripten/emscripten.h | 4 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/library_browser.js b/src/library_browser.js index 9a959cb8..3ac61dc5 100644 --- a/src/library_browser.js +++ b/src/library_browser.js @@ -266,8 +266,9 @@ mergeInto(LibraryManager.library, { var wrapper = function() { if (Browser.mainLoop.queue.length > 0) { var start = Date.now(); - Browser.mainLoop.queue.shift()(); - console.log('main loop blocker took ' + (Date.now() - start) + ' ms'); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(); + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); if (Browser.mainLoop.remainingBlockers) Browser.mainLoop.remainingBlockers--; Browser.mainLoop.updateStatus(); setTimeout(wrapper, 0); @@ -313,8 +314,8 @@ mergeInto(LibraryManager.library, { Browser.mainLoop.resume(); }, - emscripten_push_main_loop_blocker: function(func) { - Browser.mainLoop.queue.push(FUNCTION_TABLE[func]); + _emscripten_push_main_loop_blocker: function(func, name) { + Browser.mainLoop.queue.push({ func: FUNCTION_TABLE[func], name: Pointer_stringify(name) }); Browser.mainLoop.updateStatus(); }, diff --git a/system/include/emscripten/emscripten.h b/system/include/emscripten/emscripten.h index be749f14..8e187ce3 100644 --- a/system/include/emscripten/emscripten.h +++ b/system/include/emscripten/emscripten.h @@ -57,7 +57,9 @@ extern void emscripten_cancel_main_loop(); * used.) */ #if EMSCRIPTEN -extern void emscripten_push_main_loop_blocker(void (*func)()); +extern void _emscripten_push_main_loop_blocker(void (*func)(), char *name); +#define emscripten_push_main_loop_blocker(func) \ + _emscripten_push_main_loop_blocker(func, #func); #else inline void emscripten_push_main_loop_blocker(void (*func)()) { func(); |