diff --git a/js/src/jit-test/jit_test.py b/js/src/jit-test/jit_test.py index f3c3938cf8f1..298f9b398b54 100755 --- a/js/src/jit-test/jit_test.py +++ b/js/src/jit-test/jit_test.py @@ -215,20 +215,6 @@ def main(argv): test_list = [] read_all = True - # No point in adding in noasmjs and wasm-baseline variants if the - # jitflags forbid asmjs in the first place. (This is to avoid getting a - # wasm-baseline run when requesting --jitflags=interp, but the test - # contains test-also-noasmjs.) - test_flags = get_jitflags(options.jitflags) - options.asmjs_enabled = True - options.wasm_enabled = True - if all(['--no-asmjs' in flags for flags in test_flags]): - options.asmjs_enabled = False - options.wasm_enabled = False - if all(['--wasm-compiler=none' in flags for flags in test_flags]): - options.asmjs_enabled = False - options.wasm_enabled = False - if options.run_binast: code = 'print(getBuildConfiguration().binast)' is_binast_enabled = subprocess.check_output([js_shell, '-e', code]) @@ -329,6 +315,8 @@ def main(argv): sys.exit(0) # The full test list is ready. Now create copies for each JIT configuration. + test_flags = get_jitflags(options.jitflags) + test_list = [_ for test in test_list for _ in test.copy_variants(test_flags)] job_list = (test for test in test_list) diff --git a/js/src/jit-test/tests/asm.js/directives.txt b/js/src/jit-test/tests/asm.js/directives.txt index 35b58cb7089d..9ad132754042 100644 --- a/js/src/jit-test/tests/asm.js/directives.txt +++ b/js/src/jit-test/tests/asm.js/directives.txt @@ -1 +1 @@ -|jit-test| test-also-noasmjs +|jit-test| test-also=--no-asmjs diff --git a/js/src/jit-test/tests/debug/bug1330339.js b/js/src/jit-test/tests/debug/bug1330339.js index 1cdc4aa5f8fc..7d4c13e47104 100644 --- a/js/src/jit-test/tests/debug/bug1330339.js +++ b/js/src/jit-test/tests/debug/bug1330339.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; error: TestComplete +// |jit-test| test-also=--wasm-compiler=ion; error: TestComplete if (!wasmDebuggingIsSupported()) throw "TestComplete"; diff --git a/js/src/jit-test/tests/debug/bug1330489-sps.js b/js/src/jit-test/tests/debug/bug1330489-sps.js index 0aa0e6783580..5ab52815abfd 100644 --- a/js/src/jit-test/tests/debug/bug1330489-sps.js +++ b/js/src/jit-test/tests/debug/bug1330489-sps.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; error: TestComplete +// |jit-test| test-also=--wasm-compiler=ion; error: TestComplete load(libdir + "asserts.js"); diff --git a/js/src/jit-test/tests/debug/bug1330489.js b/js/src/jit-test/tests/debug/bug1330489.js index 8c1fee6c904e..3e5f590904d1 100644 --- a/js/src/jit-test/tests/debug/bug1330489.js +++ b/js/src/jit-test/tests/debug/bug1330489.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; error: TestComplete +// |jit-test| test-also=--wasm-compiler=ion; error: TestComplete load(libdir + "asserts.js"); diff --git a/js/src/jit-test/tests/debug/bug1330491.js b/js/src/jit-test/tests/debug/bug1330491.js index e4d2899d2826..23e839c818ad 100644 --- a/js/src/jit-test/tests/debug/bug1330491.js +++ b/js/src/jit-test/tests/debug/bug1330491.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; error: TestComplete +// |jit-test| test-also=--wasm-compiler=ion; error: TestComplete if (!wasmDebuggingIsSupported()) throw "TestComplete"; diff --git a/js/src/jit-test/tests/debug/bug1331064.js b/js/src/jit-test/tests/debug/bug1331064.js index 7c2c214fccb3..fe30508f6918 100644 --- a/js/src/jit-test/tests/debug/bug1331064.js +++ b/js/src/jit-test/tests/debug/bug1331064.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; exitstatus: 3; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; exitstatus: 3; skip-if: !wasmDebuggingIsSupported() load(libdir + "asserts.js"); diff --git a/js/src/jit-test/tests/debug/bug1331592.js b/js/src/jit-test/tests/debug/bug1331592.js index d2ebbfd6985a..bce0a1152bf2 100644 --- a/js/src/jit-test/tests/debug/bug1331592.js +++ b/js/src/jit-test/tests/debug/bug1331592.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; error: TestComplete +// |jit-test| test-also=--wasm-compiler=ion; error: TestComplete if (!wasmDebuggingIsSupported()) throw "TestComplete"; diff --git a/js/src/jit-test/tests/debug/bug1332493.js b/js/src/jit-test/tests/debug/bug1332493.js index 04920230e211..0b056080843b 100644 --- a/js/src/jit-test/tests/debug/bug1332493.js +++ b/js/src/jit-test/tests/debug/bug1332493.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; exitstatus: 3; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; exitstatus: 3; skip-if: !wasmDebuggingIsSupported() // Checking in debug frame is initialized properly during stack overflow. var dbg; diff --git a/js/src/jit-test/tests/debug/bug1343579.js b/js/src/jit-test/tests/debug/bug1343579.js index 7a9b87294209..2374e084c262 100644 --- a/js/src/jit-test/tests/debug/bug1343579.js +++ b/js/src/jit-test/tests/debug/bug1343579.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Checking if Debugger.Script.isInCatchScope return false for wasm. load(libdir + "wasm.js"); diff --git a/js/src/jit-test/tests/debug/wasm-06-onEnterFrame-null.js b/js/src/jit-test/tests/debug/wasm-06-onEnterFrame-null.js index eb4859534fee..233ddcc5a401 100644 --- a/js/src/jit-test/tests/debug/wasm-06-onEnterFrame-null.js +++ b/js/src/jit-test/tests/debug/wasm-06-onEnterFrame-null.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; exitstatus: 3; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; exitstatus: 3; skip-if: !wasmDebuggingIsSupported() // Checking resumption values for 'null' at onEnterFrame. load(libdir + "asserts.js"); diff --git a/js/src/jit-test/tests/debug/wasm-06-onPop-null.js b/js/src/jit-test/tests/debug/wasm-06-onPop-null.js index b306abae30a9..f674eb154b8d 100644 --- a/js/src/jit-test/tests/debug/wasm-06-onPop-null.js +++ b/js/src/jit-test/tests/debug/wasm-06-onPop-null.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; exitstatus: 3; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; exitstatus: 3; skip-if: !wasmDebuggingIsSupported() // Checking resumption values for 'null' at frame's onPop. load(libdir + "asserts.js"); diff --git a/js/src/jit-test/tests/debug/wasm-06.js b/js/src/jit-test/tests/debug/wasm-06.js index 297a1028551e..7903ce4eed4e 100644 --- a/js/src/jit-test/tests/debug/wasm-06.js +++ b/js/src/jit-test/tests/debug/wasm-06.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; error: TestComplete; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; error: TestComplete; skip-if: !wasmDebuggingIsSupported() // Tests that wasm module scripts raises onEnterFrame and onLeaveFrame events. load(libdir + "asserts.js"); diff --git a/js/src/jit-test/tests/debug/wasm-07.js b/js/src/jit-test/tests/debug/wasm-07.js index d54547f18aa7..f1059ee737f3 100644 --- a/js/src/jit-test/tests/debug/wasm-07.js +++ b/js/src/jit-test/tests/debug/wasm-07.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Checking existence of all frame.offset references during onEnterFrame, // onLeaveFrame and onStep events in the source code, and that we can diff --git a/js/src/jit-test/tests/debug/wasm-08.js b/js/src/jit-test/tests/debug/wasm-08.js index a4c2594c9849..1b8dfd579638 100644 --- a/js/src/jit-test/tests/debug/wasm-08.js +++ b/js/src/jit-test/tests/debug/wasm-08.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Checking if we destroying work registers by breakpoint/step handler. load(libdir + "wasm.js"); diff --git a/js/src/jit-test/tests/debug/wasm-09.js b/js/src/jit-test/tests/debug/wasm-09.js index 383f5ec4a8b2..b66c5d05abc1 100644 --- a/js/src/jit-test/tests/debug/wasm-09.js +++ b/js/src/jit-test/tests/debug/wasm-09.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Tests debugEnabled state of wasm when allowUnobservedAsmJS == true. load(libdir + "asserts.js"); diff --git a/js/src/jit-test/tests/debug/wasm-10.js b/js/src/jit-test/tests/debug/wasm-10.js index 6014335c3c08..6ac6d3a62bce 100644 --- a/js/src/jit-test/tests/debug/wasm-10.js +++ b/js/src/jit-test/tests/debug/wasm-10.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Tests that wasm module scripts has inspectable locals. load(libdir + "wasm.js"); diff --git a/js/src/jit-test/tests/debug/wasm-11.js b/js/src/jit-test/tests/debug/wasm-11.js index 86c523172cf4..6ed9b22c2301 100644 --- a/js/src/jit-test/tests/debug/wasm-11.js +++ b/js/src/jit-test/tests/debug/wasm-11.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Test single-stepping where the TLS register can be evicted by a non-trivial // function body. diff --git a/js/src/jit-test/tests/debug/wasm-12.js b/js/src/jit-test/tests/debug/wasm-12.js index 36e335675466..19372e797a01 100644 --- a/js/src/jit-test/tests/debug/wasm-12.js +++ b/js/src/jit-test/tests/debug/wasm-12.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Tests that wasm module scripts have special URLs. diff --git a/js/src/jit-test/tests/debug/wasm-breakpoint.js b/js/src/jit-test/tests/debug/wasm-breakpoint.js index 39869a55a3ef..ed6ddbf82834 100644 --- a/js/src/jit-test/tests/debug/wasm-breakpoint.js +++ b/js/src/jit-test/tests/debug/wasm-breakpoint.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Tests that wasm module scripts handles basic breakpoint operations. load(libdir + "wasm.js"); diff --git a/js/src/jit-test/tests/debug/wasm-get-return.js b/js/src/jit-test/tests/debug/wasm-get-return.js index c5a4ed679366..f8dd7f53759d 100644 --- a/js/src/jit-test/tests/debug/wasm-get-return.js +++ b/js/src/jit-test/tests/debug/wasm-get-return.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Tests that wasm frame opPop event can access function resumption value. load(libdir + "wasm.js"); diff --git a/js/src/jit-test/tests/debug/wasm-getAllColumnOffsets.js b/js/src/jit-test/tests/debug/wasm-getAllColumnOffsets.js index 05db3d52b53c..c7a71a3d2ff1 100644 --- a/js/src/jit-test/tests/debug/wasm-getAllColumnOffsets.js +++ b/js/src/jit-test/tests/debug/wasm-getAllColumnOffsets.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Tests that wasm module scripts have column and line to bytecode offset // information when source text is generated. diff --git a/js/src/jit-test/tests/debug/wasm-responseurls.js b/js/src/jit-test/tests/debug/wasm-responseurls.js index 33d98e8b7ae8..1dc6fdfef348 100644 --- a/js/src/jit-test/tests/debug/wasm-responseurls.js +++ b/js/src/jit-test/tests/debug/wasm-responseurls.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Tests that wasm module can accept URL and sourceMapURL from response // when instantiateStreaming is used. diff --git a/js/src/jit-test/tests/debug/wasm-sourceMappingURL.js b/js/src/jit-test/tests/debug/wasm-sourceMappingURL.js index 3fb31c4d9561..6e42b9b2d701 100644 --- a/js/src/jit-test/tests/debug/wasm-sourceMappingURL.js +++ b/js/src/jit-test/tests/debug/wasm-sourceMappingURL.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Tests that wasm module sourceMappingURL section is parsed. diff --git a/js/src/jit-test/tests/debug/wasm-step.js b/js/src/jit-test/tests/debug/wasm-step.js index 73b111269c2f..ded8353d6f7c 100644 --- a/js/src/jit-test/tests/debug/wasm-step.js +++ b/js/src/jit-test/tests/debug/wasm-step.js @@ -1,4 +1,4 @@ -// |jit-test| test-also-wasm-compiler-ion; skip-if: !wasmDebuggingIsSupported() +// |jit-test| test-also=--wasm-compiler=ion; skip-if: !wasmDebuggingIsSupported() // Tests that wasm module scripts raises onEnterFrame and onLeaveFrame events. diff --git a/js/src/jit-test/tests/wasm/bench/directives.txt b/js/src/jit-test/tests/wasm/bench/directives.txt index 7dab165494bb..4f8539df45d6 100644 --- a/js/src/jit-test/tests/wasm/bench/directives.txt +++ b/js/src/jit-test/tests/wasm/bench/directives.txt @@ -1 +1 @@ -|jit-test| test-also-wasm-compiler-ion; test-also-wasm-compiler-baseline; test-also-wasm-tiering; include:wasm.js +|jit-test| test-also=--wasm-compiler=ion; test-also=--wasm-compiler=baseline; test-also=--test-wasm-await-tier2; include:wasm.js diff --git a/js/src/jit-test/tests/wasm/directives.txt b/js/src/jit-test/tests/wasm/directives.txt index 7dab165494bb..4f8539df45d6 100644 --- a/js/src/jit-test/tests/wasm/directives.txt +++ b/js/src/jit-test/tests/wasm/directives.txt @@ -1 +1 @@ -|jit-test| test-also-wasm-compiler-ion; test-also-wasm-compiler-baseline; test-also-wasm-tiering; include:wasm.js +|jit-test| test-also=--wasm-compiler=ion; test-also=--wasm-compiler=baseline; test-also=--test-wasm-await-tier2; include:wasm.js diff --git a/js/src/jit-test/tests/wasm/regress/directives.txt b/js/src/jit-test/tests/wasm/regress/directives.txt index 7dab165494bb..4f8539df45d6 100644 --- a/js/src/jit-test/tests/wasm/regress/directives.txt +++ b/js/src/jit-test/tests/wasm/regress/directives.txt @@ -1 +1 @@ -|jit-test| test-also-wasm-compiler-ion; test-also-wasm-compiler-baseline; test-also-wasm-tiering; include:wasm.js +|jit-test| test-also=--wasm-compiler=ion; test-also=--wasm-compiler=baseline; test-also=--test-wasm-await-tier2; include:wasm.js diff --git a/js/src/jit-test/tests/wasm/spec/directives.txt b/js/src/jit-test/tests/wasm/spec/directives.txt index 1dabe776c79d..c2fb039851a0 100644 --- a/js/src/jit-test/tests/wasm/spec/directives.txt +++ b/js/src/jit-test/tests/wasm/spec/directives.txt @@ -1 +1 @@ -|jit-test| test-also-wasm-compiler-ion; test-also-wasm-compiler-baseline; test-also-wasm-tiering; include:wasm-testharness.js +|jit-test| test-also=--wasm-compiler=ion; test-also=--wasm-compiler=baseline; test-also=--test-wasm-await-tier2; include:wasm-testharness.js diff --git a/js/src/jit-test/tests/wasm/timeout/directives.txt b/js/src/jit-test/tests/wasm/timeout/directives.txt index cc643d1e7398..49a19f6a865e 100644 --- a/js/src/jit-test/tests/wasm/timeout/directives.txt +++ b/js/src/jit-test/tests/wasm/timeout/directives.txt @@ -1,2 +1,2 @@ -|jit-test| test-also-wasm-compiler-ion; test-also-wasm-compiler-baseline; test-also-wasm-tiering +|jit-test| test-also=--wasm-compiler=ion; test-also=--wasm-compiler=baseline; test-also=--test-wasm-await-tier2 diff --git a/js/src/tests/lib/jittests.py b/js/src/tests/lib/jittests.py index ba69b6772926..648d1589c557 100755 --- a/js/src/tests/lib/jittests.py +++ b/js/src/tests/lib/jittests.py @@ -127,11 +127,6 @@ class JitTest: self.valgrind = False # True means force Pacific time for the test self.tz_pacific = False - # True means run with and without asm.js - self.test_also_noasmjs = False - # enabled. - # True means run with and and without wasm baseline compiler enabled. - self.test_also_wasm_baseline = False # Additional files to include, in addition to prologue.js self.other_includes = [] # List of other configurations to test with. @@ -165,8 +160,6 @@ class JitTest: t.allow_overrecursed = self.allow_overrecursed t.valgrind = self.valgrind t.tz_pacific = self.tz_pacific - t.test_also_noasmjs = self.test_also_noasmjs - t.test_also_wasm_baseline = self.test_also_wasm_baseline t.other_includes = self.other_includes[:] t.test_also = self.test_also t.test_join = self.test_join @@ -301,18 +294,6 @@ class JitTest: test.valgrind = options.valgrind elif name == 'tz-pacific': test.tz_pacific = True - elif name == 'test-also-noasmjs': - if options.asmjs_enabled: - test.test_also.append(['--no-asmjs']) - elif name == 'test-also-wasm-compiler-ion': - if options.wasm_enabled: - test.test_also.append(['--wasm-compiler=ion']) - elif name == 'test-also-wasm-compiler-baseline': - if options.wasm_enabled: - test.test_also.append(['--wasm-compiler=baseline']) - elif name == 'test-also-wasm-tiering': - if options.wasm_enabled: - test.test_also.append(['--test-wasm-await-tier2']) elif name.startswith('test-also='): test.test_also.append([name[len('test-also='):]]) elif name.startswith('test-join='): diff --git a/js/src/wasm/Makefile b/js/src/wasm/Makefile index 1e1a64c18f64..1cda7888f075 100644 --- a/js/src/wasm/Makefile +++ b/js/src/wasm/Makefile @@ -23,7 +23,7 @@ update: --use-sync \ --js ../jit-test/tests/wasm/spec \ --html ../../../testing/web-platform/mozilla/tests/wasm - echo "|jit-test| test-also-wasm-compiler-ion; test-also-wasm-compiler-baseline; test-also-wasm-tiering; include:wasm-testharness.js" > ../jit-test/tests/wasm/spec/directives.txt + echo "|jit-test| test-also=--wasm-compiler=ion; test-also=--wasm-compiler=baseline; test-also=--test-wasm-await-tier2; include:wasm-testharness.js" > ../jit-test/tests/wasm/spec/directives.txt echo "|jit-test| skip-if:true" > ../jit-test/tests/wasm/spec/harness/directives.txt run: