aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtests/runner.py22
-rw-r--r--tools/js-optimizer.js4
2 files changed, 16 insertions, 10 deletions
diff --git a/tests/runner.py b/tests/runner.py
index a3183b76..6c890402 100755
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -11064,22 +11064,28 @@ f.close()
curr = None
return ret
- for debug in ['-g1', '-g']:
- for outlining_limit in [100, 250, 500, 1000, 2000, 5000, 0]:
+ for debug, outlining_limits in [
+ ([], (1000,)),
+ (['-g1'], (1000,)),
+ (['-g2'], (1000,)),
+ (['-g'], (100, 250, 500, 1000, 2000, 5000, 0))
+ ]:
+ for outlining_limit in outlining_limits:
print '\n', debug, outlining_limit, '\n'
# TODO: test without -g3, tell all sorts
- Popen([PYTHON, EMCC, src] + libs + ['-o', 'test.js', '-O2', debug, '-s', 'OUTLINING_LIMIT=%d' % outlining_limit] + args).communicate()
+ Popen([PYTHON, EMCC, src] + libs + ['-o', 'test.js', '-O2'] + debug + ['-s', 'OUTLINING_LIMIT=%d' % outlining_limit] + args).communicate()
assert os.path.exists('test.js')
shutil.copyfile('test.js', '%d_test.js' % outlining_limit)
for engine in JS_ENGINES:
out = run_js('test.js', engine=engine, stderr=PIPE, full_output=True)
self.assertContained(expected, out)
if engine == SPIDERMONKEY_ENGINE: self.validate_asmjs(out)
- low = expected_ranges[outlining_limit][0]
- seen = max(measure_funcs('test.js').values())
- high = expected_ranges[outlining_limit][1]
- print outlining_limit, ' ', low, '<=', seen, '<=', high
- assert low <= seen <= high
+ if debug == ['-g']:
+ low = expected_ranges[outlining_limit][0]
+ seen = max(measure_funcs('test.js').values())
+ high = expected_ranges[outlining_limit][1]
+ print outlining_limit, ' ', low, '<=', seen, '<=', high
+ assert low <= seen <= high
test('zlib', path_from_root('tests', 'zlib', 'example.c'),
self.get_library('zlib', os.path.join('libz.a'), make_args=['libz.a']),
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js
index 2f11fcab..95d9b82f 100644
--- a/tools/js-optimizer.js
+++ b/tools/js-optimizer.js
@@ -1743,7 +1743,7 @@ function registerize(ast) {
}
});
vacuum(fun);
- if (extraInfo) {
+ if (extraInfo && extraInfo.globals) {
assert(asm);
var usedGlobals = {};
var nextLocal = 0;
@@ -1794,7 +1794,7 @@ function registerize(ast) {
function getNewRegName(num, name) {
if (!asm) return 'r' + num;
var type = asmData.vars[name];
- if (!extraInfo) {
+ if (!extraInfo || !extraInfo.globals) {
var ret = (type ? 'd' : 'i') + num;
regTypes[ret] = type;
return ret;