move memory initializer pattern to shared

This commit is contained in:
Alon Zakai 2013-06-25 15:40:56 -07:00
Родитель 9663d80beb
Коммит 8c72d67953
3 изменённых файлов: 4 добавлений и 1 удалений

2
emcc
Просмотреть файл

@ -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)

Просмотреть файл

@ -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('@', '_');