Skip to content

Commit 34c215c

Browse files
deps: patch V8 to support compilation with MSVC
Co-Authored-By: Michaël Zasso <[email protected]> PR-URL: nodejs#54536 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Marco Ippolito <[email protected]> Reviewed-By: Richard Lau <[email protected]>
1 parent 67a2a64 commit 34c215c

File tree

5 files changed

+13
-9
lines changed

5 files changed

+13
-9
lines changed

common.gypi

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
# Reset this number to 0 on major V8 upgrades.
3939
# Increment by one for each non-official patch applied to deps/v8.
40-
'v8_embedder_string': '-node.3',
40+
'v8_embedder_string': '-node.4',
4141

4242
##### V8 defaults for Node.js #####
4343

deps/v8/src/compiler/js-heap-broker.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -864,7 +864,7 @@ ElementAccessFeedback const& JSHeapBroker::ProcessFeedbackMapsForElementAccess(
864864
Tagged<Map> transition_target;
865865

866866
// Don't generate elements kind transitions from stable maps.
867-
if (!map.is_stable()) {
867+
if (!map.is_stable() && possible_transition_targets.begin() != possible_transition_targets.end()) {
868868
// The lock is needed for UnusedPropertyFields (called deep inside
869869
// FindElementsKindTransitionedMap).
870870
MapUpdaterGuardIfNeeded mumd_scope(this);

deps/v8/src/execution/frames.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -1274,11 +1274,11 @@ class WasmFrame : public TypedFrame {
12741274
void Summarize(std::vector<FrameSummary>* frames) const override;
12751275

12761276
static WasmFrame* cast(StackFrame* frame) {
1277-
DCHECK(frame->is_wasm()
12781277
#ifdef V8_ENABLE_DRUMBRAKE
1279-
&& !frame->is_wasm_interpreter_entry()
1278+
DCHECK(frame->is_wasm() && !frame->is_wasm_interpreter_entry());
1279+
#else
1280+
DCHECK(frame->is_wasm());
12801281
#endif // V8_ENABLE_DRUMBRAKE
1281-
);
12821282
return static_cast<WasmFrame*>(frame);
12831283
}
12841284

deps/v8/src/objects/tagged-field.h

-2
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,10 @@ static_assert(sizeof(UnalignedDoubleMember) == sizeof(double));
121121
#define FLEXIBLE_ARRAY_MEMBER(Type, name) \
122122
using FlexibleDataReturnType = Type[0]; \
123123
FlexibleDataReturnType& name() { \
124-
static_assert(alignof(Type) <= alignof(decltype(*this))); \
125124
using ReturnType = Type[0]; \
126125
return reinterpret_cast<ReturnType&>(*(this + 1)); \
127126
} \
128127
const FlexibleDataReturnType& name() const { \
129-
static_assert(alignof(Type) <= alignof(decltype(*this))); \
130128
using ReturnType = Type[0]; \
131129
return reinterpret_cast<const ReturnType&>(*(this + 1)); \
132130
} \

deps/v8/src/wasm/wasm-objects.cc

+8-2
Original file line numberDiff line numberDiff line change
@@ -2595,15 +2595,21 @@ Handle<WasmExportedFunction> WasmExportedFunction::New(
25952595
DirectHandle<WasmFuncRef> func_ref,
25962596
DirectHandle<WasmInternalFunction> internal_function, int arity,
25972597
DirectHandle<Code> export_wrapper) {
2598+
#if V8_ENABLE_DRUMBRAKE
25982599
DCHECK(CodeKind::JS_TO_WASM_FUNCTION == export_wrapper->kind() ||
25992600
(export_wrapper->is_builtin() &&
26002601
(export_wrapper->builtin_id() == Builtin::kJSToWasmWrapper ||
2601-
#if V8_ENABLE_DRUMBRAKE
26022602
export_wrapper->builtin_id() ==
26032603
Builtin::kGenericJSToWasmInterpreterWrapper ||
2604-
#endif // V8_ENABLE_DRUMBRAKE
26052604
export_wrapper->builtin_id() == Builtin::kWasmPromising ||
26062605
export_wrapper->builtin_id() == Builtin::kWasmStressSwitch)));
2606+
#else
2607+
DCHECK(CodeKind::JS_TO_WASM_FUNCTION == export_wrapper->kind() ||
2608+
(export_wrapper->is_builtin() &&
2609+
(export_wrapper->builtin_id() == Builtin::kJSToWasmWrapper ||
2610+
export_wrapper->builtin_id() == Builtin::kWasmPromising ||
2611+
export_wrapper->builtin_id() == Builtin::kWasmStressSwitch)));
2612+
#endif // V8_ENABLE_DRUMBRAKE
26072613
int func_index = internal_function->function_index();
26082614
Factory* factory = isolate->factory();
26092615
DirectHandle<Map> rtt;

0 commit comments

Comments
 (0)