diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-01-17 18:09:46 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-01-17 18:09:46 -0800 |
commit | 33b7ca2795983813467d796edb8dd9d380a288bd (patch) | |
tree | c25d893ad83163ba7422bc518a7fcda7d963e755 /src/jsifier.js | |
parent | b6db6d7698dcfcf7878891027c0e4b3ac31e5bda (diff) |
pack global constant allocations to save space, and allow typed array .set() for writing them out
Diffstat (limited to 'src/jsifier.js')
-rw-r--r-- | src/jsifier.js | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 77da7a2c..5763b690 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -293,7 +293,7 @@ function JSify(data, functionsOnly, givenFunctions) { padding = makeEmptyStruct(item.type); } var padded = val.concat(padding.slice(val.length)); - var js = item.ident + '=' + makePointer(JSON.stringify(padded), null, allocator, item.type, index) + ';' + var js = item.ident + '=' + makePointer(padded, null, allocator, item.type, index) + ';' if (LibraryManager.library[shortident + '__postset']) { js += '\n' + LibraryManager.library[shortident + '__postset']; } @@ -333,7 +333,6 @@ function JSify(data, functionsOnly, givenFunctions) { constant[i] = '0'; } }); - constant = '[' + constant.join(', ') + ']'; } // NOTE: This is the only place that could potentially create static // allocations in a shared library. @@ -347,7 +346,7 @@ function JSify(data, functionsOnly, givenFunctions) { if (index !== null) { index = getFastValue(index, '+', Runtime.alignMemory(calcAllocatedSize(Variables.globals[item.ident].type))); } - js += '\n' + makePointer('[0]', null, allocator, ['void*'], index) + ';'; + js += '\n' + makePointer([0], null, allocator, ['void*'], index) + ';'; } if (!ASM_JS && (EXPORT_ALL || (item.ident in EXPORTED_GLOBALS))) { js += '\nModule["' + item.ident + '"] = ' + item.ident + ';'; |