libv8-node 18.19.1.0-arm64-darwin → 19.9.0.0-arm64-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libv8/node/version.rb +3 -3
  3. data/vendor/v8/arm64-darwin/libv8/obj/libv8_monolith.a +0 -0
  4. data/vendor/v8/include/cppgc/common.h +0 -1
  5. data/vendor/v8/include/cppgc/cross-thread-persistent.h +7 -8
  6. data/vendor/v8/include/cppgc/heap-consistency.h +46 -3
  7. data/vendor/v8/include/cppgc/heap-handle.h +43 -0
  8. data/vendor/v8/include/cppgc/heap-statistics.h +2 -2
  9. data/vendor/v8/include/cppgc/heap.h +3 -7
  10. data/vendor/v8/include/cppgc/internal/api-constants.h +11 -1
  11. data/vendor/v8/include/cppgc/internal/base-page-handle.h +45 -0
  12. data/vendor/v8/include/cppgc/internal/caged-heap-local-data.h +40 -8
  13. data/vendor/v8/include/cppgc/internal/caged-heap.h +61 -0
  14. data/vendor/v8/include/cppgc/internal/gc-info.h +0 -1
  15. data/vendor/v8/include/cppgc/internal/member-storage.h +236 -0
  16. data/vendor/v8/include/cppgc/internal/name-trait.h +21 -6
  17. data/vendor/v8/include/cppgc/internal/persistent-node.h +11 -13
  18. data/vendor/v8/include/cppgc/internal/pointer-policies.h +28 -7
  19. data/vendor/v8/include/cppgc/internal/write-barrier.h +143 -101
  20. data/vendor/v8/include/cppgc/liveness-broker.h +8 -7
  21. data/vendor/v8/include/cppgc/member.h +364 -89
  22. data/vendor/v8/include/cppgc/name-provider.h +4 -4
  23. data/vendor/v8/include/cppgc/persistent.h +5 -9
  24. data/vendor/v8/include/cppgc/platform.h +2 -2
  25. data/vendor/v8/include/cppgc/sentinel-pointer.h +1 -1
  26. data/vendor/v8/include/cppgc/trace-trait.h +4 -0
  27. data/vendor/v8/include/cppgc/type-traits.h +9 -0
  28. data/vendor/v8/include/cppgc/visitor.h +89 -57
  29. data/vendor/v8/include/v8-callbacks.h +19 -5
  30. data/vendor/v8/include/v8-context.h +13 -8
  31. data/vendor/v8/include/v8-cppgc.h +12 -0
  32. data/vendor/v8/include/v8-date.h +5 -0
  33. data/vendor/v8/include/v8-embedder-heap.h +8 -3
  34. data/vendor/v8/include/v8-exception.h +1 -1
  35. data/vendor/v8/include/v8-fast-api-calls.h +46 -32
  36. data/vendor/v8/include/v8-function.h +8 -0
  37. data/vendor/v8/include/v8-initialization.h +23 -49
  38. data/vendor/v8/include/v8-inspector.h +13 -7
  39. data/vendor/v8/include/v8-internal.h +328 -123
  40. data/vendor/v8/include/v8-isolate.h +27 -42
  41. data/vendor/v8/include/v8-local-handle.h +5 -5
  42. data/vendor/v8/include/v8-locker.h +0 -11
  43. data/vendor/v8/include/v8-maybe.h +24 -1
  44. data/vendor/v8/include/v8-message.h +2 -4
  45. data/vendor/v8/include/v8-metrics.h +20 -38
  46. data/vendor/v8/include/v8-microtask-queue.h +1 -1
  47. data/vendor/v8/include/v8-object.h +8 -15
  48. data/vendor/v8/include/v8-persistent-handle.h +0 -2
  49. data/vendor/v8/include/v8-platform.h +54 -25
  50. data/vendor/v8/include/v8-primitive.h +8 -8
  51. data/vendor/v8/include/v8-profiler.h +84 -22
  52. data/vendor/v8/include/v8-regexp.h +2 -1
  53. data/vendor/v8/include/v8-script.h +62 -6
  54. data/vendor/v8/include/v8-template.h +13 -76
  55. data/vendor/v8/include/v8-unwinder-state.h +4 -4
  56. data/vendor/v8/include/v8-util.h +2 -4
  57. data/vendor/v8/include/v8-value-serializer.h +46 -23
  58. data/vendor/v8/include/v8-version.h +3 -3
  59. data/vendor/v8/include/v8-wasm.h +5 -62
  60. data/vendor/v8/include/v8-weak-callback-info.h +0 -7
  61. data/vendor/v8/include/v8config.h +280 -13
  62. metadata +7 -3
@@ -100,9 +100,6 @@ class V8_EXPORT V8 {
100
100
  const int kBuildConfiguration =
101
101
  (internal::PointerCompressionIsEnabled() ? kPointerCompression : 0) |
102
102
  (internal::SmiValuesAre31Bits() ? k31BitSmis : 0) |
103
- (internal::SandboxedExternalPointersAreEnabled()
104
- ? kSandboxedExternalPointers
105
- : 0) |
106
103
  (internal::SandboxIsEnabled() ? kSandbox : 0);
107
104
  return Initialize(kBuildConfiguration);
108
105
  }
@@ -184,30 +181,19 @@ class V8_EXPORT V8 {
184
181
  * V8 was disposed.
185
182
  */
186
183
  static void DisposePlatform();
187
- V8_DEPRECATED("Use DisposePlatform()")
188
- static void ShutdownPlatform() { DisposePlatform(); }
189
-
190
- #ifdef V8_SANDBOX
191
- //
192
- // Sandbox related API.
193
- //
194
- // This API is not yet stable and subject to changes in the future.
195
- //
196
184
 
185
+ #if defined(V8_ENABLE_SANDBOX)
197
186
  /**
198
- * Initializes the V8 sandbox.
199
- *
200
- * This must be invoked after the platform was initialized but before V8 is
201
- * initialized. The sandbox is torn down during platform shutdown.
202
- * Returns true on success, false otherwise.
187
+ * Returns true if the sandbox is configured securely.
203
188
  *
204
- * TODO(saelo) Once it is no longer optional to initialize the sandbox when
205
- * compiling with V8_SANDBOX, the sandbox initialization will likely happen
206
- * as part of V8::Initialize, at which point this function should be removed.
189
+ * If V8 cannot create a regular sandbox during initialization, for example
190
+ * because not enough virtual address space can be reserved, it will instead
191
+ * create a fallback sandbox that still allows it to function normally but
192
+ * does not have the same security properties as a regular sandbox. This API
193
+ * can be used to determine if such a fallback sandbox is being used, in
194
+ * which case it will return false.
207
195
  */
208
- static bool InitializeSandbox();
209
- V8_DEPRECATE_SOON("Use InitializeSandbox()")
210
- static bool InitializeVirtualMemoryCage() { return InitializeSandbox(); }
196
+ static bool IsSandboxConfiguredSecurely();
211
197
 
212
198
  /**
213
199
  * Provides access to the virtual address subspace backing the sandbox.
@@ -220,39 +206,29 @@ class V8_EXPORT V8 {
220
206
  * and so in particular the contents of pages allocagted in this virtual
221
207
  * address space, arbitrarily and concurrently. Due to this, it is
222
208
  * recommended to to only place pure data buffers in them.
223
- *
224
- * This function must only be called after initializing the sandbox.
225
209
  */
226
210
  static VirtualAddressSpace* GetSandboxAddressSpace();
227
- V8_DEPRECATE_SOON("Use GetSandboxAddressSpace()")
228
- static PageAllocator* GetVirtualMemoryCagePageAllocator();
229
211
 
230
212
  /**
231
213
  * Returns the size of the sandbox in bytes.
232
214
  *
233
- * If the sandbox has not been initialized, or if the initialization failed,
234
- * this returns zero.
215
+ * This represents the size of the address space that V8 can directly address
216
+ * and in which it allocates its objects.
235
217
  */
236
218
  static size_t GetSandboxSizeInBytes();
237
- V8_DEPRECATE_SOON("Use GetSandboxSizeInBytes()")
238
- static size_t GetVirtualMemoryCageSizeInBytes() {
239
- return GetSandboxSizeInBytes();
240
- }
241
219
 
242
220
  /**
243
- * Returns whether the sandbox is configured securely.
221
+ * Returns the size of the address space reservation backing the sandbox.
244
222
  *
245
- * If V8 cannot create a proper sandbox, it will fall back to creating a
246
- * sandbox that doesn't have the desired security properties but at least
247
- * still allows V8 to function. This API can be used to determine if such an
248
- * insecure sandbox is being used, in which case it will return false.
223
+ * This may be larger than the sandbox (i.e. |GetSandboxSizeInBytes()|) due
224
+ * to surrounding guard regions, or may be smaller than the sandbox in case a
225
+ * fallback sandbox is being used, which will use a smaller virtual address
226
+ * space reservation. In the latter case this will also be different from
227
+ * |GetSandboxAddressSpace()->size()| as that will cover a larger part of the
228
+ * address space than what has actually been reserved.
249
229
  */
250
- static bool IsSandboxConfiguredSecurely();
251
- V8_DEPRECATE_SOON("Use IsSandboxConfiguredSecurely()")
252
- static bool IsUsingSecureVirtualMemoryCage() {
253
- return IsSandboxConfiguredSecurely();
254
- }
255
- #endif
230
+ static size_t GetSandboxReservationSizeInBytes();
231
+ #endif // V8_ENABLE_SANDBOX
256
232
 
257
233
  /**
258
234
  * Activate trap-based bounds checking for WebAssembly.
@@ -273,7 +249,7 @@ class V8_EXPORT V8 {
273
249
  * exceptions in V8-generated code.
274
250
  */
275
251
  static void SetUnhandledExceptionCallback(
276
- UnhandledExceptionCallback unhandled_exception_callback);
252
+ UnhandledExceptionCallback callback);
277
253
  #endif
278
254
 
279
255
  /**
@@ -281,8 +257,7 @@ class V8_EXPORT V8 {
281
257
  * v8 has encountered a fatal failure to allocate memory and is about to
282
258
  * terminate.
283
259
  */
284
-
285
- static void SetFatalMemoryErrorCallback(OOMErrorCallback oom_error_callback);
260
+ static void SetFatalMemoryErrorCallback(OOMErrorCallback callback);
286
261
 
287
262
  /**
288
263
  * Get statistics about the shared memory usage.
@@ -295,8 +270,7 @@ class V8_EXPORT V8 {
295
270
  enum BuildConfigurationFeatures {
296
271
  kPointerCompression = 1 << 0,
297
272
  k31BitSmis = 1 << 1,
298
- kSandboxedExternalPointers = 1 << 2,
299
- kSandbox = 1 << 3,
273
+ kSandbox = 1 << 2,
300
274
  };
301
275
 
302
276
  /**
@@ -207,10 +207,10 @@ class V8_EXPORT V8InspectorSession {
207
207
 
208
208
  class V8_EXPORT WebDriverValue {
209
209
  public:
210
- explicit WebDriverValue(StringView type, v8::MaybeLocal<v8::Value> value = {})
211
- : type(type), value(value) {}
212
-
213
- StringView type;
210
+ explicit WebDriverValue(std::unique_ptr<StringBuffer> type,
211
+ v8::MaybeLocal<v8::Value> value = {})
212
+ : type(std::move(type)), value(value) {}
213
+ std::unique_ptr<StringBuffer> type;
214
214
  v8::MaybeLocal<v8::Value> value;
215
215
  };
216
216
 
@@ -219,6 +219,9 @@ class V8_EXPORT V8InspectorClient {
219
219
  virtual ~V8InspectorClient() = default;
220
220
 
221
221
  virtual void runMessageLoopOnPause(int contextGroupId) {}
222
+ virtual void runMessageLoopOnInstrumentationPause(int contextGroupId) {
223
+ runMessageLoopOnPause(contextGroupId);
224
+ }
222
225
  virtual void quitMessageLoopOnPause() {}
223
226
  virtual void runIfWaitingForDebugger(int contextGroupId) {}
224
227
 
@@ -361,9 +364,12 @@ class V8_EXPORT V8Inspector {
361
364
  virtual void sendNotification(std::unique_ptr<StringBuffer> message) = 0;
362
365
  virtual void flushProtocolNotifications() = 0;
363
366
  };
364
- virtual std::unique_ptr<V8InspectorSession> connect(int contextGroupId,
365
- Channel*,
366
- StringView state) = 0;
367
+ enum ClientTrustLevel { kUntrusted, kFullyTrusted };
368
+ virtual std::unique_ptr<V8InspectorSession> connect(
369
+ int contextGroupId, Channel*, StringView state,
370
+ ClientTrustLevel client_trust_level) {
371
+ return nullptr;
372
+ }
367
373
 
368
374
  // API methods.
369
375
  virtual std::unique_ptr<V8StackTrace> createStackTrace(