WebKit Bugzilla
Attachment 359728 Details for
Bug 192983
: [JSC] Reenable baseline JIT on mips
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-192983-20190122121348.patch (text/plain), 27.82 KB, created by
Guillaume Emont
on 2019-01-22 03:13:49 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Guillaume Emont
Created:
2019-01-22 03:13:49 PST
Size:
27.82 KB
patch
obsolete
>Subversion Revision: 240236 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index dbc7d46ad189e0e9407da5935177173aa925c0b8..1db22aec8bfea41bd8e9a65ea5b4b1063c53dccb 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,20 @@ >+2018-01-22 Guillaume Emont <guijemont@igalia.com> >+ >+ [JSC] Reenable baseline JIT on mips >+ https://bugs.webkit.org/show_bug.cgi?id=192983 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Use $s0 as metadata register and make sure it's properly saved and >+ restored. >+ >+ * jit/GPRInfo.h: >+ * jit/RegisterSet.cpp: >+ (JSC::RegisterSet::vmCalleeSaveRegisters): >+ (JSC::RegisterSet::llintBaselineCalleeSaveRegisters): >+ * llint/LowLevelInterpreter.asm: >+ * offlineasm/mips.rb: >+ > 2019-01-20 Saam Barati <sbarati@apple.com> > > DFG: When inlining DataView set* intrinsics we need to set undefined as our result >diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog >index 57714e131b5d35037190ad008e628faf6d188e1e..473a78a4cfa6f4ba56dc0078d27d47a79271f9ce 100644 >--- a/Source/WTF/ChangeLog >+++ b/Source/WTF/ChangeLog >@@ -1,3 +1,14 @@ >+2018-01-22 Guillaume Emont <guijemont@igalia.com> >+ >+ [JSC] Reenable baseline JIT on mips >+ https://bugs.webkit.org/show_bug.cgi?id=192983 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Use baseline JIT by default on MIPS. >+ >+ * wtf/Platform.h: >+ > 2019-01-21 Claudio Saavedra <csaavedra@igalia.com> > > [GTK] Speculative build fix for Ubuntu LTS >diff --git a/Source/JavaScriptCore/jit/GPRInfo.h b/Source/JavaScriptCore/jit/GPRInfo.h >index 175d53088fc75d1a83df17a6d7a259efd4520fc9..6bcf676f3c5e1399b7a386a2a9910c28d64203ba 100644 >--- a/Source/JavaScriptCore/jit/GPRInfo.h >+++ b/Source/JavaScriptCore/jit/GPRInfo.h >@@ -716,7 +716,7 @@ public: > > #if CPU(MIPS) > #define NUMBER_OF_ARGUMENT_REGISTERS 4u >-#define NUMBER_OF_CALLEE_SAVES_REGISTERS 0u >+#define NUMBER_OF_CALLEE_SAVES_REGISTERS 1u > > class GPRInfo { > public: >@@ -750,6 +750,7 @@ public: > static const GPRReg returnValueGPR = regT0; > static const GPRReg returnValueGPR2 = regT1; > static const GPRReg nonPreservedNonReturnGPR = regT2; >+ static const GPRReg regCS0 = MIPSRegisters::s0; > > static GPRReg toRegister(unsigned index) > { >diff --git a/Source/JavaScriptCore/jit/RegisterSet.cpp b/Source/JavaScriptCore/jit/RegisterSet.cpp >index 7c94804a1341af86973cb89bce52d9565c8f8c37..3d02317d9354698b58ea256df0e4becd842a0e21 100644 >--- a/Source/JavaScriptCore/jit/RegisterSet.cpp >+++ b/Source/JavaScriptCore/jit/RegisterSet.cpp >@@ -192,7 +192,7 @@ RegisterSet RegisterSet::vmCalleeSaveRegisters() > result.set(FPRInfo::fpRegCS5); > result.set(FPRInfo::fpRegCS6); > result.set(FPRInfo::fpRegCS7); >-#elif CPU(ARM_THUMB2) >+#elif CPU(ARM_THUMB2) || CPU(MIPS) > result.set(GPRInfo::regCS0); > #endif > return result; >@@ -238,6 +238,7 @@ RegisterSet RegisterSet::llintBaselineCalleeSaveRegisters() > result.set(GPRInfo::regCS8); > result.set(GPRInfo::regCS9); > #elif CPU(MIPS) >+ result.set(GPRInfo::regCS0); > #else > UNREACHABLE_FOR_PLATFORM(); > #endif >diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm >index 70cd7f11fd482f78fbda66e118663c9ab9daaabc..5963977e04b288f4a71634ebd96799a0c3864343 100644 >--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm >+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm >@@ -214,6 +214,8 @@ elsif C_LOOP > const CalleeSaveSpaceAsVirtualRegisters = 1 > elsif ARMv7 > const CalleeSaveSpaceAsVirtualRegisters = 1 >+elsif MIPS >+ const CalleeSaveSpaceAsVirtualRegisters = 1 > else > const CalleeSaveSpaceAsVirtualRegisters = 0 > end >@@ -280,6 +282,8 @@ else > const metadataTable = csr3 > elsif ARMv7 > const metadataTable = csr0 >+ elsif MIPS >+ const metadataTable = csr0 > else > error > end >@@ -614,7 +618,7 @@ if C_LOOP or ARM64 or ARM64E or X86_64 or X86_64_WIN > elsif ARMv7 > const CalleeSaveRegisterCount = 7 > elsif MIPS >- const CalleeSaveRegisterCount = 1 >+ const CalleeSaveRegisterCount = 2 > elsif X86 or X86_WIN > const CalleeSaveRegisterCount = 3 > end >@@ -630,8 +634,9 @@ macro pushCalleeSaves() > elsif ARMv7 > emit "push {r4-r6, r8-r11}" > elsif MIPS >- emit "addiu $sp, $sp, -4" >- emit "sw $s4, 0($sp)" >+ emit "addiu $sp, $sp, -8" >+ emit "sw $s0, 0($sp)" # csr0/metaData >+ emit "sw $s4, 4($sp)" > # save $gp to $s4 so that we can restore it after a function call > emit "move $s4, $gp" > elsif X86 >@@ -650,8 +655,9 @@ macro popCalleeSaves() > elsif ARMv7 > emit "pop {r4-r6, r8-r11}" > elsif MIPS >- emit "lw $s4, 0($sp)" >- emit "addiu $sp, $sp, 4" >+ emit "lw $s0, 0($sp)" >+ emit "lw $s4, 4($sp)" >+ emit "addiu $sp, $sp, 8" > elsif X86 > emit "pop %ebx" > emit "pop %edi" >@@ -693,12 +699,11 @@ macro preserveCalleeSavesUsedByLLInt() > subp CalleeSaveSpaceStackAligned, sp > if C_LOOP > storep metadataTable, -PtrSize[cfr] >- elsif ARMv7 >+ elsif ARMv7 or MIPS > storep metadataTable, -4[cfr] > elsif ARM64 or ARM64E > emit "stp x27, x28, [x29, #-16]" > emit "stp x25, x26, [x29, #-32]" >- elsif MIPS > elsif X86 > elsif X86_WIN > elsif X86_64 >@@ -717,12 +722,11 @@ end > macro restoreCalleeSavesUsedByLLInt() > if C_LOOP > loadp -PtrSize[cfr], metadataTable >- elsif ARMv7 >+ elsif ARMv7 or MIPS > loadp -4[cfr], metadataTable > elsif ARM64 or ARM64E > emit "ldp x25, x26, [x29, #-32]" > emit "ldp x27, x28, [x29, #-16]" >- elsif MIPS > elsif X86 > elsif X86_WIN > elsif X86_64 >@@ -739,7 +743,7 @@ macro restoreCalleeSavesUsedByLLInt() > end > > macro copyCalleeSavesToVMEntryFrameCalleeSavesBuffer(vm, temp) >- if ARM64 or ARM64E or X86_64 or X86_64_WIN or ARMv7 >+ if ARM64 or ARM64E or X86_64 or X86_64_WIN or ARMv7 or MIPS > loadp VM::topEntryFrame[vm], temp > vmEntryRecord(temp, temp) > leap VMEntryRecord::calleeSaveRegistersBuffer[temp], temp >@@ -776,14 +780,14 @@ macro copyCalleeSavesToVMEntryFrameCalleeSavesBuffer(vm, temp) > storeq csr4, 32[temp] > storeq csr5, 40[temp] > storeq csr6, 48[temp] >- elsif ARMv7 >+ elsif ARMv7 or MIPS > storep csr0, [temp] > end > end > end > > macro restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer(vm, temp) >- if ARM64 or ARM64E or X86_64 or X86_64_WIN or ARMv7 >+ if ARM64 or ARM64E or X86_64 or X86_64_WIN or ARMv7 or MIPS > loadp VM::topEntryFrame[vm], temp > vmEntryRecord(temp, temp) > leap VMEntryRecord::calleeSaveRegistersBuffer[temp], temp >@@ -820,7 +824,7 @@ macro restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer(vm, temp) > loadq 32[temp], csr4 > loadq 40[temp], csr5 > loadq 48[temp], csr6 >- elsif ARMv7 >+ elsif ARMv7 or MIPS > loadp [temp], csr0 > end > end >diff --git a/Source/JavaScriptCore/offlineasm/mips.rb b/Source/JavaScriptCore/offlineasm/mips.rb >index df19c6ba03e159fcb9339df1ef8204baa2102a68..36e1fb7e3febe5474223aabd347e001add04c09f 100644 >--- a/Source/JavaScriptCore/offlineasm/mips.rb >+++ b/Source/JavaScriptCore/offlineasm/mips.rb >@@ -135,6 +135,8 @@ class RegisterID > "$t5" > when "cfr" > "$fp" >+ when "csr0" >+ "$s0" > when "lr" > "$ra" > when "sp" >@@ -878,7 +880,7 @@ class Instruction > $asm.puts "sw #{mipsOperands(operands)}" > when "loadb" > $asm.puts "lbu #{mipsFlippedOperands(operands)}" >- when "loadbs" >+ when "loadbs", "loadbsp" > $asm.puts "lb #{mipsFlippedOperands(operands)}" > when "storeb" > $asm.puts "sb #{mipsOperands(operands)}" >@@ -1035,7 +1037,14 @@ class Instruction > when /^bnz/ > $asm.puts "bne #{operands[0].mipsOperand}, #{operands[1].mipsOperand}, #{operands[2].asmLabel}" > when "leai", "leap" >- operands[0].mipsEmitLea(operands[1]) >+ if operands[0].is_a? LabelReference >+ labelRef = operands[0] >+ raise unless labelRef.offset == 0 >+ $asm.puts "lw #{operands[1].mipsOperand}, %got(#{labelRef.asmLabel})($gp)" >+ else >+ operands[0].mipsEmitLea(operands[1]) >+ end >+ > when "smulli" > raise "Wrong number of arguments to smull in #{self.inspect} at #{codeOriginString}" unless operands.length == 4 > $asm.puts "mult #{operands[0].mipsOperand}, #{operands[1].mipsOperand}" >diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h >index 49b172fdfa1db0e6b6187cd6d46ed1561aff7939..ba84fb122f10a463b11008cb6bf388e08a806a4a 100644 >--- a/Source/WTF/wtf/Platform.h >+++ b/Source/WTF/wtf/Platform.h >@@ -760,8 +760,15 @@ > #if !defined(ENABLE_JIT) > #define ENABLE_JIT 1 > #endif >+#elif CPU(MIPS) && OS(LINUX) >+/* Same on MIPS/Linux, but DFG is disabled for now. */ >+#if !defined(ENABLE_JIT) >+#define ENABLE_JIT 1 >+#endif >+#undef ENABLE_DFG_JIT >+#define ENABLE_DFG_JIT 0 > #else >-/* Disable JIT and force C_LOOP on all 32bit-architectures but ARMv7-Thumb2/Linux. */ >+/* Disable JIT and force C_LOOP on all other 32bit architectures. */ > #undef ENABLE_JIT > #define ENABLE_JIT 0 > #undef ENABLE_C_LOOP >diff --git a/Source/cmake/WebKitFeatures.cmake b/Source/cmake/WebKitFeatures.cmake >index 041ab32d2b8f186e0fdd3e0372a7c410e6cb22c8..bca4e9983f06cf662e8918b373dbd3d37b67e663 100644 >--- a/Source/cmake/WebKitFeatures.cmake >+++ b/Source/cmake/WebKitFeatures.cmake >@@ -74,6 +74,12 @@ macro(WEBKIT_OPTION_BEGIN) > set(USE_SYSTEM_MALLOC_DEFAULT OFF) > set(ENABLE_C_LOOP_DEFAULT OFF) > set(ENABLE_SAMPLING_PROFILER_DEFAULT ON) >+ elseif (WTF_CPU_MIPS AND WTF_OS_LINUX) >+ set(ENABLE_JIT_DEFAULT ON) >+ set(ENABLE_FTL_DEFAULT OFF) >+ set(USE_SYSTEM_MALLOC_DEFAULT OFF) >+ set(ENABLE_C_LOOP_DEFAULT OFF) >+ set(ENABLE_SAMPLING_PROFILER_DEFAULT OFF) > else () > set(ENABLE_JIT_DEFAULT OFF) > set(ENABLE_FTL_DEFAULT OFF) >diff --git a/ChangeLog b/ChangeLog >index 506fd3545b0fba8f614490a5bd2583b1ae221410..b61b8d794746eaec9a652b7de0120bcb08eeb77d 100644 >--- a/ChangeLog >+++ b/ChangeLog >@@ -1,3 +1,14 @@ >+2019-01-22 Guillaume Emont <guijemont@igalia.com> >+ >+ [JSC] Reenable baseline JIT on mips >+ https://bugs.webkit.org/show_bug.cgi?id=192983 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Use baseline JIT by default on MIPS. >+ >+ * Source/cmake/WebKitFeatures.cmake: >+ > 2019-01-18 Jer Noble <jer.noble@apple.com> > > SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds >diff --git a/JSTests/ChangeLog b/JSTests/ChangeLog >index 9dcfb8a3ba6b7f49a5e06a59083524d42e253358..850380b8d336172618d3044df06047288bd0dd64 100644 >--- a/JSTests/ChangeLog >+++ b/JSTests/ChangeLog >@@ -1,3 +1,41 @@ >+2018-01-22 Guillaume Emont <guijemont@igalia.com> >+ >+ [JSC] Reenable baseline JIT on mips >+ https://bugs.webkit.org/show_bug.cgi?id=192983 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Added a new test for a case that was triggering a RELEASE_ASSERT when >+ testing. >+ Disable some slow tests that were already disabled for arm and x86. >+ >+ * stress/json-parse-big-object.js: Added. >+ * stress/new-largeish-contiguous-array-with-size.js: >+ * stress/op_add.js: >+ * stress/op_bitand.js: >+ * stress/op_bitor.js: >+ * stress/op_bitxor.js: >+ * stress/op_lshift-ConstVar.js: >+ * stress/op_lshift-VarConst.js: >+ * stress/op_lshift-VarVar.js: >+ * stress/op_mod-ConstVar.js: >+ * stress/op_mod-VarConst.js: >+ * stress/op_mod-VarVar.js: >+ * stress/op_mul-ConstVar.js: >+ * stress/op_mul-VarConst.js: >+ * stress/op_mul-VarVar.js: >+ * stress/op_rshift-ConstVar.js: >+ * stress/op_rshift-VarConst.js: >+ * stress/op_rshift-VarVar.js: >+ * stress/op_sub-ConstVar.js: >+ * stress/op_sub-VarConst.js: >+ * stress/op_sub-VarVar.js: >+ * stress/op_urshift-ConstVar.js: >+ * stress/op_urshift-VarConst.js: >+ * stress/op_urshift-VarVar.js: >+ * stress/sampling-profiler-richards.js: >+ * stress/spread-forward-call-varargs-stack-overflow.js: >+ > 2019-01-20 Saam Barati <sbarati@apple.com> > > DFG: When inlining DataView set* intrinsics we need to set undefined as our result >diff --git a/JSTests/stress/json-parse-big-object.js b/JSTests/stress/json-parse-big-object.js >new file mode 100644 >index 0000000000000000000000000000000000000000..d70b3eceae5a4cf9527cab91ab62c80f5a025af5 >--- /dev/null >+++ b/JSTests/stress/json-parse-big-object.js >@@ -0,0 +1,15 @@ >+ >+var obj = { >+ "foo1": { "foo2": { "foo3": { "foo4": { "foo5": { "foo6": { "foo7": [ >+ { "bar1": "a".repeat(670)}, >+ { "bar2": "a".repeat(15771)}, >+ ] >+ }}}}}}}; >+ >+function doTest(x) { >+ for (let i=1; i<10000; i++) { >+ var s = JSON.stringify(x); >+ } >+} >+ >+doTest(obj); >diff --git a/JSTests/stress/new-largeish-contiguous-array-with-size.js b/JSTests/stress/new-largeish-contiguous-array-with-size.js >index 05a2614a45b07114f0040f390a6e478f6ad450ea..e119442f0928a14e13770d07468d3a9fc950023c 100644 >--- a/JSTests/stress/new-largeish-contiguous-array-with-size.js >+++ b/JSTests/stress/new-largeish-contiguous-array-with-size.js >@@ -1,6 +1,6 @@ > // We only need one run of this with any GC or JIT strategy. This test is not particularly fast. > // Unfortunately, it needs to run for a while to test the thing it's testing. >-//@ if $architecture =~ /arm/ then skip else runWithRAMSize(10000000) end >+//@ if $architecture =~ /arm|mips/ then skip else runWithRAMSize(10000000) end > //@ slow! > > function foo(x) { >diff --git a/JSTests/stress/op_add.js b/JSTests/stress/op_add.js >index c6290406cc662bb9291f6aedb9bd26fdb55bf2f0..ce799de387b630e12fb87d2efd3e2e1db0d796f1 100644 >--- a/JSTests/stress/op_add.js >+++ b/JSTests/stress/op_add.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_bitand.js b/JSTests/stress/op_bitand.js >index a4586034d31687e229a4263f4414cb748e3f2e5c..d014aa6e9d855916a18632d5d2c33b775614b416 100644 >--- a/JSTests/stress/op_bitand.js >+++ b/JSTests/stress/op_bitand.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_bitor.js b/JSTests/stress/op_bitor.js >index 2668a999970e0764cd2ea4a43e3a24d26eb235f2..ad3bfaa431d5785936815d75966dade1bc88b486 100644 >--- a/JSTests/stress/op_bitor.js >+++ b/JSTests/stress/op_bitor.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_bitxor.js b/JSTests/stress/op_bitxor.js >index 769c5520ec4e248f3ab17fb16c553672cc176297..f22fa04ca6afb2bb577ca46ca098a73b4b6d7dcd 100644 >--- a/JSTests/stress/op_bitxor.js >+++ b/JSTests/stress/op_bitxor.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_lshift-ConstVar.js b/JSTests/stress/op_lshift-ConstVar.js >index 79b46c11d48a469a20277f23a854ff9bb0b0516e..1648c25cb8922022cb58ad93c143de192e8a98fc 100644 >--- a/JSTests/stress/op_lshift-ConstVar.js >+++ b/JSTests/stress/op_lshift-ConstVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_lshift-VarConst.js b/JSTests/stress/op_lshift-VarConst.js >index da7e06f10eabe3a8d68b39b59127b21cf868bc29..bfce6c15f758e34c91c521ae7e0c6ca589e8d644 100644 >--- a/JSTests/stress/op_lshift-VarConst.js >+++ b/JSTests/stress/op_lshift-VarConst.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_lshift-VarVar.js b/JSTests/stress/op_lshift-VarVar.js >index 26b8688d1a7aeaffdfd53766f35c0f0224e3db5e..43f763073afbf766905b18d3583b7da7e68d8a5b 100644 >--- a/JSTests/stress/op_lshift-VarVar.js >+++ b/JSTests/stress/op_lshift-VarVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_mod-ConstVar.js b/JSTests/stress/op_mod-ConstVar.js >index 6052bb2a76807b9cb9d790a5c981bdd87f270a6e..c0f2cb341e9c2945f1567d67f59136c06cbf4194 100644 >--- a/JSTests/stress/op_mod-ConstVar.js >+++ b/JSTests/stress/op_mod-ConstVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT("--timeoutMultiplier=1.5") > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_mod-VarConst.js b/JSTests/stress/op_mod-VarConst.js >index 3ecc67dc707f267eed221fd1ea8612fa9d419e76..68303fbfbbb01ff1cc44cc90ff4874d07ab2ef76 100644 >--- a/JSTests/stress/op_mod-VarConst.js >+++ b/JSTests/stress/op_mod-VarConst.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT("--timeoutMultiplier=1.5") > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_mod-VarVar.js b/JSTests/stress/op_mod-VarVar.js >index 1f09be897ccb4939df3fe339350b8cedaf2cd8e3..29bdccba4fc6571fcb16932aa6148aaf5e94bc91 100644 >--- a/JSTests/stress/op_mod-VarVar.js >+++ b/JSTests/stress/op_mod-VarVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT("--timeoutMultiplier=1.5") > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_mul-ConstVar.js b/JSTests/stress/op_mul-ConstVar.js >index f1ca9b55e7b0a1d6ba3559fdf7c71e1b7af07492..364144db3f8e76abb85dd941c08af3d6cf211f06 100644 >--- a/JSTests/stress/op_mul-ConstVar.js >+++ b/JSTests/stress/op_mul-ConstVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_mul-VarConst.js b/JSTests/stress/op_mul-VarConst.js >index 1de41fed68d5b9f4a52c1118774ead4b34936206..441b35cac57f87976aadaf3cf83d234eb2c44497 100644 >--- a/JSTests/stress/op_mul-VarConst.js >+++ b/JSTests/stress/op_mul-VarConst.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_mul-VarVar.js b/JSTests/stress/op_mul-VarVar.js >index fd9f1d0eebbb1f760dd6d67b8c6c270c3c374110..042fbb87424dfcdcabc9c973a47b31664fb0f43b 100644 >--- a/JSTests/stress/op_mul-VarVar.js >+++ b/JSTests/stress/op_mul-VarVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_rshift-ConstVar.js b/JSTests/stress/op_rshift-ConstVar.js >index 721856c2423dbd8c892d3680eb554bfefac55245..a34515b4d6bb28118aa605a298881fbd13a3e370 100644 >--- a/JSTests/stress/op_rshift-ConstVar.js >+++ b/JSTests/stress/op_rshift-ConstVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_rshift-VarConst.js b/JSTests/stress/op_rshift-VarConst.js >index b2bf2da248ae166a80c9e73ef318015c49a15d96..715aea6c51c7679925c4be9b99311c9919f20f5c 100644 >--- a/JSTests/stress/op_rshift-VarConst.js >+++ b/JSTests/stress/op_rshift-VarConst.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_rshift-VarVar.js b/JSTests/stress/op_rshift-VarVar.js >index a6a1bfc87a4196ea4f2747b33f706a0a4225de6a..f1f4166a55afbb8cd66f8ee4518ac33ca9cd8500 100644 >--- a/JSTests/stress/op_rshift-VarVar.js >+++ b/JSTests/stress/op_rshift-VarVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_sub-ConstVar.js b/JSTests/stress/op_sub-ConstVar.js >index f651df2e655f4244e4f768e3e451866c59010b5d..1f4e7b416f4d17553677df1a44eed652d1bcd454 100644 >--- a/JSTests/stress/op_sub-ConstVar.js >+++ b/JSTests/stress/op_sub-ConstVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_sub-VarConst.js b/JSTests/stress/op_sub-VarConst.js >index f590d0ed8e4852a9e11783fadb8dd738d4a96a8e..9e7ed1a900c700e66eec81671242d9fd882cc2f1 100644 >--- a/JSTests/stress/op_sub-VarConst.js >+++ b/JSTests/stress/op_sub-VarConst.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_sub-VarVar.js b/JSTests/stress/op_sub-VarVar.js >index f194861e6bdb81f906e0b8c697e40dadd068681f..3bb0b2d251b8f1aad10e12c0e48b161cb17de9d8 100644 >--- a/JSTests/stress/op_sub-VarVar.js >+++ b/JSTests/stress/op_sub-VarVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_urshift-ConstVar.js b/JSTests/stress/op_urshift-ConstVar.js >index d427c1f294b8718b7995925547de2788a67b926c..b136be38af5408447148b21d643a097b7c28f263 100644 >--- a/JSTests/stress/op_urshift-ConstVar.js >+++ b/JSTests/stress/op_urshift-ConstVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_urshift-VarConst.js b/JSTests/stress/op_urshift-VarConst.js >index 1bf063c5457088b5f494329da13f9677865f5bba..8c4308f50782688314971e59c6b535923e05cd2f 100644 >--- a/JSTests/stress/op_urshift-VarConst.js >+++ b/JSTests/stress/op_urshift-VarConst.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/op_urshift-VarVar.js b/JSTests/stress/op_urshift-VarVar.js >index bc22b997e692edb491607f29e55c4aa720634290..466d47b6ae2ef3af91044a046ac8ecf3beed2de6 100644 >--- a/JSTests/stress/op_urshift-VarVar.js >+++ b/JSTests/stress/op_urshift-VarVar.js >@@ -1,6 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" or $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > //@ runFTLNoCJIT > > // If all goes well, this test module will terminate silently. If not, it will print >diff --git a/JSTests/stress/sampling-profiler-richards.js b/JSTests/stress/sampling-profiler-richards.js >index 475063b37b66c7bc28aeaa4cb333934f5f7037f8..5ea41bd71496a336447de9b66c66f5f3d2302865 100644 >--- a/JSTests/stress/sampling-profiler-richards.js >+++ b/JSTests/stress/sampling-profiler-richards.js >@@ -1,6 +1,6 @@ > // [JSC] [Armv7] stress/sampling-profiler-richards.js crashes > // https://bugs.webkit.org/show_bug.cgi?id=190426 >-//@ skip if $architecture == "arm" and $hostOS == "linux" >+//@ skip if ["arm", "mips"].include?($architecture) and $hostOS == "linux" > //@ skip if $architecture == "x86" > //@ runDefault("--collectContinuously=1", "--useSamplingProfiler=1", "--collectSamplingProfilerDataForJSCShell=1") > >diff --git a/JSTests/stress/spread-forward-call-varargs-stack-overflow.js b/JSTests/stress/spread-forward-call-varargs-stack-overflow.js >index ec1339b5cac544753146d51c7e3e54f9719088d3..2b76c8740e053780ecb8376320f2ee47830d9f21 100644 >--- a/JSTests/stress/spread-forward-call-varargs-stack-overflow.js >+++ b/JSTests/stress/spread-forward-call-varargs-stack-overflow.js >@@ -1,7 +1,6 @@ > // FIXME: unskip when this is solved > // https://bugs.webkit.org/show_bug.cgi?id=191163 >-//@ skip if $architecture == "arm" >-//@ skip if $architecture == "x86" >+//@ skip if ["arm", "mips", "x86"].include?($architecture) > function assert(b) { > if (!b) > throw new Error("Bad assertion");
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192983
:
357953
|
358312
|
358503
|
358798
| 359728