File tree Expand file tree Collapse file tree 7 files changed +21
-9
lines changed Expand file tree Collapse file tree 7 files changed +21
-9
lines changed Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff line change @@ -879,7 +879,7 @@ ElementAccessFeedback const& JSHeapBroker::ProcessFeedbackMapsForElementAccess(
879879 Tagged<Map> transition_target;
880880
881881 // Don't generate elements kind transitions from stable maps.
882- if (!map.is_stable ()) {
882+ if (!map.is_stable () && possible_transition_targets. begin () != possible_transition_targets. end () ) {
883883 // The lock is needed for UnusedPropertyFields (called deep inside
884884 // FindElementsKindTransitionedMap).
885885 MapUpdaterGuardIfNeeded mumd_scope (this );
Original file line number Diff line number Diff line change @@ -1292,11 +1292,11 @@ class WasmFrame : public TypedFrame {
12921292 FrameSummaries Summarize () const override ;
12931293
12941294 static WasmFrame* cast (StackFrame* frame) {
1295- DCHECK (frame->is_wasm ()
12961295#ifdef V8_ENABLE_DRUMBRAKE
1297- && !frame->is_wasm_interpreter_entry ()
1296+ DCHECK (frame->is_wasm () && !frame->is_wasm_interpreter_entry ());
1297+ #else
1298+ DCHECK (frame->is_wasm ());
12981299#endif // V8_ENABLE_DRUMBRAKE
1299- );
13001300 return static_cast <WasmFrame*>(frame);
13011301 }
13021302
Original file line number Diff line number Diff line change @@ -563,10 +563,14 @@ using DebugObjectCache = std::vector<Handle<HeapObject>>;
563563#define THREAD_LOCAL_TOP_ADDRESS (type, name ) \
564564 inline type* name##_address() { return &thread_local_top ()->name ##_; }
565565
566+ #if defined(_MSC_VER)
567+ extern thread_local Isolate* g_current_isolate_ V8_CONSTINIT;
568+ #else
566569// Do not use this variable directly, use Isolate::Current() instead.
567570// Defined outside of Isolate because Isolate uses V8_EXPORT_PRIVATE.
568571__attribute__ ((tls_model(V8_TLS_MODEL))) extern thread_local Isolate*
569572 g_current_isolate_ V8_CONSTINIT;
573+ #endif // defined(_MSC_VER)
570574
571575// HiddenFactory exists so Isolate can privately inherit from it without making
572576// Factory's members available to Isolate directly.
Original file line number Diff line number Diff line change @@ -34,10 +34,14 @@ class MarkingBarrier;
3434class MutablePageMetadata ;
3535class Safepoint ;
3636
37+ #if defined(_MSC_VER)
38+ extern thread_local LocalHeap* g_current_local_heap_ V8_CONSTINIT;
39+ #else
3740// Do not use this variable directly, use LocalHeap::Current() instead.
3841// Defined outside of LocalHeap because LocalHeap uses V8_EXPORT_PRIVATE.
3942__attribute__ ((tls_model(V8_TLS_MODEL))) extern thread_local LocalHeap*
4043 g_current_local_heap_ V8_CONSTINIT;
44+ #endif // defined(_MSC_VER)
4145
4246// LocalHeap is used by the GC to track all threads with heap access in order to
4347// stop them before performing a collection. LocalHeaps can be either Parked or
Original file line number Diff line number Diff 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 } \
Original file line number Diff line number Diff line change @@ -2739,15 +2739,21 @@ Handle<WasmExportedFunction> WasmExportedFunction::New(
27392739 DirectHandle<WasmFuncRef> func_ref,
27402740 DirectHandle<WasmInternalFunction> internal_function, int arity,
27412741 DirectHandle<Code> export_wrapper) {
2742+ #if V8_ENABLE_DRUMBRAKE
27422743 DCHECK (CodeKind::JS_TO_WASM_FUNCTION == export_wrapper->kind () ||
27432744 (export_wrapper->is_builtin () &&
27442745 (export_wrapper->builtin_id () == Builtin::kJSToWasmWrapper ||
2745- #if V8_ENABLE_DRUMBRAKE
27462746 export_wrapper->builtin_id () ==
27472747 Builtin::kGenericJSToWasmInterpreterWrapper ||
2748- #endif // V8_ENABLE_DRUMBRAKE
27492748 export_wrapper->builtin_id () == Builtin::kWasmPromising ||
27502749 export_wrapper->builtin_id () == Builtin::kWasmStressSwitch )));
2750+ #else
2751+ DCHECK (CodeKind::JS_TO_WASM_FUNCTION == export_wrapper->kind () ||
2752+ (export_wrapper->is_builtin () &&
2753+ (export_wrapper->builtin_id () == Builtin::kJSToWasmWrapper ||
2754+ export_wrapper->builtin_id () == Builtin::kWasmPromising ||
2755+ export_wrapper->builtin_id () == Builtin::kWasmStressSwitch )));
2756+ #endif // V8_ENABLE_DRUMBRAKE
27512757 int func_index = internal_function->function_index ();
27522758 Factory* factory = isolate->factory ();
27532759 DirectHandle<Map> rtt;
You can’t perform that action at this time.
0 commit comments