File v8-assume-x86-64-v3-support.patch of Package nodejs-electron.v3

Remove runtime checks in V8 for using new CPU features, and allow using them in the snapshot_blob which gets compiled by V8 during build.

--- src/v8/src/codegen/cpu-features.h.orig
+++ src/v8/src/codegen/cpu-features.h
@@ -112,6 +112,18 @@
   }
 
   static bool IsSupported(CpuFeature f) {
+    if(f == SSE4_2) return true;
+    if(f == SSE4_1) return true;
+    if(f == SSSE3) return true;
+    if(f == SSE3) return true;
+    if(f == SAHF) return true;
+    if(f == AVX) return true;
+    if(f == AVX2) return true;
+    if(f == FMA3) return true;
+    if(f == BMI1) return true;
+    if(f == BMI2) return true;
+    if(f == LZCNT) return true;
+    if(f == POPCNT) return true;
     return (supported_ & (1u << f)) != 0;
   }
 
--- src/v8/src/base/cpu.h.orig
+++ src/v8/src/base/cpu.h
@@ -83,23 +83,23 @@
   static const int kUnknownCacheLineSize = 0;
 
   // x86 features
-  bool has_cmov() const { return has_cmov_; }
-  bool has_sahf() const { return has_sahf_; }
-  bool has_mmx() const { return has_mmx_; }
-  bool has_sse() const { return has_sse_; }
-  bool has_sse2() const { return has_sse2_; }
-  bool has_sse3() const { return has_sse3_; }
-  bool has_ssse3() const { return has_ssse3_; }
-  bool has_sse41() const { return has_sse41_; }
-  bool has_sse42() const { return has_sse42_; }
-  bool has_osxsave() const { return has_osxsave_; }
-  bool has_avx() const { return has_avx_; }
-  bool has_avx2() const { return has_avx2_; }
-  bool has_fma3() const { return has_fma3_; }
-  bool has_bmi1() const { return has_bmi1_; }
-  bool has_bmi2() const { return has_bmi2_; }
-  bool has_lzcnt() const { return has_lzcnt_; }
-  bool has_popcnt() const { return has_popcnt_; }
+  bool has_cmov() const { return true; }
+  bool has_sahf() const { return true; }
+  bool has_mmx() const { return true; }
+  bool has_sse() const { return true; }
+  bool has_sse2() const { return true; }
+  bool has_sse3() const { return true; }
+  bool has_ssse3() const { return true; }
+  bool has_sse41() const { return true; }
+  bool has_sse42() const { return true; }
+  bool has_osxsave() const { return true; }
+  bool has_avx() const { return true; }
+  bool has_avx2() const { return true; }
+  bool has_fma3() const { return true; }
+  bool has_bmi1() const { return true; }
+  bool has_bmi2() const { return true; }
+  bool has_lzcnt() const { return true; }
+  bool has_popcnt() const { return true; }
   bool is_atom() const { return is_atom_; }
   bool has_cetss() const { return has_cetss_; }
   bool has_non_stop_time_stamp_counter() const {
openSUSE Build Service is sponsored by