libv8-node 22.7.0.4-arm64-darwin → 24.1.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.
- checksums.yaml +4 -4
- data/lib/libv8/node/version.rb +3 -3
- data/vendor/v8/arm64-darwin/libv8/obj/libv8_monolith.a +0 -0
- data/vendor/v8/include/cppgc/allocation.h +11 -13
- data/vendor/v8/include/cppgc/default-platform.h +3 -2
- data/vendor/v8/include/cppgc/garbage-collected.h +8 -0
- data/vendor/v8/include/cppgc/heap-consistency.h +1 -1
- data/vendor/v8/include/cppgc/heap-statistics.h +2 -0
- data/vendor/v8/include/cppgc/internal/api-constants.h +2 -14
- data/vendor/v8/include/cppgc/internal/base-page-handle.h +2 -4
- data/vendor/v8/include/cppgc/internal/caged-heap-local-data.h +0 -4
- data/vendor/v8/include/cppgc/internal/caged-heap.h +0 -4
- data/vendor/v8/include/cppgc/internal/compiler-specific.h +9 -1
- data/vendor/v8/include/cppgc/internal/conditional-stack-allocated.h +41 -0
- data/vendor/v8/include/cppgc/internal/gc-info.h +12 -10
- data/vendor/v8/include/cppgc/internal/logging.h +3 -3
- data/vendor/v8/include/cppgc/internal/member-storage.h +69 -20
- data/vendor/v8/include/cppgc/internal/name-trait.h +5 -1
- data/vendor/v8/include/cppgc/internal/persistent-node.h +8 -3
- data/vendor/v8/include/cppgc/internal/pointer-policies.h +48 -11
- data/vendor/v8/include/cppgc/macros.h +21 -0
- data/vendor/v8/include/cppgc/member.h +70 -36
- data/vendor/v8/include/cppgc/name-provider.h +10 -0
- data/vendor/v8/include/cppgc/platform.h +11 -0
- data/vendor/v8/include/cppgc/type-traits.h +1 -0
- data/vendor/v8/include/cppgc/visitor.h +25 -1
- data/vendor/v8/include/libplatform/libplatform-export.h +2 -2
- data/vendor/v8/include/libplatform/v8-tracing.h +0 -1
- data/vendor/v8/include/v8-array-buffer.h +143 -46
- data/vendor/v8/include/v8-callbacks.h +94 -31
- data/vendor/v8/include/v8-context.h +48 -15
- data/vendor/v8/include/v8-cppgc.h +5 -56
- data/vendor/v8/include/v8-data.h +5 -0
- data/vendor/v8/include/v8-date.h +9 -0
- data/vendor/v8/include/v8-debug.h +11 -0
- data/vendor/v8/include/v8-embedder-heap.h +1 -29
- data/vendor/v8/include/v8-exception.h +72 -0
- data/vendor/v8/include/v8-external-memory-accounter.h +60 -0
- data/vendor/v8/include/v8-fast-api-calls.h +41 -206
- data/vendor/v8/include/v8-function-callback.h +190 -78
- data/vendor/v8/include/v8-function.h +11 -3
- data/vendor/v8/include/v8-handle-base.h +20 -2
- data/vendor/v8/include/v8-initialization.h +26 -1
- data/vendor/v8/include/v8-inspector.h +10 -3
- data/vendor/v8/include/v8-internal.h +638 -315
- data/vendor/v8/include/v8-isolate.h +275 -189
- data/vendor/v8/include/v8-local-handle.h +69 -42
- data/vendor/v8/include/v8-maybe.h +2 -1
- data/vendor/v8/include/v8-memory-span.h +149 -24
- data/vendor/v8/include/v8-message.h +9 -22
- data/vendor/v8/include/v8-metrics.h +14 -0
- data/vendor/v8/include/v8-microtask-queue.h +0 -5
- data/vendor/v8/include/v8-object.h +291 -37
- data/vendor/v8/include/v8-persistent-handle.h +17 -36
- data/vendor/v8/include/v8-platform.h +66 -45
- data/vendor/v8/include/v8-primitive.h +221 -5
- data/vendor/v8/include/v8-profiler.h +51 -2
- data/vendor/v8/include/v8-promise.h +2 -2
- data/vendor/v8/include/v8-proxy.h +0 -1
- data/vendor/v8/include/v8-regexp.h +0 -1
- data/vendor/v8/include/v8-sandbox.h +173 -0
- data/vendor/v8/include/v8-script.h +65 -17
- data/vendor/v8/include/v8-snapshot.h +38 -2
- data/vendor/v8/include/v8-source-location.h +6 -1
- data/vendor/v8/include/v8-template.h +111 -263
- data/vendor/v8/include/v8-trace-categories.h +23 -0
- data/vendor/v8/include/v8-traced-handle.h +20 -32
- data/vendor/v8/include/v8-typed-array.h +6 -10
- data/vendor/v8/include/v8-unwinder-state.h +2 -3
- data/vendor/v8/include/v8-unwinder.h +2 -1
- data/vendor/v8/include/v8-util.h +1 -117
- data/vendor/v8/include/v8-value-serializer-version.h +3 -3
- data/vendor/v8/include/v8-value.h +21 -2
- data/vendor/v8/include/v8-version.h +4 -4
- data/vendor/v8/include/v8-wasm.h +27 -0
- data/vendor/v8/include/v8-weak-callback-info.h +20 -12
- data/vendor/v8/include/v8.h +3 -3
- data/vendor/v8/include/v8config.h +83 -45
- metadata +7 -7
- data/vendor/v8/include/cppgc/ephemeron-pair.h +0 -30
@@ -9,6 +9,7 @@
|
|
9
9
|
#include <string_view>
|
10
10
|
|
11
11
|
#include "v8-data.h" // NOLINT(build/include_directory)
|
12
|
+
#include "v8-exception.h" // NOLINT(build/include_directory)
|
12
13
|
#include "v8-function-callback.h" // NOLINT(build/include_directory)
|
13
14
|
#include "v8-local-handle.h" // NOLINT(build/include_directory)
|
14
15
|
#include "v8-memory-span.h" // NOLINT(build/include_directory)
|
@@ -60,6 +61,20 @@ class V8_EXPORT Template : public Data {
|
|
60
61
|
V8_INLINE void Set(Isolate* isolate, const char* name, Local<Data> value,
|
61
62
|
PropertyAttribute attributes = None);
|
62
63
|
|
64
|
+
/**
|
65
|
+
* Sets an "accessor property" on the object template, see
|
66
|
+
* https://tc39.es/ecma262/#sec-object-type.
|
67
|
+
*
|
68
|
+
* Whenever the property with the given name is accessed on objects
|
69
|
+
* created from this ObjectTemplate the getter and setter functions
|
70
|
+
* are called.
|
71
|
+
*
|
72
|
+
* \param name The name of the property for which an accessor is added.
|
73
|
+
* \param getter The callback to invoke when getting the property.
|
74
|
+
* \param setter The callback to invoke when setting the property.
|
75
|
+
* \param attribute The attributes of the property for which an accessor
|
76
|
+
* is added.
|
77
|
+
*/
|
63
78
|
void SetAccessorProperty(
|
64
79
|
Local<Name> name,
|
65
80
|
Local<FunctionTemplate> getter = Local<FunctionTemplate>(),
|
@@ -67,12 +82,18 @@ class V8_EXPORT Template : public Data {
|
|
67
82
|
PropertyAttribute attribute = None);
|
68
83
|
|
69
84
|
/**
|
85
|
+
* Sets a "data property" on the object template, see
|
86
|
+
* https://tc39.es/ecma262/#sec-object-type.
|
87
|
+
*
|
70
88
|
* Whenever the property with the given name is accessed on objects
|
71
89
|
* created from this Template the getter and setter callbacks
|
72
90
|
* are called instead of getting and setting the property directly
|
73
91
|
* on the JavaScript object.
|
92
|
+
* Note that in case a property is written via a "child" object, the setter
|
93
|
+
* will not be called according to the JavaScript specification. See
|
94
|
+
* https://tc39.es/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-set-p-v-receiver.
|
74
95
|
*
|
75
|
-
* \param name The name of the property for which an accessor is added.
|
96
|
+
* \param name The name of the data property for which an accessor is added.
|
76
97
|
* \param getter The callback to invoke when getting the property.
|
77
98
|
* \param setter The callback to invoke when setting the property.
|
78
99
|
* \param data A piece of data that will be passed to the getter and setter
|
@@ -80,27 +101,6 @@ class V8_EXPORT Template : public Data {
|
|
80
101
|
* \param attribute The attributes of the property for which an accessor
|
81
102
|
* is added.
|
82
103
|
*/
|
83
|
-
V8_DEPRECATE_SOON("Use SetNativeDataProperty without AccessControl instead")
|
84
|
-
void SetNativeDataProperty(
|
85
|
-
Local<String> name, AccessorGetterCallback getter,
|
86
|
-
AccessorSetterCallback setter, Local<Value> data,
|
87
|
-
PropertyAttribute attribute, AccessControl settings,
|
88
|
-
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
|
89
|
-
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
|
90
|
-
V8_DEPRECATE_SOON("Use SetNativeDataProperty without AccessControl instead")
|
91
|
-
void SetNativeDataProperty(
|
92
|
-
Local<Name> name, AccessorNameGetterCallback getter,
|
93
|
-
AccessorNameSetterCallback setter, Local<Value> data,
|
94
|
-
PropertyAttribute attribute, AccessControl settings,
|
95
|
-
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
|
96
|
-
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
|
97
|
-
V8_DEPRECATE_SOON("Use SetNativeDataProperty with Local<Name> instead")
|
98
|
-
void SetNativeDataProperty(
|
99
|
-
Local<String> name, AccessorGetterCallback getter,
|
100
|
-
AccessorSetterCallback setter = nullptr,
|
101
|
-
Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
|
102
|
-
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
|
103
|
-
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
|
104
104
|
void SetNativeDataProperty(
|
105
105
|
Local<Name> name, AccessorNameGetterCallback getter,
|
106
106
|
AccessorNameSetterCallback setter = nullptr,
|
@@ -142,7 +142,8 @@ enum class Intercepted : uint8_t { kNo = 0, kYes = 1 };
|
|
142
142
|
* Interceptor for get requests on an object.
|
143
143
|
*
|
144
144
|
* If the interceptor handles the request (i.e. the property should not be
|
145
|
-
* looked up beyond the interceptor) it
|
145
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
146
|
+
* should
|
146
147
|
* - (optionally) use info.GetReturnValue().Set()` to set the return value
|
147
148
|
* (by default the result is set to v8::Undefined),
|
148
149
|
* - return `Intercepted::kYes`.
|
@@ -194,7 +195,8 @@ using GenericNamedPropertyGetterCallback =
|
|
194
195
|
* Interceptor for set requests on an object.
|
195
196
|
*
|
196
197
|
* If the interceptor handles the request (i.e. the property should not be
|
197
|
-
* looked up beyond the interceptor
|
198
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
199
|
+
* should return `Intercepted::kYes`.
|
198
200
|
* If the interceptor does not handle the request it must return
|
199
201
|
* `Intercepted::kNo` and it must not produce side effects.
|
200
202
|
*
|
@@ -229,9 +231,10 @@ using GenericNamedPropertySetterCallback =
|
|
229
231
|
* defineProperty().
|
230
232
|
*
|
231
233
|
* If the interceptor handles the request (i.e. the property should not be
|
232
|
-
* looked up beyond the interceptor) it
|
233
|
-
*
|
234
|
-
*
|
234
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
235
|
+
* should
|
236
|
+
* - (optionally) use `info.GetReturnValue().Set()` to set to an Integer
|
237
|
+
* value encoding a `v8::PropertyAttribute` bits,
|
235
238
|
* - return `Intercepted::kYes`.
|
236
239
|
* If the interceptor does not handle the request it must return
|
237
240
|
* `Intercepted::kNo` and it must not produce side effects.
|
@@ -263,9 +266,10 @@ using GenericNamedPropertyQueryCallback =
|
|
263
266
|
* Interceptor for delete requests on an object.
|
264
267
|
*
|
265
268
|
* If the interceptor handles the request (i.e. the property should not be
|
266
|
-
* looked up beyond the interceptor) it
|
267
|
-
*
|
268
|
-
*
|
269
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
270
|
+
* should
|
271
|
+
* - (optionally) use `info.GetReturnValue().Set()` to set to a Boolean value
|
272
|
+
* indicating whether the property deletion was successful or not,
|
269
273
|
* - return `Intercepted::kYes`.
|
270
274
|
* If the interceptor does not handle the request it must return
|
271
275
|
* `Intercepted::kNo` and it must not produce side effects.
|
@@ -311,7 +315,8 @@ using GenericNamedPropertyEnumeratorCallback = NamedPropertyEnumeratorCallback;
|
|
311
315
|
* Interceptor for defineProperty requests on an object.
|
312
316
|
*
|
313
317
|
* If the interceptor handles the request (i.e. the property should not be
|
314
|
-
* looked up beyond the interceptor
|
318
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
319
|
+
* should return `Intercepted::kYes`.
|
315
320
|
* If the interceptor does not handle the request it must return
|
316
321
|
* `Intercepted::kNo` and it must not produce side effects.
|
317
322
|
*
|
@@ -344,10 +349,11 @@ using GenericNamedPropertyDefinerCallback =
|
|
344
349
|
* Interceptor for getOwnPropertyDescriptor requests on an object.
|
345
350
|
*
|
346
351
|
* If the interceptor handles the request (i.e. the property should not be
|
347
|
-
* looked up beyond the interceptor) it
|
348
|
-
*
|
349
|
-
*
|
350
|
-
*
|
352
|
+
* looked up beyond the interceptor or in case an exception was thrown) it
|
353
|
+
* should
|
354
|
+
* - (optionally) use `info.GetReturnValue().Set()` to set the return value
|
355
|
+
* which must be object that can be converted to a PropertyDescriptor (for
|
356
|
+
* example, a value returned by `v8::Object::getOwnPropertyDescriptor`),
|
351
357
|
* - return `Intercepted::kYes`.
|
352
358
|
* If the interceptor does not handle the request it must return
|
353
359
|
* `Intercepted::kNo` and it must not produce side effects.
|
@@ -379,7 +385,7 @@ using GenericNamedPropertyDescriptorCallback =
|
|
379
385
|
// removed.
|
380
386
|
|
381
387
|
/**
|
382
|
-
* See `v8::
|
388
|
+
* See `v8::NamedPropertyGetterCallback`.
|
383
389
|
*/
|
384
390
|
using IndexedPropertyGetterCallbackV2 =
|
385
391
|
Intercepted (*)(uint32_t index, const PropertyCallbackInfo<Value>& info);
|
@@ -388,7 +394,7 @@ using IndexedPropertyGetterCallback =
|
|
388
394
|
void (*)(uint32_t index, const PropertyCallbackInfo<Value>& info);
|
389
395
|
|
390
396
|
/**
|
391
|
-
* See `v8::
|
397
|
+
* See `v8::NamedPropertySetterCallback`.
|
392
398
|
*/
|
393
399
|
using IndexedPropertySetterCallbackV2 = Intercepted (*)(
|
394
400
|
uint32_t index, Local<Value> value, const PropertyCallbackInfo<void>& info);
|
@@ -398,7 +404,7 @@ using IndexedPropertySetterCallback =
|
|
398
404
|
const PropertyCallbackInfo<Value>& info);
|
399
405
|
|
400
406
|
/**
|
401
|
-
* See `v8::
|
407
|
+
* See `v8::NamedPropertyQueryCallback`.
|
402
408
|
*/
|
403
409
|
using IndexedPropertyQueryCallbackV2 =
|
404
410
|
Intercepted (*)(uint32_t index, const PropertyCallbackInfo<Integer>& info);
|
@@ -407,7 +413,7 @@ using IndexedPropertyQueryCallback =
|
|
407
413
|
void (*)(uint32_t index, const PropertyCallbackInfo<Integer>& info);
|
408
414
|
|
409
415
|
/**
|
410
|
-
* See `v8::
|
416
|
+
* See `v8::NamedPropertyDeleterCallback`.
|
411
417
|
*/
|
412
418
|
using IndexedPropertyDeleterCallbackV2 =
|
413
419
|
Intercepted (*)(uint32_t index, const PropertyCallbackInfo<Boolean>& info);
|
@@ -425,7 +431,7 @@ using IndexedPropertyEnumeratorCallback =
|
|
425
431
|
void (*)(const PropertyCallbackInfo<Array>& info);
|
426
432
|
|
427
433
|
/**
|
428
|
-
* See `v8::
|
434
|
+
* See `v8::NamedPropertyDefinerCallback`.
|
429
435
|
*/
|
430
436
|
using IndexedPropertyDefinerCallbackV2 =
|
431
437
|
Intercepted (*)(uint32_t index, const PropertyDescriptor& desc,
|
@@ -436,7 +442,7 @@ using IndexedPropertyDefinerCallback =
|
|
436
442
|
const PropertyCallbackInfo<Value>& info);
|
437
443
|
|
438
444
|
/**
|
439
|
-
* See `v8::
|
445
|
+
* See `v8::NamedPropertyDescriptorCallback`.
|
440
446
|
*/
|
441
447
|
using IndexedPropertyDescriptorCallbackV2 =
|
442
448
|
Intercepted (*)(uint32_t index, const PropertyCallbackInfo<Value>& info);
|
@@ -489,8 +495,8 @@ enum class ConstructorBehavior { kThrow, kAllow };
|
|
489
495
|
* proto_t->Set(isolate, "proto_const", v8::Number::New(isolate, 2));
|
490
496
|
*
|
491
497
|
* v8::Local<v8::ObjectTemplate> instance_t = t->InstanceTemplate();
|
492
|
-
* instance_t->
|
493
|
-
|
498
|
+
* instance_t->SetNativeDataProperty(
|
499
|
+
* String::NewFromUtf8Literal(isolate, "instance_accessor"),
|
494
500
|
* InstanceAccessorCallback);
|
495
501
|
* instance_t->SetHandler(
|
496
502
|
* NamedPropertyHandlerConfiguration(PropertyHandlerCallback));
|
@@ -650,6 +656,18 @@ class V8_EXPORT FunctionTemplate : public Template {
|
|
650
656
|
*/
|
651
657
|
void SetClassName(Local<String> name);
|
652
658
|
|
659
|
+
/**
|
660
|
+
* Set the interface name of the FunctionTemplate. This is provided as
|
661
|
+
* contextual information in an ExceptionPropagationMessage to the embedder.
|
662
|
+
*/
|
663
|
+
void SetInterfaceName(Local<String> name);
|
664
|
+
|
665
|
+
/**
|
666
|
+
* Provides information on the type of FunctionTemplate for embedder
|
667
|
+
* exception handling.
|
668
|
+
*/
|
669
|
+
void SetExceptionContext(ExceptionContext context);
|
670
|
+
|
653
671
|
/**
|
654
672
|
* When set to true, no access check will be performed on the receiver of a
|
655
673
|
* function call. Currently defaults to true, but this is subject to change.
|
@@ -683,6 +701,14 @@ class V8_EXPORT FunctionTemplate : public Template {
|
|
683
701
|
*/
|
684
702
|
bool IsLeafTemplateForApiObject(v8::Local<v8::Value> value) const;
|
685
703
|
|
704
|
+
/**
|
705
|
+
* Checks if the object can be promoted to read only space, seals it and
|
706
|
+
* prepares for promotion.
|
707
|
+
*
|
708
|
+
* This is an experimental feature and may still change significantly.
|
709
|
+
*/
|
710
|
+
void SealAndPrepareForPromotionToReadOnly();
|
711
|
+
|
686
712
|
V8_INLINE static FunctionTemplate* Cast(Data* data);
|
687
713
|
|
688
714
|
private:
|
@@ -752,34 +778,13 @@ struct NamedPropertyHandlerConfiguration {
|
|
752
778
|
NamedPropertyDescriptorCallback descriptor, //
|
753
779
|
Local<Value> data = Local<Value>(),
|
754
780
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
755
|
-
: getter(
|
756
|
-
setter(
|
757
|
-
query(
|
758
|
-
deleter(
|
759
|
-
enumerator(enumerator),
|
760
|
-
definer(reinterpret_cast<void*>(definer)),
|
761
|
-
descriptor(reinterpret_cast<void*>(descriptor)),
|
762
|
-
data(data),
|
763
|
-
flags(WithNewSignatureFlag(flags)) {}
|
764
|
-
|
765
|
-
// This variant will be deprecated soon.
|
766
|
-
NamedPropertyHandlerConfiguration(
|
767
|
-
GenericNamedPropertyGetterCallback getter,
|
768
|
-
GenericNamedPropertySetterCallback setter,
|
769
|
-
GenericNamedPropertyQueryCallback query,
|
770
|
-
GenericNamedPropertyDeleterCallback deleter,
|
771
|
-
GenericNamedPropertyEnumeratorCallback enumerator,
|
772
|
-
GenericNamedPropertyDefinerCallback definer,
|
773
|
-
GenericNamedPropertyDescriptorCallback descriptor,
|
774
|
-
Local<Value> data = Local<Value>(),
|
775
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
776
|
-
: getter(reinterpret_cast<void*>(getter)),
|
777
|
-
setter(reinterpret_cast<void*>(setter)),
|
778
|
-
query(reinterpret_cast<void*>(query)),
|
779
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
781
|
+
: getter(getter),
|
782
|
+
setter(setter),
|
783
|
+
query(query),
|
784
|
+
deleter(deleter),
|
780
785
|
enumerator(enumerator),
|
781
|
-
definer(
|
782
|
-
descriptor(
|
786
|
+
definer(definer),
|
787
|
+
descriptor(descriptor),
|
783
788
|
data(data),
|
784
789
|
flags(flags) {}
|
785
790
|
|
@@ -791,29 +796,10 @@ struct NamedPropertyHandlerConfiguration {
|
|
791
796
|
NamedPropertyEnumeratorCallback enumerator = nullptr,
|
792
797
|
Local<Value> data = Local<Value>(),
|
793
798
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
794
|
-
: getter(
|
795
|
-
setter(
|
796
|
-
query(
|
797
|
-
deleter(
|
798
|
-
enumerator(enumerator),
|
799
|
-
definer(nullptr),
|
800
|
-
descriptor(nullptr),
|
801
|
-
data(data),
|
802
|
-
flags(WithNewSignatureFlag(flags)) {}
|
803
|
-
|
804
|
-
// This variant will be deprecated soon.
|
805
|
-
explicit NamedPropertyHandlerConfiguration(
|
806
|
-
GenericNamedPropertyGetterCallback getter,
|
807
|
-
GenericNamedPropertySetterCallback setter = nullptr,
|
808
|
-
GenericNamedPropertyQueryCallback query = nullptr,
|
809
|
-
GenericNamedPropertyDeleterCallback deleter = nullptr,
|
810
|
-
GenericNamedPropertyEnumeratorCallback enumerator = nullptr,
|
811
|
-
Local<Value> data = Local<Value>(),
|
812
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
813
|
-
: getter(reinterpret_cast<void*>(getter)),
|
814
|
-
setter(reinterpret_cast<void*>(setter)),
|
815
|
-
query(reinterpret_cast<void*>(query)),
|
816
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
799
|
+
: getter(getter),
|
800
|
+
setter(setter),
|
801
|
+
query(query),
|
802
|
+
deleter(deleter),
|
817
803
|
enumerator(enumerator),
|
818
804
|
definer(nullptr),
|
819
805
|
descriptor(nullptr),
|
@@ -829,43 +815,23 @@ struct NamedPropertyHandlerConfiguration {
|
|
829
815
|
NamedPropertyDefinerCallback definer, //
|
830
816
|
Local<Value> data = Local<Value>(),
|
831
817
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
832
|
-
: getter(
|
833
|
-
setter(
|
834
|
-
query(nullptr),
|
835
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
836
|
-
enumerator(enumerator),
|
837
|
-
definer(reinterpret_cast<void*>(definer)),
|
838
|
-
descriptor(reinterpret_cast<void*>(descriptor)),
|
839
|
-
data(data),
|
840
|
-
flags(WithNewSignatureFlag(flags)) {}
|
841
|
-
|
842
|
-
// This variant will be deprecated soon.
|
843
|
-
NamedPropertyHandlerConfiguration(
|
844
|
-
GenericNamedPropertyGetterCallback getter,
|
845
|
-
GenericNamedPropertySetterCallback setter,
|
846
|
-
GenericNamedPropertyDescriptorCallback descriptor,
|
847
|
-
GenericNamedPropertyDeleterCallback deleter,
|
848
|
-
GenericNamedPropertyEnumeratorCallback enumerator,
|
849
|
-
GenericNamedPropertyDefinerCallback definer,
|
850
|
-
Local<Value> data = Local<Value>(),
|
851
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
852
|
-
: getter(reinterpret_cast<void*>(getter)),
|
853
|
-
setter(reinterpret_cast<void*>(setter)),
|
818
|
+
: getter(getter),
|
819
|
+
setter(setter),
|
854
820
|
query(nullptr),
|
855
|
-
deleter(
|
821
|
+
deleter(deleter),
|
856
822
|
enumerator(enumerator),
|
857
|
-
definer(
|
858
|
-
descriptor(
|
823
|
+
definer(definer),
|
824
|
+
descriptor(descriptor),
|
859
825
|
data(data),
|
860
826
|
flags(flags) {}
|
861
827
|
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
828
|
+
NamedPropertyGetterCallback getter;
|
829
|
+
NamedPropertySetterCallback setter;
|
830
|
+
NamedPropertyQueryCallback query;
|
831
|
+
NamedPropertyDeleterCallback deleter;
|
866
832
|
NamedPropertyEnumeratorCallback enumerator;
|
867
|
-
|
868
|
-
|
833
|
+
NamedPropertyDefinerCallback definer;
|
834
|
+
NamedPropertyDescriptorCallback descriptor;
|
869
835
|
Local<Value> data;
|
870
836
|
PropertyHandlerFlags flags;
|
871
837
|
};
|
@@ -891,34 +857,13 @@ struct IndexedPropertyHandlerConfiguration {
|
|
891
857
|
IndexedPropertyDescriptorCallbackV2 descriptor, //
|
892
858
|
Local<Value> data = Local<Value>(),
|
893
859
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
894
|
-
: getter(
|
895
|
-
setter(
|
896
|
-
query(
|
897
|
-
deleter(
|
898
|
-
enumerator(enumerator),
|
899
|
-
definer(reinterpret_cast<void*>(definer)),
|
900
|
-
descriptor(reinterpret_cast<void*>(descriptor)),
|
901
|
-
data(data),
|
902
|
-
flags(WithNewSignatureFlag(flags)) {}
|
903
|
-
|
904
|
-
// This variant will be deprecated soon.
|
905
|
-
IndexedPropertyHandlerConfiguration(
|
906
|
-
IndexedPropertyGetterCallback getter, //
|
907
|
-
IndexedPropertySetterCallback setter, //
|
908
|
-
IndexedPropertyQueryCallback query, //
|
909
|
-
IndexedPropertyDeleterCallback deleter, //
|
910
|
-
IndexedPropertyEnumeratorCallback enumerator, //
|
911
|
-
IndexedPropertyDefinerCallback definer, //
|
912
|
-
IndexedPropertyDescriptorCallback descriptor, //
|
913
|
-
Local<Value> data = Local<Value>(),
|
914
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
915
|
-
: getter(reinterpret_cast<void*>(getter)),
|
916
|
-
setter(reinterpret_cast<void*>(setter)),
|
917
|
-
query(reinterpret_cast<void*>(query)),
|
918
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
860
|
+
: getter(getter),
|
861
|
+
setter(setter),
|
862
|
+
query(query),
|
863
|
+
deleter(deleter),
|
919
864
|
enumerator(enumerator),
|
920
|
-
definer(
|
921
|
-
descriptor(
|
865
|
+
definer(definer),
|
866
|
+
descriptor(descriptor),
|
922
867
|
data(data),
|
923
868
|
flags(flags) {}
|
924
869
|
|
@@ -930,29 +875,10 @@ struct IndexedPropertyHandlerConfiguration {
|
|
930
875
|
IndexedPropertyEnumeratorCallback enumerator = nullptr,
|
931
876
|
Local<Value> data = Local<Value>(),
|
932
877
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
933
|
-
: getter(
|
934
|
-
setter(
|
935
|
-
query(
|
936
|
-
deleter(
|
937
|
-
enumerator(enumerator),
|
938
|
-
definer(nullptr),
|
939
|
-
descriptor(nullptr),
|
940
|
-
data(data),
|
941
|
-
flags(WithNewSignatureFlag(flags)) {}
|
942
|
-
|
943
|
-
// This variant will be deprecated soon.
|
944
|
-
explicit IndexedPropertyHandlerConfiguration(
|
945
|
-
IndexedPropertyGetterCallback getter,
|
946
|
-
IndexedPropertySetterCallback setter = nullptr,
|
947
|
-
IndexedPropertyQueryCallback query = nullptr,
|
948
|
-
IndexedPropertyDeleterCallback deleter = nullptr,
|
949
|
-
IndexedPropertyEnumeratorCallback enumerator = nullptr,
|
950
|
-
Local<Value> data = Local<Value>(),
|
951
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
952
|
-
: getter(reinterpret_cast<void*>(getter)),
|
953
|
-
setter(reinterpret_cast<void*>(setter)),
|
954
|
-
query(reinterpret_cast<void*>(query)),
|
955
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
878
|
+
: getter(getter),
|
879
|
+
setter(setter),
|
880
|
+
query(query),
|
881
|
+
deleter(deleter),
|
956
882
|
enumerator(enumerator),
|
957
883
|
definer(nullptr),
|
958
884
|
descriptor(nullptr),
|
@@ -968,43 +894,23 @@ struct IndexedPropertyHandlerConfiguration {
|
|
968
894
|
IndexedPropertyDefinerCallbackV2 definer,
|
969
895
|
Local<Value> data = Local<Value>(),
|
970
896
|
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
971
|
-
: getter(
|
972
|
-
setter(
|
897
|
+
: getter(getter),
|
898
|
+
setter(setter),
|
973
899
|
query(nullptr),
|
974
|
-
deleter(
|
900
|
+
deleter(deleter),
|
975
901
|
enumerator(enumerator),
|
976
|
-
definer(
|
977
|
-
descriptor(
|
978
|
-
data(data),
|
979
|
-
flags(WithNewSignatureFlag(flags)) {}
|
980
|
-
|
981
|
-
// This variant will be deprecated soon.
|
982
|
-
IndexedPropertyHandlerConfiguration(
|
983
|
-
IndexedPropertyGetterCallback getter,
|
984
|
-
IndexedPropertySetterCallback setter,
|
985
|
-
IndexedPropertyDescriptorCallback descriptor,
|
986
|
-
IndexedPropertyDeleterCallback deleter,
|
987
|
-
IndexedPropertyEnumeratorCallback enumerator,
|
988
|
-
IndexedPropertyDefinerCallback definer,
|
989
|
-
Local<Value> data = Local<Value>(),
|
990
|
-
PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
|
991
|
-
: getter(reinterpret_cast<void*>(getter)),
|
992
|
-
setter(reinterpret_cast<void*>(setter)),
|
993
|
-
query(nullptr),
|
994
|
-
deleter(reinterpret_cast<void*>(deleter)),
|
995
|
-
enumerator(enumerator),
|
996
|
-
definer(reinterpret_cast<void*>(definer)),
|
997
|
-
descriptor(reinterpret_cast<void*>(descriptor)),
|
902
|
+
definer(definer),
|
903
|
+
descriptor(descriptor),
|
998
904
|
data(data),
|
999
905
|
flags(flags) {}
|
1000
906
|
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
907
|
+
IndexedPropertyGetterCallbackV2 getter;
|
908
|
+
IndexedPropertySetterCallbackV2 setter;
|
909
|
+
IndexedPropertyQueryCallbackV2 query;
|
910
|
+
IndexedPropertyDeleterCallbackV2 deleter;
|
1005
911
|
IndexedPropertyEnumeratorCallback enumerator;
|
1006
|
-
|
1007
|
-
|
912
|
+
IndexedPropertyDefinerCallbackV2 definer;
|
913
|
+
IndexedPropertyDescriptorCallbackV2 descriptor;
|
1008
914
|
Local<Value> data;
|
1009
915
|
PropertyHandlerFlags flags;
|
1010
916
|
};
|
@@ -1029,36 +935,6 @@ class V8_EXPORT ObjectTemplate : public Template {
|
|
1029
935
|
*/
|
1030
936
|
V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(Local<Context> context);
|
1031
937
|
|
1032
|
-
/**
|
1033
|
-
* Sets an accessor on the object template.
|
1034
|
-
*
|
1035
|
-
* Whenever the property with the given name is accessed on objects
|
1036
|
-
* created from this ObjectTemplate the getter and setter callbacks
|
1037
|
-
* are called instead of getting and setting the property directly
|
1038
|
-
* on the JavaScript object.
|
1039
|
-
*
|
1040
|
-
* \param name The name of the property for which an accessor is added.
|
1041
|
-
* \param getter The callback to invoke when getting the property.
|
1042
|
-
* \param setter The callback to invoke when setting the property.
|
1043
|
-
* \param data A piece of data that will be passed to the getter and setter
|
1044
|
-
* callbacks whenever they are invoked.
|
1045
|
-
* \param attribute The attributes of the property for which an accessor
|
1046
|
-
* is added.
|
1047
|
-
*/
|
1048
|
-
V8_DEPRECATE_SOON("Use SetAccessor with Local<Name> instead")
|
1049
|
-
void SetAccessor(
|
1050
|
-
Local<String> name, AccessorGetterCallback getter,
|
1051
|
-
AccessorSetterCallback setter = nullptr,
|
1052
|
-
Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
|
1053
|
-
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
|
1054
|
-
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
|
1055
|
-
void SetAccessor(
|
1056
|
-
Local<Name> name, AccessorNameGetterCallback getter,
|
1057
|
-
AccessorNameSetterCallback setter = nullptr,
|
1058
|
-
Local<Value> data = Local<Value>(), PropertyAttribute attribute = None,
|
1059
|
-
SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
|
1060
|
-
SideEffectType setter_side_effect_type = SideEffectType::kHasSideEffect);
|
1061
|
-
|
1062
938
|
/**
|
1063
939
|
* Sets a named property handler on the object template.
|
1064
940
|
*
|
@@ -1072,34 +948,6 @@ class V8_EXPORT ObjectTemplate : public Template {
|
|
1072
948
|
*/
|
1073
949
|
void SetHandler(const NamedPropertyHandlerConfiguration& configuration);
|
1074
950
|
|
1075
|
-
/**
|
1076
|
-
* Sets an indexed property handler on the object template.
|
1077
|
-
*
|
1078
|
-
* Whenever an indexed property is accessed on objects created from
|
1079
|
-
* this object template, the provided callback is invoked instead of
|
1080
|
-
* accessing the property directly on the JavaScript object.
|
1081
|
-
*
|
1082
|
-
* \param getter The callback to invoke when getting a property.
|
1083
|
-
* \param setter The callback to invoke when setting a property.
|
1084
|
-
* \param query The callback to invoke to check if an object has a property.
|
1085
|
-
* \param deleter The callback to invoke when deleting a property.
|
1086
|
-
* \param enumerator The callback to invoke to enumerate all the indexed
|
1087
|
-
* properties of an object.
|
1088
|
-
* \param data A piece of data that will be passed to the callbacks
|
1089
|
-
* whenever they are invoked.
|
1090
|
-
*/
|
1091
|
-
V8_DEPRECATE_SOON("Use SetHandler instead")
|
1092
|
-
void SetIndexedPropertyHandler(
|
1093
|
-
IndexedPropertyGetterCallback getter,
|
1094
|
-
IndexedPropertySetterCallback setter = nullptr,
|
1095
|
-
IndexedPropertyQueryCallback query = nullptr,
|
1096
|
-
IndexedPropertyDeleterCallback deleter = nullptr,
|
1097
|
-
IndexedPropertyEnumeratorCallback enumerator = nullptr,
|
1098
|
-
Local<Value> data = Local<Value>()) {
|
1099
|
-
SetHandler(IndexedPropertyHandlerConfiguration(getter, setter, query,
|
1100
|
-
deleter, enumerator, data));
|
1101
|
-
}
|
1102
|
-
|
1103
951
|
/**
|
1104
952
|
* Sets an indexed property handler on the object template.
|
1105
953
|
*
|
@@ -0,0 +1,23 @@
|
|
1
|
+
// Copyright 2025 the V8 project authors. All rights reserved.
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
3
|
+
// found in the LICENSE file.
|
4
|
+
|
5
|
+
#ifndef INCLUDE_V8_TRACE_CATEGORIES_H_
|
6
|
+
#define INCLUDE_V8_TRACE_CATEGORIES_H_
|
7
|
+
|
8
|
+
#if defined(V8_USE_PERFETTO)
|
9
|
+
|
10
|
+
#include "perfetto/tracing/track_event.h"
|
11
|
+
#include "v8config.h"
|
12
|
+
|
13
|
+
namespace v8 {
|
14
|
+
|
15
|
+
// Returns the perfeto TrackEventCategoryRegistry for v8 tracing categories.
|
16
|
+
V8_EXPORT const perfetto::internal::TrackEventCategoryRegistry&
|
17
|
+
GetTrackEventCategoryRegistry();
|
18
|
+
|
19
|
+
} // namespace v8
|
20
|
+
|
21
|
+
#endif // defined(V8_USE_PERFETTO)
|
22
|
+
|
23
|
+
#endif // INCLUDE_V8_TRACE_CATEGORIES_H_
|