diff --git a/qtwebengine-everywhere-src-5.10.0-no-sse2.patch b/qtwebengine-everywhere-src-5.10.0-no-sse2.patch index 3198c85..f0995ce 100644 --- a/qtwebengine-everywhere-src-5.10.0-no-sse2.patch +++ b/qtwebengine-everywhere-src-5.10.0-no-sse2.patch @@ -25691,8 +25691,8 @@ diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/fra +#endif // V8_X87_FRAMES_X87_H_ diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/interface-descriptors-x87.cc qtwebengine-everywhere-src-5.10.0-no-sse2/src/3rdparty/chromium/v8/src/x87/interface-descriptors-x87.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/interface-descriptors-x87.cc 1970-01-01 01:00:00.000000000 +0100 -+++ qtwebengine-everywhere-src-5.10.0-no-sse2/src/3rdparty/chromium/v8/src/x87/interface-descriptors-x87.cc 2017-12-28 03:38:40.380712871 +0100 -@@ -0,0 +1,375 @@ ++++ qtwebengine-everywhere-src-5.10.0-no-sse2/src/3rdparty/chromium/v8/src/x87/interface-descriptors-x87.cc 2017-12-29 01:59:03.000000000 +0100 +@@ -0,0 +1,450 @@ +// Copyright 2012 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. @@ -25851,11 +25851,79 @@ diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/int + data->InitializePlatformSpecific(arraysize(registers), registers); +} + ++void CallVarargsDescriptor::InitializePlatformSpecific( ++ CallInterfaceDescriptorData* data) { ++ // eax : number of arguments (on the stack, not including receiver) ++ // edi : the target to call ++ // ebx : arguments list (FixedArray) ++ // ecx : arguments list length (untagged) ++ Register registers[] = {edi, eax, ebx, ecx}; ++ data->InitializePlatformSpecific(arraysize(registers), registers); ++} ++ +void CallForwardVarargsDescriptor::InitializePlatformSpecific( + CallInterfaceDescriptorData* data) { ++ // eax : number of arguments + // ecx : start index (to support rest parameters) + // edi : the target to call -+ Register registers[] = {edi, ecx}; ++ Register registers[] = {edi, eax, ecx}; ++ data->InitializePlatformSpecific(arraysize(registers), registers); ++} ++ ++void CallWithSpreadDescriptor::InitializePlatformSpecific( ++ CallInterfaceDescriptorData* data) { ++ // eax : number of arguments (on the stack, not including receiver) ++ // edi : the target to call ++ // ebx : the object to spread ++ Register registers[] = {edi, eax, ebx}; ++ data->InitializePlatformSpecific(arraysize(registers), registers); ++} ++ ++void CallWithArrayLikeDescriptor::InitializePlatformSpecific( ++ CallInterfaceDescriptorData* data) { ++ // edi : the target to call ++ // ebx : the arguments list ++ Register registers[] = {edi, ebx}; ++ data->InitializePlatformSpecific(arraysize(registers), registers); ++} ++ ++void ConstructVarargsDescriptor::InitializePlatformSpecific( ++ CallInterfaceDescriptorData* data) { ++ // eax : number of arguments (on the stack, not including receiver) ++ // edi : the target to call ++ // edx : the new target ++ // ebx : arguments list (FixedArray) ++ // ecx : arguments list length (untagged) ++ Register registers[] = {edi, edx, eax, ebx, ecx}; ++ data->InitializePlatformSpecific(arraysize(registers), registers); ++} ++ ++void ConstructForwardVarargsDescriptor::InitializePlatformSpecific( ++ CallInterfaceDescriptorData* data) { ++ // eax : number of arguments ++ // edx : the new target ++ // ecx : start index (to support rest parameters) ++ // edi : the target to call ++ Register registers[] = {edi, edx, eax, ecx}; ++ data->InitializePlatformSpecific(arraysize(registers), registers); ++} ++ ++void ConstructWithSpreadDescriptor::InitializePlatformSpecific( ++ CallInterfaceDescriptorData* data) { ++ // eax : number of arguments (on the stack, not including receiver) ++ // edi : the target to call ++ // edx : the new target ++ // ebx : the object to spread ++ Register registers[] = {edi, edx, eax, ebx}; ++ data->InitializePlatformSpecific(arraysize(registers), registers); ++} ++ ++void ConstructWithArrayLikeDescriptor::InitializePlatformSpecific( ++ CallInterfaceDescriptorData* data) { ++ // edi : the target to call ++ // edx : the new target ++ // ebx : the arguments list ++ Register registers[] = {edi, edx, ebx}; + data->InitializePlatformSpecific(arraysize(registers), registers); +} + @@ -25893,6 +25961,13 @@ diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/int + data->InitializePlatformSpecific(0, nullptr, nullptr); +} + ++void ArrayConstructorDescriptor::InitializePlatformSpecific( ++ CallInterfaceDescriptorData* data) { ++ // kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite ++ Register registers[] = {edi, edx, eax, ebx}; ++ data->InitializePlatformSpecific(arraysize(registers), registers, NULL); ++} ++ +void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( + CallInterfaceDescriptorData* data) { + // register state @@ -26070,8 +26145,8 @@ diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/int +#endif // V8_TARGET_ARCH_X87 diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/macro-assembler-x87.cc qtwebengine-everywhere-src-5.10.0-no-sse2/src/3rdparty/chromium/v8/src/x87/macro-assembler-x87.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/macro-assembler-x87.cc 1970-01-01 01:00:00.000000000 +0100 -+++ qtwebengine-everywhere-src-5.10.0-no-sse2/src/3rdparty/chromium/v8/src/x87/macro-assembler-x87.cc 2017-12-28 05:21:52.412245739 +0100 -@@ -0,0 +1,2572 @@ ++++ qtwebengine-everywhere-src-5.10.0-no-sse2/src/3rdparty/chromium/v8/src/x87/macro-assembler-x87.cc 2017-12-29 02:00:17.837154172 +0100 +@@ -0,0 +1,2584 @@ +// Copyright 2012 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. @@ -26863,6 +26938,18 @@ diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/mac +} + + ++void MacroAssembler::AssertFixedArray(Register object) { ++ if (emit_debug_code()) { ++ test(object, Immediate(kSmiTagMask)); ++ Check(not_equal, kOperandIsASmiAndNotAFixedArray); ++ Push(object); ++ CmpObjectType(object, FIXED_ARRAY_TYPE, object); ++ Pop(object); ++ Check(equal, kOperandIsNotAFixedArray); ++ } ++} ++ ++ +void MacroAssembler::AssertFunction(Register object) { + if (emit_debug_code()) { + test(object, Immediate(kSmiTagMask)); @@ -28646,8 +28733,8 @@ diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/mac +#endif // V8_TARGET_ARCH_X87 diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/macro-assembler-x87.h qtwebengine-everywhere-src-5.10.0-no-sse2/src/3rdparty/chromium/v8/src/x87/macro-assembler-x87.h --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/macro-assembler-x87.h 1970-01-01 01:00:00.000000000 +0100 -+++ qtwebengine-everywhere-src-5.10.0-no-sse2/src/3rdparty/chromium/v8/src/x87/macro-assembler-x87.h 2017-12-28 03:27:27.352808166 +0100 -@@ -0,0 +1,920 @@ ++++ qtwebengine-everywhere-src-5.10.0-no-sse2/src/3rdparty/chromium/v8/src/x87/macro-assembler-x87.h 2017-12-29 01:59:56.457468424 +0100 +@@ -0,0 +1,923 @@ +// Copyright 2012 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. @@ -29258,6 +29345,9 @@ diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/x87/mac + // Abort execution if argument is a smi, enabled via --debug-code. + void AssertNotSmi(Register object); + ++ // Abort execution if argument is not a FixedArray, enabled via --debug-code. ++ void AssertFixedArray(Register object); ++ + // Abort execution if argument is not a JSFunction, enabled via --debug-code. + void AssertFunction(Register object); +