emit side module memory initializer in the right place; test_dlfcn_basic works in asm
This commit is contained in:
Родитель
3b07ce3ad9
Коммит
d0249dba76
|
@ -1664,7 +1664,7 @@ function JSify(data, functionsOnly, givenFunctions) {
|
|||
print('STATIC_BASE = ' + Runtime.GLOBAL_BASE + ';\n');
|
||||
print('STATICTOP = STATIC_BASE + ' + Runtime.alignMemory(Variables.nextIndexedOffset) + ';\n');
|
||||
} else {
|
||||
print('var H_BASE = parentModule["_malloc"](' + Runtime.alignMemory(Variables.nextIndexedOffset) + ');\n');
|
||||
print('var H_BASE = parentModule["_malloc"](' + Runtime.alignMemory(Variables.nextIndexedOffset) + ' + Runtime.GLOBAL_BASE);\n');
|
||||
print('// STATICTOP = STATIC_BASE + ' + Runtime.alignMemory(Variables.nextIndexedOffset) + ';\n'); // comment as metadata only
|
||||
}
|
||||
}
|
||||
|
@ -1693,7 +1693,7 @@ function JSify(data, functionsOnly, givenFunctions) {
|
|||
return true;
|
||||
});
|
||||
// write out the singleton big memory initialization value
|
||||
print('/* memory initializer */ ' + makePointer(memoryInitialization, null, 'ALLOC_NONE', 'i8', 'Runtime.GLOBAL_BASE', true));
|
||||
print('/* memory initializer */ ' + makePointer(memoryInitialization, null, 'ALLOC_NONE', 'i8', 'Runtime.GLOBAL_BASE' + (SIDE_MODULE ? '+H_BASE' : ''), true));
|
||||
} else {
|
||||
print('/* no memory initializer */'); // test purposes
|
||||
}
|
||||
|
|
|
@ -1429,7 +1429,7 @@ JCache = cache.JCache(Cache)
|
|||
chunkify = cache.chunkify
|
||||
|
||||
class JS:
|
||||
memory_initializer_pattern = '/\* memory initializer \*/ allocate\(([\d,\.concat\(\)\[\]\\n ]+)"i8", ALLOC_NONE, ([\dRuntime\.GLOBAL_BASE+]+)\)'
|
||||
memory_initializer_pattern = '/\* memory initializer \*/ allocate\(([\d,\.concat\(\)\[\]\\n ]+)"i8", ALLOC_NONE, ([\dRuntime\.GLOBAL_BASEH+]+)\)'
|
||||
no_memory_initializer_pattern = '/\* no memory initializer \*/'
|
||||
|
||||
memory_staticbump_pattern = 'STATICTOP = STATIC_BASE \+ (\d+);'
|
||||
|
|
Загрузка…
Ссылка в новой задаче