libv8-node 17.9.1.0-x86_64-linux → 18.8.0.0-x86_64-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/ext/libv8-node/paths.rb +1 -1
  3. data/lib/libv8/node/version.rb +3 -3
  4. data/vendor/v8/include/cppgc/allocation.h +88 -17
  5. data/vendor/v8/include/cppgc/default-platform.h +2 -10
  6. data/vendor/v8/include/cppgc/explicit-management.h +22 -4
  7. data/vendor/v8/include/cppgc/garbage-collected.h +15 -26
  8. data/vendor/v8/include/cppgc/heap-consistency.h +13 -0
  9. data/vendor/v8/include/cppgc/heap-state.h +12 -0
  10. data/vendor/v8/include/cppgc/heap.h +7 -2
  11. data/vendor/v8/include/cppgc/internal/api-constants.h +8 -0
  12. data/vendor/v8/include/cppgc/internal/caged-heap-local-data.h +23 -12
  13. data/vendor/v8/include/cppgc/internal/finalizer-trait.h +2 -1
  14. data/vendor/v8/include/cppgc/internal/logging.h +3 -3
  15. data/vendor/v8/include/cppgc/internal/persistent-node.h +39 -27
  16. data/vendor/v8/include/cppgc/internal/pointer-policies.h +4 -4
  17. data/vendor/v8/include/cppgc/internal/write-barrier.h +26 -32
  18. data/vendor/v8/include/cppgc/member.h +5 -2
  19. data/vendor/v8/include/cppgc/persistent.h +30 -31
  20. data/vendor/v8/include/cppgc/platform.h +3 -1
  21. data/vendor/v8/include/cppgc/prefinalizer.h +34 -11
  22. data/vendor/v8/include/cppgc/testing.h +9 -2
  23. data/vendor/v8/include/cppgc/type-traits.h +6 -13
  24. data/vendor/v8/include/libplatform/libplatform.h +0 -11
  25. data/vendor/v8/include/libplatform/v8-tracing.h +0 -1
  26. data/vendor/v8/include/v8-array-buffer.h +14 -2
  27. data/vendor/v8/include/v8-callbacks.h +26 -6
  28. data/vendor/v8/include/v8-context.h +3 -14
  29. data/vendor/v8/include/v8-cppgc.h +16 -126
  30. data/vendor/v8/include/v8-data.h +15 -0
  31. data/vendor/v8/include/v8-debug.h +21 -4
  32. data/vendor/v8/include/v8-embedder-heap.h +10 -30
  33. data/vendor/v8/include/v8-embedder-state-scope.h +51 -0
  34. data/vendor/v8/include/v8-exception.h +0 -7
  35. data/vendor/v8/include/v8-fast-api-calls.h +82 -31
  36. data/vendor/v8/include/v8-function.h +3 -0
  37. data/vendor/v8/include/v8-initialization.h +64 -31
  38. data/vendor/v8/include/v8-inspector.h +45 -4
  39. data/vendor/v8/include/v8-internal.h +189 -102
  40. data/vendor/v8/include/v8-isolate.h +49 -2
  41. data/vendor/v8/include/v8-local-handle.h +0 -4
  42. data/vendor/v8/include/v8-locker.h +2 -1
  43. data/vendor/v8/include/v8-message.h +19 -44
  44. data/vendor/v8/include/v8-metrics.h +32 -15
  45. data/vendor/v8/include/v8-object.h +11 -6
  46. data/vendor/v8/include/v8-platform.h +365 -6
  47. data/vendor/v8/include/v8-primitive.h +14 -6
  48. data/vendor/v8/include/v8-profiler.h +78 -2
  49. data/vendor/v8/include/v8-script.h +27 -51
  50. data/vendor/v8/include/v8-snapshot.h +0 -2
  51. data/vendor/v8/include/v8-statistics.h +2 -0
  52. data/vendor/v8/include/v8-template.h +31 -4
  53. data/vendor/v8/include/v8-traced-handle.h +39 -224
  54. data/vendor/v8/include/v8-unwinder.h +10 -7
  55. data/vendor/v8/include/v8-value-serializer-version.h +1 -1
  56. data/vendor/v8/include/v8-value-serializer.h +32 -2
  57. data/vendor/v8/include/v8-version.h +4 -4
  58. data/vendor/v8/include/v8-wasm.h +13 -1
  59. data/vendor/v8/include/v8-weak-callback-info.h +20 -6
  60. data/vendor/v8/include/v8.h +0 -1
  61. data/vendor/v8/include/v8config.h +56 -11
  62. data/vendor/v8/x86_64-linux/libv8/obj/libv8_monolith.a +0 -0
  63. metadata +3 -3
  64. data/vendor/v8/include/cppgc/internal/prefinalizer-handler.h +0 -30
@@ -10,7 +10,6 @@
10
10
 
11
11
  #include <memory>
12
12
  #include <utility>
13
- #include <vector>
14
13
 
15
14
  #include "cppgc/common.h"
16
15
  #include "v8-array-buffer.h" // NOLINT(build/include_directory)
@@ -225,6 +224,7 @@ class V8_EXPORT Isolate {
225
224
 
226
225
  /**
227
226
  * Explicitly specify a startup snapshot blob. The embedder owns the blob.
227
+ * The embedder *must* ensure that the snapshot is from a trusted source.
228
228
  */
229
229
  StartupData* snapshot_blob = nullptr;
230
230
 
@@ -281,6 +281,18 @@ class V8_EXPORT Isolate {
281
281
  */
282
282
  int embedder_wrapper_type_index = -1;
283
283
  int embedder_wrapper_object_index = -1;
284
+
285
+ /**
286
+ * Callbacks to invoke in case of fatal or OOM errors.
287
+ */
288
+ FatalErrorCallback fatal_error_callback = nullptr;
289
+ OOMErrorCallback oom_error_callback = nullptr;
290
+
291
+ /**
292
+ * The following parameter is experimental and may change significantly.
293
+ * This is currently for internal testing.
294
+ */
295
+ Isolate* experimental_attach_to_shared_isolate = nullptr;
284
296
  };
285
297
 
286
298
  /**
@@ -517,6 +529,8 @@ class V8_EXPORT Isolate {
517
529
  kWasmMultiValue = 110,
518
530
  kWasmExceptionHandling = 111,
519
531
  kInvalidatedMegaDOMProtector = 112,
532
+ kFunctionPrototypeArguments = 113,
533
+ kFunctionPrototypeCaller = 114,
520
534
 
521
535
  // If you add new values here, you'll also need to update Chromium's:
522
536
  // web_feature.mojom, use_counter_callback.cc, and enums.xml. V8 changes to
@@ -585,6 +599,11 @@ class V8_EXPORT Isolate {
585
599
  */
586
600
  static Isolate* TryGetCurrent();
587
601
 
602
+ /**
603
+ * Return true if this isolate is currently active.
604
+ **/
605
+ bool IsCurrent() const;
606
+
588
607
  /**
589
608
  * Clears the set of objects held strongly by the heap. This set of
590
609
  * objects are originally built when a WeakRef is created or
@@ -617,8 +636,11 @@ class V8_EXPORT Isolate {
617
636
  * This specifies the callback called by the upcoming dynamic
618
637
  * import() language feature to load modules.
619
638
  */
639
+ V8_DEPRECATED("Use HostImportModuleDynamicallyCallback")
620
640
  void SetHostImportModuleDynamicallyCallback(
621
641
  HostImportModuleDynamicallyWithImportAssertionsCallback callback);
642
+ void SetHostImportModuleDynamicallyCallback(
643
+ HostImportModuleDynamicallyCallback callback);
622
644
 
623
645
  /**
624
646
  * This specifies the callback called by the upcoming import.meta
@@ -627,6 +649,13 @@ class V8_EXPORT Isolate {
627
649
  void SetHostInitializeImportMetaObjectCallback(
628
650
  HostInitializeImportMetaObjectCallback callback);
629
651
 
652
+ /**
653
+ * This specifies the callback called by the upcoming ShadowRealm
654
+ * construction language feature to retrieve host created globals.
655
+ */
656
+ void SetHostCreateShadowRealmContextCallback(
657
+ HostCreateShadowRealmContextCallback callback);
658
+
630
659
  /**
631
660
  * This specifies the callback called when the stack property of Error
632
661
  * is accessed.
@@ -900,11 +929,13 @@ class V8_EXPORT Isolate {
900
929
 
901
930
  /**
902
931
  * Sets the embedder heap tracer for the isolate.
932
+ * SetEmbedderHeapTracer cannot be used simultaneously with AttachCppHeap.
903
933
  */
904
934
  void SetEmbedderHeapTracer(EmbedderHeapTracer* tracer);
905
935
 
906
936
  /*
907
- * Gets the currently active heap tracer for the isolate.
937
+ * Gets the currently active heap tracer for the isolate that was set with
938
+ * SetEmbedderHeapTracer.
908
939
  */
909
940
  EmbedderHeapTracer* GetEmbedderHeapTracer();
910
941
 
@@ -924,6 +955,7 @@ class V8_EXPORT Isolate {
924
955
  * Attaches a managed C++ heap as an extension to the JavaScript heap. The
925
956
  * embedder maintains ownership of the CppHeap. At most one C++ heap can be
926
957
  * attached to V8.
958
+ * AttachCppHeap cannot be used simultaneously with SetEmbedderHeapTracer.
927
959
  *
928
960
  * This is an experimental feature and may still change significantly.
929
961
  */
@@ -1120,6 +1152,21 @@ class V8_EXPORT Isolate {
1120
1152
  */
1121
1153
  void RequestGarbageCollectionForTesting(GarbageCollectionType type);
1122
1154
 
1155
+ /**
1156
+ * Request garbage collection with a specific embedderstack state in this
1157
+ * Isolate. It is only valid to call this function if --expose_gc was
1158
+ * specified.
1159
+ *
1160
+ * This should only be used for testing purposes and not to enforce a garbage
1161
+ * collection schedule. It has strong negative impact on the garbage
1162
+ * collection performance. Use IdleNotificationDeadline() or
1163
+ * LowMemoryNotification() instead to influence the garbage collection
1164
+ * schedule.
1165
+ */
1166
+ void RequestGarbageCollectionForTesting(
1167
+ GarbageCollectionType type,
1168
+ EmbedderHeapTracer::EmbedderStackState stack_state);
1169
+
1123
1170
  /**
1124
1171
  * Set the callback to invoke for logging event.
1125
1172
  */
@@ -46,8 +46,6 @@ class String;
46
46
  template <class F>
47
47
  class Traced;
48
48
  template <class F>
49
- class TracedGlobal;
50
- template <class F>
51
49
  class TracedReference;
52
50
  class TracedReferenceBase;
53
51
  class Utils;
@@ -312,8 +310,6 @@ class Local {
312
310
  template <class F>
313
311
  friend class Traced;
314
312
  template <class F>
315
- friend class TracedGlobal;
316
- template <class F>
317
313
  friend class BasicTracedReference;
318
314
  template <class F>
319
315
  friend class TracedReference;
@@ -127,8 +127,9 @@ class V8_EXPORT Locker {
127
127
  * The current implementation is quite confusing and leads to unexpected
128
128
  * results if anybody uses v8::Locker in the current process.
129
129
  */
130
+ V8_DEPRECATE_SOON("This method will be removed.")
130
131
  static bool WasEverUsed();
131
- V8_DEPRECATE_SOON("Use WasEverUsed instead")
132
+ V8_DEPRECATED("Use WasEverUsed instead")
132
133
  static bool IsActive();
133
134
 
134
135
  // Disallow copying and assigning.
@@ -11,6 +11,7 @@
11
11
 
12
12
  #include "v8-local-handle.h" // NOLINT(build/include_directory)
13
13
  #include "v8-maybe.h" // NOLINT(build/include_directory)
14
+ #include "v8-primitive.h" // NOLINT(build/include_directory)
14
15
  #include "v8config.h" // NOLINT(build/include_directory)
15
16
 
16
17
  namespace v8 {
@@ -60,38 +61,15 @@ class ScriptOriginOptions {
60
61
  */
61
62
  class V8_EXPORT ScriptOrigin {
62
63
  public:
63
- #if defined(_MSC_VER) && _MSC_VER >= 1910 /* Disable on VS2015 */
64
- V8_DEPRECATE_SOON("Use constructor with primitive C++ types")
65
- #endif
66
- ScriptOrigin(
67
- Local<Value> resource_name, Local<Integer> resource_line_offset,
68
- Local<Integer> resource_column_offset,
69
- Local<Boolean> resource_is_shared_cross_origin = Local<Boolean>(),
70
- Local<Integer> script_id = Local<Integer>(),
71
- Local<Value> source_map_url = Local<Value>(),
72
- Local<Boolean> resource_is_opaque = Local<Boolean>(),
73
- Local<Boolean> is_wasm = Local<Boolean>(),
74
- Local<Boolean> is_module = Local<Boolean>(),
75
- Local<PrimitiveArray> host_defined_options = Local<PrimitiveArray>());
76
- #if defined(_MSC_VER) && _MSC_VER >= 1910 /* Disable on VS2015 */
77
- V8_DEPRECATE_SOON("Use constructor that takes an isolate")
78
- #endif
79
- explicit ScriptOrigin(
80
- Local<Value> resource_name, int resource_line_offset = 0,
81
- int resource_column_offset = 0,
82
- bool resource_is_shared_cross_origin = false, int script_id = -1,
83
- Local<Value> source_map_url = Local<Value>(),
84
- bool resource_is_opaque = false, bool is_wasm = false,
85
- bool is_module = false,
86
- Local<PrimitiveArray> host_defined_options = Local<PrimitiveArray>());
87
- V8_INLINE ScriptOrigin(
88
- Isolate* isolate, Local<Value> resource_name,
89
- int resource_line_offset = 0, int resource_column_offset = 0,
90
- bool resource_is_shared_cross_origin = false, int script_id = -1,
91
- Local<Value> source_map_url = Local<Value>(),
92
- bool resource_is_opaque = false, bool is_wasm = false,
93
- bool is_module = false,
94
- Local<PrimitiveArray> host_defined_options = Local<PrimitiveArray>())
64
+ V8_INLINE ScriptOrigin(Isolate* isolate, Local<Value> resource_name,
65
+ int resource_line_offset = 0,
66
+ int resource_column_offset = 0,
67
+ bool resource_is_shared_cross_origin = false,
68
+ int script_id = -1,
69
+ Local<Value> source_map_url = Local<Value>(),
70
+ bool resource_is_opaque = false, bool is_wasm = false,
71
+ bool is_module = false,
72
+ Local<Data> host_defined_options = Local<Data>())
95
73
  : isolate_(isolate),
96
74
  resource_name_(resource_name),
97
75
  resource_line_offset_(resource_line_offset),
@@ -100,23 +78,22 @@ class V8_EXPORT ScriptOrigin {
100
78
  is_module),
101
79
  script_id_(script_id),
102
80
  source_map_url_(source_map_url),
103
- host_defined_options_(host_defined_options) {}
81
+ host_defined_options_(host_defined_options) {
82
+ VerifyHostDefinedOptions();
83
+ }
104
84
 
105
85
  V8_INLINE Local<Value> ResourceName() const;
106
- V8_DEPRECATE_SOON("Use getter with primitive C++ types.")
107
- V8_INLINE Local<Integer> ResourceLineOffset() const;
108
- V8_DEPRECATE_SOON("Use getter with primitive C++ types.")
109
- V8_INLINE Local<Integer> ResourceColumnOffset() const;
110
- V8_DEPRECATE_SOON("Use getter with primitive C++ types.")
111
- V8_INLINE Local<Integer> ScriptID() const;
112
86
  V8_INLINE int LineOffset() const;
113
87
  V8_INLINE int ColumnOffset() const;
114
88
  V8_INLINE int ScriptId() const;
115
89
  V8_INLINE Local<Value> SourceMapUrl() const;
116
- V8_INLINE Local<PrimitiveArray> HostDefinedOptions() const;
90
+ V8_DEPRECATE_SOON("Use GetHostDefinedOptions")
91
+ Local<PrimitiveArray> HostDefinedOptions() const;
92
+ V8_INLINE Local<Data> GetHostDefinedOptions() const;
117
93
  V8_INLINE ScriptOriginOptions Options() const { return options_; }
118
94
 
119
95
  private:
96
+ void VerifyHostDefinedOptions() const;
120
97
  Isolate* isolate_;
121
98
  Local<Value> resource_name_;
122
99
  int resource_line_offset_;
@@ -124,7 +101,7 @@ class V8_EXPORT ScriptOrigin {
124
101
  ScriptOriginOptions options_;
125
102
  int script_id_;
126
103
  Local<Value> source_map_url_;
127
- Local<PrimitiveArray> host_defined_options_;
104
+ Local<Data> host_defined_options_;
128
105
  };
129
106
 
130
107
  /**
@@ -212,8 +189,6 @@ class V8_EXPORT Message {
212
189
  bool IsSharedCrossOrigin() const;
213
190
  bool IsOpaque() const;
214
191
 
215
- V8_DEPRECATE_SOON("Use the version that takes a std::ostream&.")
216
- static void PrintCurrentStackTrace(Isolate* isolate, FILE* out);
217
192
  static void PrintCurrentStackTrace(Isolate* isolate, std::ostream& out);
218
193
 
219
194
  static const int kNoLineNumberInfo = 0;
@@ -224,7 +199,7 @@ class V8_EXPORT Message {
224
199
 
225
200
  Local<Value> ScriptOrigin::ResourceName() const { return resource_name_; }
226
201
 
227
- Local<PrimitiveArray> ScriptOrigin::HostDefinedOptions() const {
202
+ Local<Data> ScriptOrigin::GetHostDefinedOptions() const {
228
203
  return host_defined_options_;
229
204
  }
230
205
 
@@ -21,6 +21,7 @@ class Isolate;
21
21
  namespace metrics {
22
22
 
23
23
  struct GarbageCollectionPhases {
24
+ int64_t total_wall_clock_duration_in_us = -1;
24
25
  int64_t compact_wall_clock_duration_in_us = -1;
25
26
  int64_t mark_wall_clock_duration_in_us = -1;
26
27
  int64_t sweep_wall_clock_duration_in_us = -1;
@@ -34,6 +35,7 @@ struct GarbageCollectionSizes {
34
35
  };
35
36
 
36
37
  struct GarbageCollectionFullCycle {
38
+ int reason = -1;
37
39
  GarbageCollectionPhases total;
38
40
  GarbageCollectionPhases total_cpp;
39
41
  GarbageCollectionPhases main_thread;
@@ -46,12 +48,12 @@ struct GarbageCollectionFullCycle {
46
48
  GarbageCollectionSizes objects_cpp;
47
49
  GarbageCollectionSizes memory;
48
50
  GarbageCollectionSizes memory_cpp;
49
- double collection_rate_in_percent;
50
- double collection_rate_cpp_in_percent;
51
- double efficiency_in_bytes_per_us;
52
- double efficiency_cpp_in_bytes_per_us;
53
- double main_thread_efficiency_in_bytes_per_us;
54
- double main_thread_efficiency_cpp_in_bytes_per_us;
51
+ double collection_rate_in_percent = -1.0;
52
+ double collection_rate_cpp_in_percent = -1.0;
53
+ double efficiency_in_bytes_per_us = -1.0;
54
+ double efficiency_cpp_in_bytes_per_us = -1.0;
55
+ double main_thread_efficiency_in_bytes_per_us = -1.0;
56
+ double main_thread_efficiency_cpp_in_bytes_per_us = -1.0;
55
57
  };
56
58
 
57
59
  struct GarbageCollectionFullMainThreadIncrementalMark {
@@ -59,25 +61,38 @@ struct GarbageCollectionFullMainThreadIncrementalMark {
59
61
  int64_t cpp_wall_clock_duration_in_us = -1;
60
62
  };
61
63
 
62
- struct GarbageCollectionFullMainThreadBatchedIncrementalMark {
63
- std::vector<GarbageCollectionFullMainThreadIncrementalMark> events;
64
- };
65
-
66
64
  struct GarbageCollectionFullMainThreadIncrementalSweep {
67
65
  int64_t wall_clock_duration_in_us = -1;
68
66
  int64_t cpp_wall_clock_duration_in_us = -1;
69
67
  };
70
68
 
71
- struct GarbageCollectionFullMainThreadBatchedIncrementalSweep {
72
- std::vector<GarbageCollectionFullMainThreadIncrementalSweep> events;
69
+ template <typename EventType>
70
+ struct GarbageCollectionBatchedEvents {
71
+ std::vector<EventType> events;
73
72
  };
74
73
 
74
+ using GarbageCollectionFullMainThreadBatchedIncrementalMark =
75
+ GarbageCollectionBatchedEvents<
76
+ GarbageCollectionFullMainThreadIncrementalMark>;
77
+ using GarbageCollectionFullMainThreadBatchedIncrementalSweep =
78
+ GarbageCollectionBatchedEvents<
79
+ GarbageCollectionFullMainThreadIncrementalSweep>;
80
+
75
81
  struct GarbageCollectionYoungCycle {
82
+ int reason = -1;
76
83
  int64_t total_wall_clock_duration_in_us = -1;
77
84
  int64_t main_thread_wall_clock_duration_in_us = -1;
78
- double collection_rate_in_percent;
79
- double efficiency_in_bytes_per_us;
80
- double main_thread_efficiency_in_bytes_per_us;
85
+ double collection_rate_in_percent = -1.0;
86
+ double efficiency_in_bytes_per_us = -1.0;
87
+ double main_thread_efficiency_in_bytes_per_us = -1.0;
88
+ #if defined(CPPGC_YOUNG_GENERATION)
89
+ GarbageCollectionPhases total_cpp;
90
+ GarbageCollectionSizes objects_cpp;
91
+ GarbageCollectionSizes memory_cpp;
92
+ double collection_rate_cpp_in_percent = -1.0;
93
+ double efficiency_cpp_in_bytes_per_us = -1.0;
94
+ double main_thread_efficiency_cpp_in_bytes_per_us = -1.0;
95
+ #endif // defined(CPPGC_YOUNG_GENERATION)
81
96
  };
82
97
 
83
98
  struct WasmModuleDecoded {
@@ -230,6 +245,8 @@ struct V8_EXPORT LongTaskStats {
230
245
  int64_t gc_full_atomic_wall_clock_duration_us = 0;
231
246
  int64_t gc_full_incremental_wall_clock_duration_us = 0;
232
247
  int64_t gc_young_wall_clock_duration_us = 0;
248
+ // Only collected with --slow-histograms
249
+ int64_t v8_execute_us = 0;
233
250
  };
234
251
 
235
252
  } // namespace metrics
@@ -493,7 +493,7 @@ class V8_EXPORT Object : public Value {
493
493
  return object.val_->GetAlignedPointerFromInternalField(index);
494
494
  }
495
495
 
496
- /** Same as above, but works for TracedGlobal. */
496
+ /** Same as above, but works for TracedReference. */
497
497
  V8_INLINE static void* GetAlignedPointerFromInternalField(
498
498
  const BasicTracedReference<Object>& object, int index) {
499
499
  return object->GetAlignedPointerFromInternalField(index);
@@ -594,12 +594,17 @@ class V8_EXPORT Object : public Value {
594
594
  /**
595
595
  * Returns the context in which the object was created.
596
596
  */
597
- V8_DEPRECATE_SOON("Use MaybeLocal<Context> GetCreationContext()")
597
+ V8_DEPRECATED("Use MaybeLocal<Context> GetCreationContext()")
598
598
  Local<Context> CreationContext();
599
599
  MaybeLocal<Context> GetCreationContext();
600
600
 
601
+ /**
602
+ * Shortcut for GetCreationContext().ToLocalChecked().
603
+ **/
604
+ Local<Context> GetCreationContextChecked();
605
+
601
606
  /** Same as above, but works for Persistents */
602
- V8_DEPRECATE_SOON(
607
+ V8_DEPRECATED(
603
608
  "Use MaybeLocal<Context> GetCreationContext(const "
604
609
  "PersistentBase<Object>& object)")
605
610
  static Local<Context> CreationContext(const PersistentBase<Object>& object);
@@ -730,7 +735,7 @@ Local<Value> Object::GetInternalField(int index) {
730
735
  }
731
736
 
732
737
  void* Object::GetAlignedPointerFromInternalField(int index) {
733
- #ifndef V8_ENABLE_CHECKS
738
+ #if !defined(V8_ENABLE_CHECKS)
734
739
  using A = internal::Address;
735
740
  using I = internal::Internals;
736
741
  A obj = *reinterpret_cast<A*>(this);
@@ -739,10 +744,10 @@ void* Object::GetAlignedPointerFromInternalField(int index) {
739
744
  auto instance_type = I::GetInstanceType(obj);
740
745
  if (v8::internal::CanHaveInternalField(instance_type)) {
741
746
  int offset = I::kJSObjectHeaderSize + (I::kEmbedderDataSlotSize * index);
742
- #ifdef V8_HEAP_SANDBOX
747
+ #ifdef V8_SANDBOXED_EXTERNAL_POINTERS
743
748
  offset += I::kEmbedderDataSlotRawPayloadOffset;
744
749
  #endif
745
- internal::Isolate* isolate = I::GetIsolateForHeapSandbox(obj);
750
+ internal::Isolate* isolate = I::GetIsolateForSandbox(obj);
746
751
  A value = I::ReadExternalPointerField(
747
752
  isolate, obj, offset, internal::kEmbedderDataSlotPayloadTag);
748
753
  return reinterpret_cast<void*>(value);