diff options
-rwxr-xr-x | emcc | 1 | ||||
-rw-r--r-- | emscripten-version.txt | 2 | ||||
-rwxr-xr-x | emscripten.py | 1 | ||||
-rw-r--r-- | tests/test_core.py | 8 |
4 files changed, 7 insertions, 5 deletions
@@ -1269,7 +1269,6 @@ try: assert shared.Settings.TARGET_ASMJS_UNKNOWN_EMSCRIPTEN == 1, 'fastcomp requires asmjs-unknown-emscripten' assert shared.Settings.USE_TYPED_ARRAYS == 2, 'fastcomp assumes ta2' assert not split_js_file, '--split-js is deprecated and not supported in fastcomp' - assert shared.Settings.MAX_SETJMPS == 20, 'changing MAX_SETJMPS is not supported in fastcomp yet' assert shared.Settings.INIT_HEAP == 0, 'HEAP_INIT is not supported in fastcomp (and should never be needed except for debugging)' assert not shared.Settings.RUNTIME_TYPE_INFO, 'RUNTIME_TYPE_INFO is not supported in fastcomp' assert not shared.Settings.CORRUPTION_CHECK, 'CORRUPTION_CHECK is not supported in asm.js mode, which is what fastcomp can emit (you can use non-asm.js mode in non-fastcomp)' diff --git a/emscripten-version.txt b/emscripten-version.txt index 18abf253..ca3ca78e 100644 --- a/emscripten-version.txt +++ b/emscripten-version.txt @@ -1,2 +1,2 @@ -1.18.3 +1.18.4 diff --git a/emscripten.py b/emscripten.py index 9abaf60c..98877a8e 100755 --- a/emscripten.py +++ b/emscripten.py @@ -761,6 +761,7 @@ def emscript_fast(infile, settings, outfile, libraries=[], compiler_engine=None, if settings['ALIASING_FUNCTION_POINTERS'] == 0: backend_args += ['-emscripten-no-aliasing-function-pointers'] backend_args += ['-O' + str(settings['OPT_LEVEL'])] + backend_args += ['-emscripten-max-setjmps=%d' % settings['MAX_SETJMPS']] if DEBUG: logging.debug('emscript: llvm backend: ' + ' '.join(backend_args)) t = time.time() diff --git a/tests/test_core.py b/tests/test_core.py index a4a12236..46d3964c 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -1200,9 +1200,11 @@ class T(RunnerCore): # Short name, to make it more fun to use manually on the co return 0; } ''' - for num in [Settings.MAX_SETJMPS, Settings.MAX_SETJMPS+1]: - print num - self.do_run(src.replace('NUM', str(num)), '0\n' * num if num <= Settings.MAX_SETJMPS or not Settings.ASM_JS else 'build with a higher value for MAX_SETJMPS') + for maxx in [Settings.MAX_SETJMPS/2, Settings.MAX_SETJMPS, 2*Settings.MAX_SETJMPS]: + Settings.MAX_SETJMPS = maxx + for num in [maxx, maxx+1]: + print maxx, num + self.do_run(src.replace('NUM', str(num)), '0\n' * num if num <= Settings.MAX_SETJMPS or not Settings.ASM_JS else 'build with a higher value for MAX_SETJMPS') def test_setjmp_many_2(self): if os.environ.get('EMCC_FAST_COMPILER') == '0': return self.skip('non-fastcomp do not hit the limit.') |