WebKit Bugzilla
Attachment 358683 Details for
Bug 192496
: Enable DFG on ARM/Linux again
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-192496-20190109105423.patch (text/plain), 19.77 KB, created by
Dominik Inführ
on 2019-01-09 01:54:25 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Dominik Inführ
Created:
2019-01-09 01:54:25 PST
Size:
19.77 KB
patch
obsolete
>Subversion Revision: 239766 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 33eaaade32081f91f2f31ddf2f90289e681197b7..e19264064130fb5f53c3b3182e1ce4be52bc212d 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,25 @@ >+2019-01-09 Dominik Infuehr <dinfuehr@igalia.com> >+ >+ Enable DFG on ARM/Linux again >+ https://bugs.webkit.org/show_bug.cgi?id=192496 >+ >+ Reviewed by Yusuke Suzuki. >+ >+ After changing the bytecode format DFG was disabled on all 32-bit >+ architectures. Enable DFG now again on ARM/Linux. Do not use register >+ r11 in compiled DFG mode since it is already used in LLInt as metadataTable >+ register. Also clean up code since ARM traditional isn't supported anymore. >+ >+ * dfg/DFGOSRExit.cpp: >+ (JSC::DFG::restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer): >+ (JSC::DFG::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer): >+ * jit/CallFrameShuffler.cpp: >+ (JSC::CallFrameShuffler::CallFrameShuffler): >+ * jit/GPRInfo.h: >+ (JSC::GPRInfo::toIndex): >+ * llint/LowLevelInterpreter32_64.asm: >+ * offlineasm/arm.rb: >+ > 2019-01-08 Yusuke Suzuki <yusukesuzuki@slowstart.org> > > Array.prototype.flat/flatMap have a minor bug in ArraySpeciesCreate >diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog >index f8a87b09bcf2cf54fbc89824e6290da7780b9418..a51676aa4a6aa35ee81a9d5fe91d2d2f3807f308 100644 >--- a/Source/WTF/ChangeLog >+++ b/Source/WTF/ChangeLog >@@ -1,3 +1,15 @@ >+2019-01-09 Dominik Infuehr <dinfuehr@igalia.com> >+ >+ Enable DFG on ARM/Linux again >+ https://bugs.webkit.org/show_bug.cgi?id=192496 >+ >+ Reviewed by Yusuke Suzuki. >+ >+ After changing the bytecode format DFG was disabled on all 32-bit >+ architectures. Enable DFG now again on ARM/Linux. >+ >+ * wtf/Platform.h: >+ > 2019-01-07 David Kilzer <ddkilzer@apple.com> > > Prefer RetainPtr<NSObject> to RetainPtr<NSObject *> >diff --git a/Source/JavaScriptCore/assembler/AbstractMacroAssembler.h b/Source/JavaScriptCore/assembler/AbstractMacroAssembler.h >index 137854066d01b5ef8a7f53027c21d912de9f24a4..f9d0030a21ef41f049c878e0ce25d001dd161ac4 100644 >--- a/Source/JavaScriptCore/assembler/AbstractMacroAssembler.h >+++ b/Source/JavaScriptCore/assembler/AbstractMacroAssembler.h >@@ -749,7 +749,7 @@ public: > m_jumps.append(other.m_jumps.begin(), other.m_jumps.size()); > } > >- bool empty() >+ bool empty() const > { > return !m_jumps.size(); > } >diff --git a/Source/JavaScriptCore/dfg/DFGOSRExit.cpp b/Source/JavaScriptCore/dfg/DFGOSRExit.cpp >index 069cf85a9ff38baa364c78ab86fb4d19de93ec6d..6d464f3dfb8d24beae17e881a8dbd09cc1a8efc3 100644 >--- a/Source/JavaScriptCore/dfg/DFGOSRExit.cpp >+++ b/Source/JavaScriptCore/dfg/DFGOSRExit.cpp >@@ -75,8 +75,6 @@ static JSValue jsValueFor(CPUState& cpu, JSValueSource source) > > #if NUMBER_OF_CALLEE_SAVES_REGISTERS > 0 > >-static_assert(is64Bit(), "we only support callee save registers on 64-bit"); >- > // Based on AssemblyHelpers::emitRestoreCalleeSavesFor(). > static void restoreCalleeSavesFor(Context& context, CodeBlock* codeBlock) > { >@@ -137,8 +135,14 @@ static void restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer(Context& context > size_t uintptrOffset = entry.offset() / sizeof(UCPURegister); > if (entry.reg().isGPR()) > context.gpr(entry.reg().gpr()) = calleeSaveBuffer[uintptrOffset]; >- else >+ else { >+#if USE(JSVALUE64) > context.fpr(entry.reg().fpr()) = bitwise_cast<double>(calleeSaveBuffer[uintptrOffset]); >+#else >+ // FIXME: <https://webkit.org/b/193275> support callee-saved floating point registers on 32-bit architectures >+ RELEASE_ASSERT_NOT_REACHED(); >+#endif >+ } > } > } > >@@ -161,8 +165,14 @@ static void copyCalleeSavesToVMEntryFrameCalleeSavesBuffer(Context& context) > continue; > if (entry.reg().isGPR()) > stack.set(calleeSaveBuffer, entry.offset(), context.gpr<UCPURegister>(entry.reg().gpr())); >- else >+ else { >+#if USE(JSVALUE64) > stack.set(calleeSaveBuffer, entry.offset(), context.fpr<UCPURegister>(entry.reg().fpr())); >+#else >+ // FIXME: <https://webkit.org/b/193275> support callee-saved floating point registers on 32-bit architectures >+ RELEASE_ASSERT_NOT_REACHED(); >+#endif >+ } > } > } > >diff --git a/Source/JavaScriptCore/jit/CallFrameShuffler.cpp b/Source/JavaScriptCore/jit/CallFrameShuffler.cpp >index 6df81e1a9cb89d66569f57cc90b78d4660235782..81c3e2d4b8a7bec0a062dbf21be20c5266a898ae 100644 >--- a/Source/JavaScriptCore/jit/CallFrameShuffler.cpp >+++ b/Source/JavaScriptCore/jit/CallFrameShuffler.cpp >@@ -51,8 +51,14 @@ CallFrameShuffler::CallFrameShuffler(CCallHelpers& jit, const CallFrameShuffleDa > m_lockedRegisters.clear(GPRInfo::toRegister(i)); > for (unsigned i = FPRInfo::numberOfRegisters; i--; ) > m_lockedRegisters.clear(FPRInfo::toRegister(i)); >- // ... as well as the runtime registers. >+ >+#if USE(JSVALUE64) >+ // ... as well as the runtime registers on 64-bit architectures. >+ // However do not use these registers on 32-bit architectures since >+ // saving and restoring callee-saved registers in CallFrameShuffler isn't supported >+ // on 32-bit architectures yet. > m_lockedRegisters.exclude(RegisterSet::vmCalleeSaveRegisters()); >+#endif > > ASSERT(!data.callee.isInJSStack() || data.callee.virtualRegister().isLocal()); > addNew(VirtualRegister(CallFrameSlot::callee), data.callee); >diff --git a/Source/JavaScriptCore/jit/GPRInfo.h b/Source/JavaScriptCore/jit/GPRInfo.h >index 1a0a5c9742b4db7cdea8c8965536c30e9b9fa765..175d53088fc75d1a83df17a6d7a259efd4520fc9 100644 >--- a/Source/JavaScriptCore/jit/GPRInfo.h >+++ b/Source/JavaScriptCore/jit/GPRInfo.h >@@ -526,13 +526,9 @@ public: > > #endif // CPU(X86_64) > >-#if CPU(ARM) >-#define NUMBER_OF_ARGUMENT_REGISTERS 4u > #if CPU(ARM_THUMB2) >+#define NUMBER_OF_ARGUMENT_REGISTERS 4u > #define NUMBER_OF_CALLEE_SAVES_REGISTERS 1u >-#else >-#define NUMBER_OF_CALLEE_SAVES_REGISTERS 0u >-#endif > > class GPRInfo { > public: >@@ -548,11 +544,7 @@ public: > static const GPRReg regT4 = ARMRegisters::r8; > static const GPRReg regT5 = ARMRegisters::r9; > static const GPRReg regT6 = ARMRegisters::r10; >-#if CPU(ARM_THUMB2) >- static const GPRReg regT7 = ARMRegisters::r11; >-#else >- static const GPRReg regT7 = ARMRegisters::r7; >-#endif >+ static const GPRReg regT7 = ARMRegisters::r5; > static const GPRReg regT8 = ARMRegisters::r4; > static const GPRReg regCS0 = ARMRegisters::r11; > // These registers match the baseline JIT. >@@ -587,11 +579,7 @@ public: > ASSERT(reg != InvalidGPRReg); > ASSERT(static_cast<int>(reg) < 16); > static const unsigned indexForRegister[16] = >-#if CPU(ARM_THUMB2) >- { 0, 1, 2, 3, 8, InvalidIndex, InvalidIndex, InvalidIndex, 4, 5, 6, 7, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex }; >-#else >- { 0, 1, 2, 3, 8, InvalidIndex, InvalidIndex, 7, 4, 5, 6, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex }; >-#endif >+ { 0, 1, 2, 3, 8, 7, InvalidIndex, InvalidIndex, 4, 5, 6, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex }; > unsigned result = indexForRegister[reg]; > return result; > } >diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm >index 05b3a69556d7da2b44f3c5ab6fe1a3bcbe150e44..a505a557aa6dc4b6ed7b034a67d34b60956d8c6f 100644 >--- a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm >+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm >@@ -2012,6 +2012,11 @@ end) > > > op(llint_throw_from_slow_path_trampoline, macro() >+ loadp Callee[cfr], t1 >+ andp MarkedBlockMask, t1 >+ loadp MarkedBlockFooterOffset + MarkedBlock::Footer::m_vm[t1], t1 >+ copyCalleeSavesToVMEntryFrameCalleeSavesBuffer(t1, t2) >+ > callSlowPath(_llint_slow_path_handle_exception) > > # When throwing from the interpreter (i.e. throwing from LLIntSlowPaths), so >@@ -2020,7 +2025,6 @@ op(llint_throw_from_slow_path_trampoline, macro() > loadp Callee[cfr], t1 > andp MarkedBlockMask, t1 > loadp MarkedBlockFooterOffset + MarkedBlock::Footer::m_vm[t1], t1 >- copyCalleeSavesToVMEntryFrameCalleeSavesBuffer(t1, t2) > jmp VM::targetMachinePCForThrow[t1] > end) > >diff --git a/Source/JavaScriptCore/offlineasm/arm.rb b/Source/JavaScriptCore/offlineasm/arm.rb >index d78b82eef81fe3c61930f0f4cff6e0a6d386b4cd..85e0b8ec5b2f6a8960362a3174c615bd0b554032 100644 >--- a/Source/JavaScriptCore/offlineasm/arm.rb >+++ b/Source/JavaScriptCore/offlineasm/arm.rb >@@ -34,7 +34,7 @@ require "risc" > # x2 => t2, a2, r2 > # x3 => t3, a3, r3 > # x6 => (callee-save scratch) >-# x7 => cfr (ARMv7 only) >+# x7 => cfr > # x8 => t4 (callee-save) > # x9 => t5 (callee-save) > # x10 => (callee-save scratch) >@@ -55,15 +55,6 @@ require "risc" > # d6 => (scratch) > # d7 => (scratch) > >-def isARMv7 >- case $activeBackend >- when "ARMv7" >- true >- else >- raise "bad value for $activeBackend: #{$activeBackend}" >- end >-end >- > class Node > def armSingle > doubleOperand = armOperand >@@ -91,13 +82,11 @@ def armMoveImmediate(value, register) > $asm.puts "mov #{register.armOperand}, \##{value}" > elsif (~value) >= 0 && (~value) < 256 > $asm.puts "mvn #{register.armOperand}, \##{~value}" >- elsif isARMv7 >+ else > $asm.puts "movw #{register.armOperand}, \##{value & 0xffff}" > if (value & 0xffff0000) != 0 > $asm.puts "movt #{register.armOperand}, \##{(value >> 16) & 0xffff}" > end >- else >- $asm.puts "ldr #{register.armOperand}, =#{value}" > end > end > >@@ -119,7 +108,7 @@ class RegisterID > when "t5" > "r9" > when "cfr" >- isARMv7 ? "r7" : "r11" >+ "r7" > when "csr0" > "r11" > when "lr" >@@ -609,9 +598,6 @@ class Instruction > else > $asm.puts "mov pc, #{operands[0].armOperand}" > end >- if not isARMv7 and not isARMv7Traditional >- $asm.puts ".ltorg" >- end > when "call" > if operands[0].label? > if OS_DARWIN >@@ -692,7 +678,7 @@ class Instruction > $asm.puts "add #{dest.armOperand}, pc, #{dest.armOperand}" > $asm.puts "ldr #{dest.armOperand}, [#{dest.armOperand}, #{temp.armOperand}]" > >- offset = $activeBackend == "ARMv7" ? 4 : 8 >+ offset = 4 > > $asm.deferNextLabelAction { > $asm.puts "#{gotLabel}:" >diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h >index 9cfc8c14bba0f158c9806045152d0b39187f4245..ffd8f6ad2bbc3bfb8292b07db28278a822d4acac 100644 >--- a/Source/WTF/wtf/Platform.h >+++ b/Source/WTF/wtf/Platform.h >@@ -760,9 +760,6 @@ > #if !defined(ENABLE_JIT) > #define ENABLE_JIT 1 > #endif >-/* But still disable DFG for now. */ >-#undef ENABLE_DFG_JIT >-#define ENABLE_DFG_JIT 0 > #else > /* Disable JIT and force C_LOOP on all 32bit-architectures but ARMv7-Thumb2/Linux. */ > #undef ENABLE_JIT >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index f21329fea6d2c2af3e1b0d42ccb8e22a24adbc23..5d9a351bca2a2ab1c6f09f0861bf97743e8ed85c 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,16 @@ >+2019-01-09 Dominik Infuehr <dinfuehr@igalia.com> >+ >+ Enable DFG on ARM/Linux again >+ https://bugs.webkit.org/show_bug.cgi?id=192496 >+ >+ Reviewed by Yusuke Suzuki. >+ >+ After changing the bytecode format DFG was disabled on all 32-bit >+ architectures. Enable DFG now again on ARM/Linux. Run again JIT-tests >+ on ARM by default. >+ >+ * Scripts/run-jsc-stress-tests: >+ > 2019-01-08 Dean Jackson <dino@apple.com> > > Blob references for System Previews don't get a correct file extension >diff --git a/Tools/Scripts/run-jsc-stress-tests b/Tools/Scripts/run-jsc-stress-tests >index 35a9eb1c55e102b52dd4557023d92d1603e0c5a1..62fa70fc78088ccea9295c29d46401f975fca18c 100755 >--- a/Tools/Scripts/run-jsc-stress-tests >+++ b/Tools/Scripts/run-jsc-stress-tests >@@ -449,7 +449,7 @@ $hostOS = determineOS unless $hostOS > $architecture = determineArchitecture unless $architecture > $isFTLPlatform = !($architecture == "x86" || $architecture == "arm" || $architecture == "mips" || $hostOS == "windows") > >-if ["arm", "mips", "x86"].include?($architecture) >+if ["mips", "x86"].include?($architecture) > # The JIT is temporarily disabled on these platforms since > # https://trac.webkit.org/changeset/237547 > $jitTests = false >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 3ae28790a575f01bce50ec6f82702161ebb24c41..e7fc0049dcaef28c87fd9939665fd09127841295 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,24 @@ >+2019-01-09 Dominik Infuehr <dinfuehr@igalia.com> >+ >+ Enable DFG on ARM/Linux again >+ https://bugs.webkit.org/show_bug.cgi?id=192496 >+ >+ Reviewed by Yusuke Suzuki. >+ >+ After changing the bytecode format DFG was disabled on all 32-bit >+ architectures. Enable DFG now again on ARM/Linux. Disable tests that >+ run out of executable memory with LLInt disabled. >+ >+ * js/script-tests/dfg-float32array.js: >+ * js/script-tests/dfg-float64array.js: >+ * js/script-tests/dfg-int16array.js: >+ * js/script-tests/dfg-int32array-overflow-values.js: >+ * js/script-tests/dfg-int32array.js: >+ * js/script-tests/dfg-int8array.js: >+ * js/script-tests/dfg-uint16array.js: >+ * js/script-tests/dfg-uint32array.js: >+ * js/script-tests/dfg-uint8array.js: >+ > 2019-01-08 Joseph Pecoraro <pecoraro@apple.com> > > ASSERT when paused in debugger and console evaluation causes exception >diff --git a/LayoutTests/js/script-tests/dfg-float32array.js b/LayoutTests/js/script-tests/dfg-float32array.js >index 4211465d6de2322a67750abb0e5540c570dfafe3..1fef87726cce52b8579ba199ed01feaf7e8b66fa 100644 >--- a/LayoutTests/js/script-tests/dfg-float32array.js >+++ b/LayoutTests/js/script-tests/dfg-float32array.js >@@ -1,4 +1,4 @@ >-//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin" >+//@ noNoLLIntRunLayoutTest if $architecture == "arm" > > description( > "This tests that float32 arrays work in the DFG." >diff --git a/LayoutTests/js/script-tests/dfg-float64array.js b/LayoutTests/js/script-tests/dfg-float64array.js >index d58990e4b641056b8094eea05f7443aa3454d4d3..b712bd2258233d54ad3bfea052636979e54788ca 100644 >--- a/LayoutTests/js/script-tests/dfg-float64array.js >+++ b/LayoutTests/js/script-tests/dfg-float64array.js >@@ -1,4 +1,4 @@ >-//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin" >+//@ noNoLLIntRunLayoutTest if $architecture == "arm" > > description( > "This tests that float64 arrays work in the DFG." >diff --git a/LayoutTests/js/script-tests/dfg-int16array.js b/LayoutTests/js/script-tests/dfg-int16array.js >index 3e1efc3a0b918df1eb1fb48304a8d514e11d1793..19ad96fc0d62a017ce2604450c1fdb0e03901f2d 100644 >--- a/LayoutTests/js/script-tests/dfg-int16array.js >+++ b/LayoutTests/js/script-tests/dfg-int16array.js >@@ -1,4 +1,4 @@ >-//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin" >+//@ noNoLLIntRunLayoutTest if $architecture == "arm" > > description( > "This tests that int16 arrays work in the DFG." >diff --git a/LayoutTests/js/script-tests/dfg-int32array-overflow-values.js b/LayoutTests/js/script-tests/dfg-int32array-overflow-values.js >index 2edd518a8811d53fa1e147f8d2c11569987fabf3..bf551c3e912196aa3d8acee2728ea71f23a2ce2e 100644 >--- a/LayoutTests/js/script-tests/dfg-int32array-overflow-values.js >+++ b/LayoutTests/js/script-tests/dfg-int32array-overflow-values.js >@@ -1,4 +1,4 @@ >-//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin" >+//@ noNoLLIntRunLayoutTest if $architecture == "arm" > > description( > "This tests that int32 arrays work in the DFG." >diff --git a/LayoutTests/js/script-tests/dfg-int32array.js b/LayoutTests/js/script-tests/dfg-int32array.js >index 490c6a3da86fa86dcada83a3ca157759b450b3af..66271290e1aa1df9b764cd4a48b74e9b622ee69d 100644 >--- a/LayoutTests/js/script-tests/dfg-int32array.js >+++ b/LayoutTests/js/script-tests/dfg-int32array.js >@@ -1,4 +1,4 @@ >-//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin" >+//@ noNoLLIntRunLayoutTest if $architecture == "arm" > > description( > "This tests that int32 arrays work in the DFG." >diff --git a/LayoutTests/js/script-tests/dfg-int8array.js b/LayoutTests/js/script-tests/dfg-int8array.js >index feb83e3f0fde205d61582e3b183cc0728daaebcf..05f69e36e8867e4bcc3b1b8c09ba44b06ae31049 100644 >--- a/LayoutTests/js/script-tests/dfg-int8array.js >+++ b/LayoutTests/js/script-tests/dfg-int8array.js >@@ -1,4 +1,4 @@ >-//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin" >+//@ noNoLLIntRunLayoutTest if $architecture == "arm" > > description( > "This tests that int8 arrays work in the DFG." >diff --git a/LayoutTests/js/script-tests/dfg-uint16array.js b/LayoutTests/js/script-tests/dfg-uint16array.js >index ba53b7b0bbf36ffac0239f3279ae6c15a3cceed6..234e897affc63f273c95baa3ef6ef5fe5524daac 100644 >--- a/LayoutTests/js/script-tests/dfg-uint16array.js >+++ b/LayoutTests/js/script-tests/dfg-uint16array.js >@@ -1,4 +1,4 @@ >-//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin" >+//@ noNoLLIntRunLayoutTest if $architecture == "arm" > > description( > "This tests that uint16 arrays work in the DFG." >diff --git a/LayoutTests/js/script-tests/dfg-uint32array.js b/LayoutTests/js/script-tests/dfg-uint32array.js >index f1c48ab5db3175d6c35bcc41ee0e9e491d703b9c..bea38e00e2cf6671683978485a2f1be370dbd50e 100644 >--- a/LayoutTests/js/script-tests/dfg-uint32array.js >+++ b/LayoutTests/js/script-tests/dfg-uint32array.js >@@ -1,4 +1,4 @@ >-//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin" >+//@ noNoLLIntRunLayoutTest if $architecture == "arm" > > description( > "This tests that uint32 arrays work in the DFG." >diff --git a/LayoutTests/js/script-tests/dfg-uint8array.js b/LayoutTests/js/script-tests/dfg-uint8array.js >index 95e8bcbc89339801243dc22b0c45ccc38f873041..339d85554e75b820cc2a3c1a9eedae3d9b99b9e1 100644 >--- a/LayoutTests/js/script-tests/dfg-uint8array.js >+++ b/LayoutTests/js/script-tests/dfg-uint8array.js >@@ -1,4 +1,4 @@ >-//@ noNoLLIntRunLayoutTest if $architecture == "arm" and $hostOS == "darwin" >+//@ noNoLLIntRunLayoutTest if $architecture == "arm" > > description( > "This tests that uint8 arrays work in the DFG." >diff --git a/JSTests/ChangeLog b/JSTests/ChangeLog >index e5a31714c8cf048efb04058b479bda6c43494550..5890ebb505a2f0572ed898f6ebd30ee063995e76 100644 >--- a/JSTests/ChangeLog >+++ b/JSTests/ChangeLog >@@ -1,3 +1,15 @@ >+2019-01-09 Dominik Infuehr <dinfuehr@igalia.com> >+ >+ Enable DFG on ARM/Linux again >+ https://bugs.webkit.org/show_bug.cgi?id=192496 >+ >+ Reviewed by Yusuke Suzuki. >+ >+ Test wasn't really skipped before moving the line with skip >+ to the top. >+ >+ * stress/regress-192717.js: >+ > 2019-01-08 Yusuke Suzuki <yusukesuzuki@slowstart.org> > > Array.prototype.flat/flatMap have a minor bug in ArraySpeciesCreate >diff --git a/JSTests/stress/regress-192717.js b/JSTests/stress/regress-192717.js >index 91a1ed81045f3a7d029715dfd41be02b464079f9..f941a85549be7ba11fdc5e002e3920a52e4e1012 100644 >--- a/JSTests/stress/regress-192717.js >+++ b/JSTests/stress/regress-192717.js >@@ -1,5 +1,5 @@ >-//@ runDefault("--useLLInt=false", "--forceCodeBlockToJettisonDueToOldAge=true", "--maxPerThreadStackUsage=200000", "--exceptionStackTraceLimit=1", "--defaultErrorStackTraceLimit=1") > //@ skip if $memoryLimited or $buildType == "debug" >+//@ runDefault("--useLLInt=false", "--forceCodeBlockToJettisonDueToOldAge=true", "--maxPerThreadStackUsage=200000", "--exceptionStackTraceLimit=1", "--defaultErrorStackTraceLimit=1") > > let foo = 'let a'; > for (let i = 0; i < 400000; i++)
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 192496
:
356799
|
356800
|
357221
|
358603
| 358683