diff options
Diffstat (limited to 'src/modules.js')
-rw-r--r-- | src/modules.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/modules.js b/src/modules.js index 695abbe7..7f8a959b 100644 --- a/src/modules.js +++ b/src/modules.js @@ -330,6 +330,22 @@ var Functions = { } } } + if (SAFE_DYNCALLS) { + assert(!ASM_JS, 'cannot emit safe dyncalls in asm'); + for (var j = 0; j < table.length; j++) { + if (table[j] == 0) { + table[j] = "function() { abort('dyncall error') }"; + } + } + } + if (table.length > 20) { + // add some newlines in the table, for readability + var j = 10; + while (j+10 < table.length) { + table[j] += '\n'; + j += 10; + } + } var indices = table.toString().replace('"', ''); if (BUILD_AS_SHARED_LIB) { // Shared libraries reuse the parent's function table. |