summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiawen Geng <technicalcute@gmail.com>2020-10-14 12:22:20 +0000
committerMichaƫl Zasso <targos@protonmail.com>2021-02-25 00:15:28 +0100
commit70f928c6a67927b8e671f81cba95cf0582751b2c (patch)
treeede36400ea9e280b757207f92eaf5486aa707c14
parentb045e395137fb8d919b2ea7fedda2ccd612fefae (diff)
downloadnode-new-70f928c6a67927b8e671f81cba95cf0582751b2c.tar.gz
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com>
-rw-r--r--common.gypi2
-rw-r--r--deps/v8/src/objects/fixed-array-inl.h2
-rw-r--r--deps/v8/src/objects/fixed-array.h11
-rw-r--r--deps/v8/src/objects/tagged-field.h2
4 files changed, 15 insertions, 2 deletions
diff --git a/common.gypi b/common.gypi
index 2bcceacbb5..79a22ac0fa 100644
--- a/common.gypi
+++ b/common.gypi
@@ -36,7 +36,7 @@
# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
- 'v8_embedder_string': '-node.6',
+ 'v8_embedder_string': '-node.7',
##### V8 defaults for Node.js #####
diff --git a/deps/v8/src/objects/fixed-array-inl.h b/deps/v8/src/objects/fixed-array-inl.h
index e4b4609119..c227942112 100644
--- a/deps/v8/src/objects/fixed-array-inl.h
+++ b/deps/v8/src/objects/fixed-array-inl.h
@@ -88,6 +88,7 @@ bool FixedArray::is_the_hole(Isolate* isolate, int index) {
return get(isolate, index).IsTheHole(isolate);
}
+#if !defined(_WIN32) || defined(_WIN64)
void FixedArray::set(int index, Smi value) {
DCHECK_NE(map(), GetReadOnlyRoots().fixed_cow_array_map());
DCHECK_LT(static_cast<unsigned>(index), static_cast<unsigned>(length()));
@@ -95,6 +96,7 @@ void FixedArray::set(int index, Smi value) {
int offset = OffsetOfElementAt(index);
RELAXED_WRITE_FIELD(*this, offset, value);
}
+#endif
void FixedArray::set(int index, Object value) {
DCHECK_NE(GetReadOnlyRoots().fixed_cow_array_map(), map());
diff --git a/deps/v8/src/objects/fixed-array.h b/deps/v8/src/objects/fixed-array.h
index 564f82b736..a05c7d3abe 100644
--- a/deps/v8/src/objects/fixed-array.h
+++ b/deps/v8/src/objects/fixed-array.h
@@ -123,7 +123,18 @@ class FixedArray
inline bool is_the_hole(Isolate* isolate, int index);
// Setter that doesn't need write barrier.
+#if defined(_WIN32) && !defined(_WIN64)
+ inline void set(int index, Smi value) {
+ DCHECK_NE(map(), GetReadOnlyRoots().fixed_cow_array_map());
+ DCHECK_LT(static_cast<unsigned>(index), static_cast<unsigned>(length()));
+ DCHECK(Object(value).IsSmi());
+ int offset = OffsetOfElementAt(index);
+ RELAXED_WRITE_FIELD(*this, offset, value);
+ }
+#else
inline void set(int index, Smi value);
+#endif
+
// Setter with explicit barrier mode.
inline void set(int index, Object value, WriteBarrierMode mode);
diff --git a/deps/v8/src/objects/tagged-field.h b/deps/v8/src/objects/tagged-field.h
index 8560c54cc4..1c96cc9d92 100644
--- a/deps/v8/src/objects/tagged-field.h
+++ b/deps/v8/src/objects/tagged-field.h
@@ -48,7 +48,7 @@ class TaggedField : public AllStatic {
int offset = 0);
static inline void Relaxed_Store(HeapObject host, T value);
- static inline void Relaxed_Store(HeapObject host, int offset, T value);
+ static void Relaxed_Store(HeapObject host, int offset, T value);
static inline T Acquire_Load(HeapObject host, int offset = 0);
static inline T Acquire_Load(IsolateRoot isolate, HeapObject host,