libv8-node 23.6.1.0-x86_64-linux → 24.1.0.0-x86_64-linux

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libv8/node/version.rb +3 -3
  3. data/vendor/v8/include/cppgc/allocation.h +1 -2
  4. data/vendor/v8/include/cppgc/default-platform.h +3 -2
  5. data/vendor/v8/include/cppgc/heap-consistency.h +1 -1
  6. data/vendor/v8/include/cppgc/internal/api-constants.h +0 -17
  7. data/vendor/v8/include/cppgc/internal/base-page-handle.h +2 -4
  8. data/vendor/v8/include/cppgc/internal/caged-heap-local-data.h +0 -4
  9. data/vendor/v8/include/cppgc/internal/caged-heap.h +0 -4
  10. data/vendor/v8/include/cppgc/internal/conditional-stack-allocated.h +41 -0
  11. data/vendor/v8/include/cppgc/internal/logging.h +3 -3
  12. data/vendor/v8/include/cppgc/internal/member-storage.h +63 -20
  13. data/vendor/v8/include/cppgc/internal/persistent-node.h +8 -3
  14. data/vendor/v8/include/cppgc/internal/pointer-policies.h +48 -11
  15. data/vendor/v8/include/cppgc/macros.h +21 -0
  16. data/vendor/v8/include/cppgc/member.h +70 -36
  17. data/vendor/v8/include/cppgc/name-provider.h +3 -0
  18. data/vendor/v8/include/cppgc/platform.h +11 -0
  19. data/vendor/v8/include/cppgc/type-traits.h +1 -0
  20. data/vendor/v8/include/cppgc/visitor.h +25 -1
  21. data/vendor/v8/include/libplatform/libplatform-export.h +2 -2
  22. data/vendor/v8/include/libplatform/v8-tracing.h +0 -1
  23. data/vendor/v8/include/v8-array-buffer.h +111 -34
  24. data/vendor/v8/include/v8-callbacks.h +84 -26
  25. data/vendor/v8/include/v8-context.h +7 -6
  26. data/vendor/v8/include/v8-cppgc.h +2 -1
  27. data/vendor/v8/include/v8-data.h +5 -0
  28. data/vendor/v8/include/v8-debug.h +11 -0
  29. data/vendor/v8/include/v8-embedder-heap.h +1 -32
  30. data/vendor/v8/include/v8-exception.h +2 -0
  31. data/vendor/v8/include/v8-external-memory-accounter.h +60 -0
  32. data/vendor/v8/include/v8-fast-api-calls.h +17 -175
  33. data/vendor/v8/include/v8-function-callback.h +4 -33
  34. data/vendor/v8/include/v8-function.h +7 -0
  35. data/vendor/v8/include/v8-handle-base.h +18 -0
  36. data/vendor/v8/include/v8-initialization.h +9 -1
  37. data/vendor/v8/include/v8-inspector.h +8 -4
  38. data/vendor/v8/include/v8-internal.h +477 -399
  39. data/vendor/v8/include/v8-isolate.h +218 -151
  40. data/vendor/v8/include/v8-local-handle.h +56 -28
  41. data/vendor/v8/include/v8-maybe.h +2 -1
  42. data/vendor/v8/include/v8-memory-span.h +149 -24
  43. data/vendor/v8/include/v8-message.h +9 -1
  44. data/vendor/v8/include/v8-metrics.h +10 -0
  45. data/vendor/v8/include/v8-object.h +7 -2
  46. data/vendor/v8/include/v8-persistent-handle.h +17 -17
  47. data/vendor/v8/include/v8-platform.h +48 -13
  48. data/vendor/v8/include/v8-primitive.h +131 -6
  49. data/vendor/v8/include/v8-profiler.h +13 -1
  50. data/vendor/v8/include/v8-proxy.h +0 -1
  51. data/vendor/v8/include/v8-regexp.h +0 -1
  52. data/vendor/v8/include/v8-sandbox.h +3 -3
  53. data/vendor/v8/include/v8-script.h +21 -3
  54. data/vendor/v8/include/v8-source-location.h +6 -1
  55. data/vendor/v8/include/v8-template.h +8 -2
  56. data/vendor/v8/include/v8-trace-categories.h +23 -0
  57. data/vendor/v8/include/v8-traced-handle.h +16 -17
  58. data/vendor/v8/include/v8-typed-array.h +6 -10
  59. data/vendor/v8/include/v8-unwinder-state.h +2 -3
  60. data/vendor/v8/include/v8-value-serializer-version.h +3 -3
  61. data/vendor/v8/include/v8-value.h +18 -0
  62. data/vendor/v8/include/v8-version.h +4 -4
  63. data/vendor/v8/include/v8-wasm.h +24 -0
  64. data/vendor/v8/include/v8-weak-callback-info.h +20 -12
  65. data/vendor/v8/include/v8.h +3 -3
  66. data/vendor/v8/include/v8config.h +34 -40
  67. data/vendor/v8/x86_64-linux/libv8/obj/libv8_monolith.a +0 -0
  68. metadata +5 -3
  69. data/vendor/v8/include/cppgc/ephemeron-pair.h +0 -30
@@ -126,23 +126,6 @@ class FunctionCallbackInfo {
126
126
  V8_INLINE Local<Value> operator[](int i) const;
127
127
  /** Returns the receiver. This corresponds to the "this" value. */
128
128
  V8_INLINE Local<Object> This() const;
129
- /**
130
- * If the callback was created without a Signature, this is the same
131
- * value as This(). If there is a signature, and the signature didn't match
132
- * This() but one of its hidden prototypes, this will be the respective
133
- * hidden prototype.
134
- *
135
- * Note that this is not the prototype of This() on which the accessor
136
- * referencing this callback was found (which in V8 internally is often
137
- * referred to as holder [sic]).
138
- */
139
- V8_DEPRECATED(
140
- "V8 will stop providing access to hidden prototype (i.e. "
141
- "JSGlobalObject). Use This() instead. \n"
142
- "DO NOT try to workaround this by accessing JSGlobalObject via "
143
- "v8::Object::GetPrototype() - it'll be deprecated soon too. \n"
144
- "See http://crbug.com/333672197. ")
145
- V8_INLINE Local<Object> Holder() const;
146
129
  /** For construct calls, this returns the "new.target" value. */
147
130
  V8_INLINE Local<Value> NewTarget() const;
148
131
  /** Indicates whether this is a regular call or a construct call. */
@@ -154,18 +137,16 @@ class FunctionCallbackInfo {
154
137
  /** The ReturnValue for the call. */
155
138
  V8_INLINE ReturnValue<T> GetReturnValue() const;
156
139
 
157
- // This is a temporary replacement for Holder() added just for the purpose
158
- // of testing the deprecated Holder() machinery until it's removed for real.
159
- // DO NOT use it.
160
- V8_INLINE Local<Object> HolderSoonToBeDeprecated() const;
161
-
162
140
  private:
163
141
  friend class internal::FunctionCallbackArguments;
164
142
  friend class internal::CustomArguments<FunctionCallbackInfo>;
165
143
  friend class debug::ConsoleCallArguments;
166
144
  friend void internal::PrintFunctionCallbackInfo(void*);
167
145
 
168
- static constexpr int kHolderIndex = 0;
146
+ // TODO(ishell, http://crbug.com/326505377): in case of non-constructor
147
+ // call, don't pass kNewTarget and kUnused. Add IsConstructCall flag to
148
+ // kIsolate field.
149
+ static constexpr int kUnusedIndex = 0;
169
150
  static constexpr int kIsolateIndex = 1;
170
151
  static constexpr int kContextIndex = 2;
171
152
  static constexpr int kReturnValueIndex = 3;
@@ -649,16 +630,6 @@ Local<Object> FunctionCallbackInfo<T>::This() const {
649
630
  return Local<Object>::FromSlot(values_ + kThisValuesIndex);
650
631
  }
651
632
 
652
- template <typename T>
653
- Local<Object> FunctionCallbackInfo<T>::HolderSoonToBeDeprecated() const {
654
- return Local<Object>::FromSlot(&implicit_args_[kHolderIndex]);
655
- }
656
-
657
- template <typename T>
658
- Local<Object> FunctionCallbackInfo<T>::Holder() const {
659
- return HolderSoonToBeDeprecated();
660
- }
661
-
662
633
  template <typename T>
663
634
  Local<Value> FunctionCallbackInfo<T>::NewTarget() const {
664
635
  return Local<Value>::FromSlot(&implicit_args_[kNewTargetIndex]);
@@ -18,6 +18,7 @@
18
18
  namespace v8 {
19
19
 
20
20
  class Context;
21
+ class Location;
21
22
  class UnboundScript;
22
23
 
23
24
  /**
@@ -88,6 +89,12 @@ class V8_EXPORT Function : public Object {
88
89
  */
89
90
  int GetScriptColumnNumber() const;
90
91
 
92
+ /**
93
+ * Returns zero based line and column number of function body, else returns
94
+ * {-1, -1}.
95
+ */
96
+ Location GetScriptLocation() const;
97
+
91
98
  /**
92
99
  * Returns zero based start position (character offset) of function body and
93
100
  * kLineOffsetNotFound if no information available.
@@ -43,7 +43,11 @@ class V8_TRIVIAL_ABI StackAllocated<true> : public StackAllocated<false> {
43
43
  no_checking_tag tag)
44
44
  : StackAllocated<false>(other, tag) {}
45
45
 
46
+ #ifdef ENABLE_SLOW_DCHECKS
46
47
  V8_EXPORT void VerifyOnStack() const;
48
+ #else
49
+ V8_INLINE V8_EXPORT void VerifyOnStack() const {}
50
+ #endif
47
51
  };
48
52
 
49
53
  /**
@@ -86,6 +90,16 @@ class IndirectHandleBase {
86
90
  return internal::ValueHelper::SlotAsValue<T, check_null>(slot());
87
91
  }
88
92
 
93
+ #ifdef V8_ENABLE_DIRECT_HANDLE
94
+ V8_INLINE internal::ValueHelper::InternalRepresentationType repr() const {
95
+ return location_ ? *location_ : internal::ValueHelper::kEmpty;
96
+ }
97
+ #else
98
+ V8_INLINE internal::ValueHelper::InternalRepresentationType repr() const {
99
+ return location_;
100
+ }
101
+ #endif // V8_ENABLE_DIRECT_HANDLE
102
+
89
103
  private:
90
104
  internal::Address* location_ = nullptr;
91
105
  };
@@ -126,6 +140,10 @@ class DirectHandleBase {
126
140
  return reinterpret_cast<T*>(ptr_);
127
141
  }
128
142
 
143
+ V8_INLINE internal::ValueHelper::InternalRepresentationType repr() const {
144
+ return ptr_;
145
+ }
146
+
129
147
  private:
130
148
  internal::Address ptr_ = internal::ValueHelper::kEmpty;
131
149
  };
@@ -112,11 +112,18 @@ class V8_EXPORT V8 {
112
112
  const bool kV8TargetOsIsAndroid = false;
113
113
  #endif
114
114
 
115
+ #ifdef V8_ENABLE_CHECKS
116
+ const bool kV8EnableChecks = true;
117
+ #else
118
+ const bool kV8EnableChecks = false;
119
+ #endif
120
+
115
121
  const int kBuildConfiguration =
116
122
  (internal::PointerCompressionIsEnabled() ? kPointerCompression : 0) |
117
123
  (internal::SmiValuesAre31Bits() ? k31BitSmis : 0) |
118
124
  (internal::SandboxIsEnabled() ? kSandbox : 0) |
119
- (kV8TargetOsIsAndroid ? kTargetOsIsAndroid : 0);
125
+ (kV8TargetOsIsAndroid ? kTargetOsIsAndroid : 0) |
126
+ (kV8EnableChecks ? kEnableChecks : 0);
120
127
  return Initialize(kBuildConfiguration);
121
128
  }
122
129
 
@@ -288,6 +295,7 @@ class V8_EXPORT V8 {
288
295
  k31BitSmis = 1 << 1,
289
296
  kSandbox = 1 << 2,
290
297
  kTargetOsIsAndroid = 1 << 3,
298
+ kEnableChecks = 1 << 4,
291
299
  };
292
300
 
293
301
  /**
@@ -139,6 +139,7 @@ struct V8_EXPORT V8StackFrame {
139
139
  StringView functionName;
140
140
  int lineNumber;
141
141
  int columnNumber;
142
+ int scriptId;
142
143
  };
143
144
 
144
145
  class V8_EXPORT V8StackTrace {
@@ -297,12 +298,14 @@ class V8_EXPORT V8InspectorClient {
297
298
  return v8::MaybeLocal<v8::Value>();
298
299
  }
299
300
 
300
- virtual void consoleTime(v8::Isolate* isolate, v8::Local<v8::String> label);
301
+ virtual void consoleTime(v8::Isolate* isolate, v8::Local<v8::String> label) {}
301
302
  virtual void consoleTimeEnd(v8::Isolate* isolate,
302
- v8::Local<v8::String> label);
303
+ v8::Local<v8::String> label) {}
303
304
  virtual void consoleTimeStamp(v8::Isolate* isolate,
304
- v8::Local<v8::String> label);
305
-
305
+ v8::Local<v8::String> label) {}
306
+ virtual void consoleTimeStampWithArgs(
307
+ v8::Isolate* isolate, v8::Local<v8::String> label,
308
+ const v8::LocalVector<v8::Value>& args) {}
306
309
  virtual void consoleClear(int contextGroupId) {}
307
310
  virtual double currentTimeMS() { return 0; }
308
311
  typedef void (*TimerCallback)(void*);
@@ -361,6 +364,7 @@ class V8_EXPORT V8Inspector {
361
364
  virtual void resetContextGroup(int contextGroupId) = 0;
362
365
  virtual v8::MaybeLocal<v8::Context> contextById(int contextId) = 0;
363
366
  virtual V8DebuggerId uniqueDebuggerId(int contextId) = 0;
367
+ virtual uint64_t isolateId() = 0;
364
368
 
365
369
  // Various instrumentation.
366
370
  virtual void idleStarted() = 0;