diff options
-rwxr-xr-x | emcc | 2 | ||||
-rw-r--r-- | emlink.py | 1 | ||||
-rw-r--r-- | tools/shared.py | 2 |
3 files changed, 4 insertions, 1 deletions
@@ -1622,7 +1622,7 @@ try: if os.path.abspath(memfile) != os.path.abspath(memfile): shutil.copyfile(memfile, temp_memfile) return 'loadMemoryInitializer("%s");' % os.path.basename(memfile) - src = re.sub('/\* memory initializer \*/ allocate\(([\d,\.concat\(\)\[\]\\n ]+)"i8", ALLOC_NONE, Runtime\.GLOBAL_BASE\)', repl, src, count=1) + src = re.sub(shared.JS.memory_initializer_pattern, repl, src, count=1) open(final + '.mem.js', 'w').write(src) final += '.mem.js' js_transform_tempfiles[-1] = final # simple text substitution preserves comment line number mappings @@ -56,6 +56,7 @@ class AsmModule(): # heap initializer TODO # global initializers TODO + shared.JS.memory_initializer_pattern # imports main_imports = set(main.imports) diff --git a/tools/shared.py b/tools/shared.py index 52ca0292..bc1177b2 100644 --- a/tools/shared.py +++ b/tools/shared.py @@ -1351,6 +1351,8 @@ JCache = cache.JCache(Cache) chunkify = cache.chunkify class JS: + memory_initializer_pattern = '/\* memory initializer \*/ allocate\(([\d,\.concat\(\)\[\]\\n ]+)"i8", ALLOC_NONE, Runtime\.GLOBAL_BASE\)' + @staticmethod def to_nice_ident(ident): # limited version of the JS function toNiceIdent return ident.replace('%', '$').replace('@', '_'); |