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