libv8-node 16.10.0.0-arm64-darwin → 18.8.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 (89) 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/arm64-darwin/libv8/obj/libv8_monolith.a +0 -0
  5. data/vendor/v8/include/cppgc/allocation.h +100 -22
  6. data/vendor/v8/include/cppgc/cross-thread-persistent.h +114 -33
  7. data/vendor/v8/include/cppgc/default-platform.h +2 -10
  8. data/vendor/v8/include/cppgc/explicit-management.h +22 -4
  9. data/vendor/v8/include/cppgc/garbage-collected.h +15 -26
  10. data/vendor/v8/include/cppgc/heap-consistency.h +30 -0
  11. data/vendor/v8/include/cppgc/heap-state.h +12 -0
  12. data/vendor/v8/include/cppgc/heap.h +7 -2
  13. data/vendor/v8/include/cppgc/internal/api-constants.h +8 -0
  14. data/vendor/v8/include/cppgc/internal/caged-heap-local-data.h +25 -14
  15. data/vendor/v8/include/cppgc/internal/finalizer-trait.h +4 -1
  16. data/vendor/v8/include/cppgc/internal/gc-info.h +90 -10
  17. data/vendor/v8/include/cppgc/internal/logging.h +3 -3
  18. data/vendor/v8/include/cppgc/internal/name-trait.h +11 -0
  19. data/vendor/v8/include/cppgc/internal/persistent-node.h +73 -29
  20. data/vendor/v8/include/cppgc/internal/pointer-policies.h +26 -15
  21. data/vendor/v8/include/cppgc/internal/write-barrier.h +62 -23
  22. data/vendor/v8/include/cppgc/liveness-broker.h +4 -1
  23. data/vendor/v8/include/cppgc/member.h +7 -2
  24. data/vendor/v8/include/cppgc/persistent.h +38 -33
  25. data/vendor/v8/include/cppgc/platform.h +4 -1
  26. data/vendor/v8/include/cppgc/prefinalizer.h +35 -12
  27. data/vendor/v8/include/cppgc/testing.h +9 -2
  28. data/vendor/v8/include/cppgc/type-traits.h +6 -13
  29. data/vendor/v8/include/cppgc/visitor.h +9 -7
  30. data/vendor/v8/include/libplatform/libplatform.h +0 -11
  31. data/vendor/v8/include/libplatform/v8-tracing.h +0 -1
  32. data/vendor/v8/include/v8-array-buffer.h +445 -0
  33. data/vendor/v8/include/v8-callbacks.h +397 -0
  34. data/vendor/v8/include/v8-container.h +129 -0
  35. data/vendor/v8/include/v8-context.h +407 -0
  36. data/vendor/v8/include/v8-cppgc.h +21 -128
  37. data/vendor/v8/include/v8-data.h +80 -0
  38. data/vendor/v8/include/v8-date.h +43 -0
  39. data/vendor/v8/include/v8-debug.h +168 -0
  40. data/vendor/v8/include/v8-embedder-heap.h +218 -0
  41. data/vendor/v8/include/v8-embedder-state-scope.h +51 -0
  42. data/vendor/v8/include/v8-exception.h +217 -0
  43. data/vendor/v8/include/v8-extension.h +62 -0
  44. data/vendor/v8/include/v8-external.h +37 -0
  45. data/vendor/v8/include/v8-fast-api-calls.h +172 -24
  46. data/vendor/v8/include/v8-forward.h +81 -0
  47. data/vendor/v8/include/v8-function-callback.h +475 -0
  48. data/vendor/v8/include/v8-function.h +125 -0
  49. data/vendor/v8/include/v8-initialization.h +315 -0
  50. data/vendor/v8/include/v8-inspector.h +56 -28
  51. data/vendor/v8/include/v8-internal.h +217 -55
  52. data/vendor/v8/include/v8-isolate.h +1709 -0
  53. data/vendor/v8/include/v8-json.h +47 -0
  54. data/vendor/v8/include/v8-local-handle.h +455 -0
  55. data/vendor/v8/include/v8-locker.h +149 -0
  56. data/vendor/v8/include/v8-maybe.h +137 -0
  57. data/vendor/v8/include/v8-memory-span.h +43 -0
  58. data/vendor/v8/include/v8-message.h +216 -0
  59. data/vendor/v8/include/v8-metrics.h +69 -16
  60. data/vendor/v8/include/v8-microtask-queue.h +152 -0
  61. data/vendor/v8/include/v8-microtask.h +28 -0
  62. data/vendor/v8/include/v8-object.h +775 -0
  63. data/vendor/v8/include/v8-persistent-handle.h +590 -0
  64. data/vendor/v8/include/v8-platform.h +400 -17
  65. data/vendor/v8/include/v8-primitive-object.h +118 -0
  66. data/vendor/v8/include/v8-primitive.h +866 -0
  67. data/vendor/v8/include/v8-profiler.h +88 -13
  68. data/vendor/v8/include/v8-promise.h +174 -0
  69. data/vendor/v8/include/v8-proxy.h +50 -0
  70. data/vendor/v8/include/v8-regexp.h +105 -0
  71. data/vendor/v8/include/v8-script.h +747 -0
  72. data/vendor/v8/include/v8-snapshot.h +196 -0
  73. data/vendor/v8/include/v8-statistics.h +217 -0
  74. data/vendor/v8/include/v8-template.h +1079 -0
  75. data/vendor/v8/include/v8-traced-handle.h +420 -0
  76. data/vendor/v8/include/v8-typed-array.h +282 -0
  77. data/vendor/v8/include/v8-unwinder-state.h +4 -3
  78. data/vendor/v8/include/v8-unwinder.h +132 -0
  79. data/vendor/v8/include/v8-util.h +7 -1
  80. data/vendor/v8/include/v8-value-serializer-version.h +1 -1
  81. data/vendor/v8/include/v8-value-serializer.h +279 -0
  82. data/vendor/v8/include/v8-value.h +526 -0
  83. data/vendor/v8/include/v8-version.h +4 -4
  84. data/vendor/v8/include/v8-wasm.h +257 -0
  85. data/vendor/v8/include/v8-weak-callback-info.h +87 -0
  86. data/vendor/v8/include/v8.h +41 -12601
  87. data/vendor/v8/include/v8config.h +102 -12
  88. metadata +47 -5
  89. data/vendor/v8/include/cppgc/internal/prefinalizer-handler.h +0 -30
@@ -65,13 +65,14 @@ path. Add it with -I<path> to the command line
65
65
  // Operating system detection (host)
66
66
  //
67
67
  // V8_OS_ANDROID - Android
68
- // V8_OS_BSD - BSDish (Mac OS X, Net/Free/Open/DragonFlyBSD)
68
+ // V8_OS_BSD - BSDish (macOS, Net/Free/Open/DragonFlyBSD)
69
69
  // V8_OS_CYGWIN - Cygwin
70
70
  // V8_OS_DRAGONFLYBSD - DragonFlyBSD
71
71
  // V8_OS_FREEBSD - FreeBSD
72
72
  // V8_OS_FUCHSIA - Fuchsia
73
- // V8_OS_LINUX - Linux
74
- // V8_OS_MACOSX - Mac OS X
73
+ // V8_OS_LINUX - Linux (Android, ChromeOS, Linux, ...)
74
+ // V8_OS_DARWIN - Darwin (macOS, iOS)
75
+ // V8_OS_MACOS - macOS
75
76
  // V8_OS_IOS - iOS
76
77
  // V8_OS_NETBSD - NetBSD
77
78
  // V8_OS_OPENBSD - OpenBSD
@@ -86,51 +87,81 @@ path. Add it with -I<path> to the command line
86
87
  # define V8_OS_ANDROID 1
87
88
  # define V8_OS_LINUX 1
88
89
  # define V8_OS_POSIX 1
90
+ # define V8_OS_STRING "android"
91
+
89
92
  #elif defined(__APPLE__)
90
- # define V8_OS_BSD 1
91
- # define V8_OS_MACOSX 1
92
93
  # define V8_OS_POSIX 1
94
+ # define V8_OS_BSD 1
95
+ # define V8_OS_DARWIN 1
93
96
  # if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
94
97
  # define V8_OS_IOS 1
98
+ # define V8_OS_STRING "ios"
99
+ # else
100
+ # define V8_OS_MACOS 1
101
+ # define V8_OS_STRING "macos"
95
102
  # endif // defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
103
+
96
104
  #elif defined(__CYGWIN__)
97
105
  # define V8_OS_CYGWIN 1
98
106
  # define V8_OS_POSIX 1
107
+ # define V8_OS_STRING "cygwin"
108
+
99
109
  #elif defined(__linux__)
100
110
  # define V8_OS_LINUX 1
101
111
  # define V8_OS_POSIX 1
112
+ # define V8_OS_STRING "linux"
113
+
102
114
  #elif defined(__sun)
103
115
  # define V8_OS_POSIX 1
104
116
  # define V8_OS_SOLARIS 1
117
+ # define V8_OS_STRING "sun"
118
+
105
119
  #elif defined(STARBOARD)
106
120
  # define V8_OS_STARBOARD 1
121
+ # define V8_OS_STRING "starboard"
122
+
107
123
  #elif defined(_AIX)
108
- #define V8_OS_POSIX 1
109
- #define V8_OS_AIX 1
124
+ # define V8_OS_POSIX 1
125
+ # define V8_OS_AIX 1
126
+ # define V8_OS_STRING "aix"
127
+
110
128
  #elif defined(__FreeBSD__)
111
129
  # define V8_OS_BSD 1
112
130
  # define V8_OS_FREEBSD 1
113
131
  # define V8_OS_POSIX 1
132
+ # define V8_OS_STRING "freebsd"
133
+
114
134
  #elif defined(__Fuchsia__)
115
135
  # define V8_OS_FUCHSIA 1
116
136
  # define V8_OS_POSIX 1
137
+ # define V8_OS_STRING "fuchsia"
138
+
117
139
  #elif defined(__DragonFly__)
118
140
  # define V8_OS_BSD 1
119
141
  # define V8_OS_DRAGONFLYBSD 1
120
142
  # define V8_OS_POSIX 1
143
+ # define V8_OS_STRING "dragonflybsd"
144
+
121
145
  #elif defined(__NetBSD__)
122
146
  # define V8_OS_BSD 1
123
147
  # define V8_OS_NETBSD 1
124
148
  # define V8_OS_POSIX 1
149
+ # define V8_OS_STRING "netbsd"
150
+
125
151
  #elif defined(__OpenBSD__)
126
152
  # define V8_OS_BSD 1
127
153
  # define V8_OS_OPENBSD 1
128
154
  # define V8_OS_POSIX 1
155
+ # define V8_OS_STRING "openbsd"
156
+
129
157
  #elif defined(__QNXNTO__)
130
158
  # define V8_OS_POSIX 1
131
159
  # define V8_OS_QNX 1
160
+ # define V8_OS_STRING "qnx"
161
+
132
162
  #elif defined(_WIN32)
133
163
  # define V8_OS_WIN 1
164
+ # define V8_OS_STRING "windows"
134
165
  #endif
135
166
 
136
167
  // -----------------------------------------------------------------------------
@@ -140,7 +171,7 @@ path. Add it with -I<path> to the command line
140
171
  // V8_TARGET_OS_FUCHSIA
141
172
  // V8_TARGET_OS_IOS
142
173
  // V8_TARGET_OS_LINUX
143
- // V8_TARGET_OS_MACOSX
174
+ // V8_TARGET_OS_MACOS
144
175
  // V8_TARGET_OS_WIN
145
176
  //
146
177
  // If not set explicitly, these fall back to corresponding V8_OS_ values.
@@ -152,7 +183,7 @@ path. Add it with -I<path> to the command line
152
183
  && !defined(V8_TARGET_OS_FUCHSIA) \
153
184
  && !defined(V8_TARGET_OS_IOS) \
154
185
  && !defined(V8_TARGET_OS_LINUX) \
155
- && !defined(V8_TARGET_OS_MACOSX) \
186
+ && !defined(V8_TARGET_OS_MACOS) \
156
187
  && !defined(V8_TARGET_OS_WIN)
157
188
  # error No known target OS defined.
158
189
  # endif
@@ -163,7 +194,7 @@ path. Add it with -I<path> to the command line
163
194
  || defined(V8_TARGET_OS_FUCHSIA) \
164
195
  || defined(V8_TARGET_OS_IOS) \
165
196
  || defined(V8_TARGET_OS_LINUX) \
166
- || defined(V8_TARGET_OS_MACOSX) \
197
+ || defined(V8_TARGET_OS_MACOS) \
167
198
  || defined(V8_TARGET_OS_WIN)
168
199
  # error A target OS is defined but V8_HAVE_TARGET_OS is unset.
169
200
  # endif
@@ -185,8 +216,8 @@ path. Add it with -I<path> to the command line
185
216
  # define V8_TARGET_OS_LINUX
186
217
  #endif
187
218
 
188
- #ifdef V8_OS_MACOSX
189
- # define V8_TARGET_OS_MACOSX
219
+ #ifdef V8_OS_MACOS
220
+ # define V8_TARGET_OS_MACOS
190
221
  #endif
191
222
 
192
223
  #ifdef V8_OS_WIN
@@ -195,6 +226,22 @@ path. Add it with -I<path> to the command line
195
226
 
196
227
  #endif // V8_HAVE_TARGET_OS
197
228
 
229
+ #if defined(V8_TARGET_OS_ANDROID)
230
+ # define V8_TARGET_OS_STRING "android"
231
+ #elif defined(V8_TARGET_OS_FUCHSIA)
232
+ # define V8_TARGET_OS_STRING "fuchsia"
233
+ #elif defined(V8_TARGET_OS_IOS)
234
+ # define V8_TARGET_OS_STRING "ios"
235
+ #elif defined(V8_TARGET_OS_LINUX)
236
+ # define V8_TARGET_OS_STRING "linux"
237
+ #elif defined(V8_TARGET_OS_MACOS)
238
+ # define V8_TARGET_OS_STRING "macos"
239
+ #elif defined(V8_TARGET_OS_WINDOWS)
240
+ # define V8_TARGET_OS_STRING "windows"
241
+ #else
242
+ # define V8_TARGET_OS_STRING "unknown"
243
+ #endif
244
+
198
245
  // -----------------------------------------------------------------------------
199
246
  // C library detection
200
247
  //
@@ -248,6 +295,8 @@ path. Add it with -I<path> to the command line
248
295
  // V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT - __attribute__((warn_unused_result))
249
296
  // supported
250
297
  // V8_HAS_CPP_ATTRIBUTE_NODISCARD - [[nodiscard]] supported
298
+ // V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS
299
+ // - [[no_unique_address]] supported
251
300
  // V8_HAS_BUILTIN_BSWAP16 - __builtin_bswap16() supported
252
301
  // V8_HAS_BUILTIN_BSWAP32 - __builtin_bswap32() supported
253
302
  // V8_HAS_BUILTIN_BSWAP64 - __builtin_bswap64() supported
@@ -292,6 +341,8 @@ path. Add it with -I<path> to the command line
292
341
  (__has_attribute(warn_unused_result))
293
342
 
294
343
  # define V8_HAS_CPP_ATTRIBUTE_NODISCARD (V8_HAS_CPP_ATTRIBUTE(nodiscard))
344
+ # define V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS \
345
+ (V8_HAS_CPP_ATTRIBUTE(no_unique_address))
295
346
 
296
347
  # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
297
348
  # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
@@ -462,6 +513,27 @@ path. Add it with -I<path> to the command line
462
513
  #define V8_NODISCARD /* NOT SUPPORTED */
463
514
  #endif
464
515
 
516
+ // The no_unique_address attribute allows tail padding in a non-static data
517
+ // member to overlap other members of the enclosing class (and in the special
518
+ // case when the type is empty, permits it to fully overlap other members). The
519
+ // field is laid out as if a base class were encountered at the corresponding
520
+ // point within the class (except that it does not share a vptr with the
521
+ // enclosing object).
522
+ //
523
+ // Apply to a data member like:
524
+ //
525
+ // class Foo {
526
+ // V8_NO_UNIQUE_ADDRESS Bar bar_;
527
+ // };
528
+ //
529
+ // [[no_unique_address]] comes in C++20 but supported in clang with
530
+ // -std >= c++11.
531
+ #if V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS
532
+ #define V8_NO_UNIQUE_ADDRESS [[no_unique_address]]
533
+ #else
534
+ #define V8_NO_UNIQUE_ADDRESS /* NOT SUPPORTED */
535
+ #endif
536
+
465
537
  // Helper macro to define no_sanitize attributes only with clang.
466
538
  #if defined(__clang__) && defined(__has_attribute)
467
539
  #if __has_attribute(no_sanitize)
@@ -508,6 +580,24 @@ V8 shared library set USING_V8_SHARED.
508
580
 
509
581
  #endif // V8_OS_WIN
510
582
 
583
+ // The sandbox is available (i.e. defined) when pointer compression
584
+ // is enabled, but it is only used when V8_SANDBOX is enabled as
585
+ // well. This allows better test coverage of the sandbox.
586
+ #if defined(V8_COMPRESS_POINTERS)
587
+ #define V8_SANDBOX_IS_AVAILABLE
588
+ #endif
589
+
590
+ #if defined(V8_SANDBOX) && !defined(V8_SANDBOX_IS_AVAILABLE)
591
+ #error Inconsistent configuration: sandbox is enabled but not available
592
+ #endif
593
+
594
+ // From C++17 onwards, static constexpr member variables are defined to be
595
+ // "inline", and adding a separate definition for them can trigger deprecation
596
+ // warnings. For C++14 and below, however, these definitions are required.
597
+ #if __cplusplus < 201703L && (!defined(_MSVC_LANG) || _MSVC_LANG < 201703L)
598
+ #define V8_STATIC_CONSTEXPR_VARIABLES_NEED_DEFINITIONS
599
+ #endif
600
+
511
601
  // clang-format on
512
602
 
513
603
  #undef V8_HAS_CPP_ATTRIBUTE
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libv8-node
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.10.0.0
4
+ version: 18.8.0.0
5
5
  platform: arm64-darwin
6
6
  authors:
7
7
  - ''
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-16 00:00:00.000000000 Z
11
+ date: 2022-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -74,7 +74,6 @@ files:
74
74
  - vendor/v8/include/cppgc/internal/name-trait.h
75
75
  - vendor/v8/include/cppgc/internal/persistent-node.h
76
76
  - vendor/v8/include/cppgc/internal/pointer-policies.h
77
- - vendor/v8/include/cppgc/internal/prefinalizer-handler.h
78
77
  - vendor/v8/include/cppgc/internal/write-barrier.h
79
78
  - vendor/v8/include/cppgc/liveness-broker.h
80
79
  - vendor/v8/include/cppgc/macros.h
@@ -94,24 +93,67 @@ files:
94
93
  - vendor/v8/include/libplatform/libplatform-export.h
95
94
  - vendor/v8/include/libplatform/libplatform.h
96
95
  - vendor/v8/include/libplatform/v8-tracing.h
96
+ - vendor/v8/include/v8-array-buffer.h
97
+ - vendor/v8/include/v8-callbacks.h
98
+ - vendor/v8/include/v8-container.h
99
+ - vendor/v8/include/v8-context.h
97
100
  - vendor/v8/include/v8-cppgc.h
101
+ - vendor/v8/include/v8-data.h
102
+ - vendor/v8/include/v8-date.h
103
+ - vendor/v8/include/v8-debug.h
104
+ - vendor/v8/include/v8-embedder-heap.h
105
+ - vendor/v8/include/v8-embedder-state-scope.h
106
+ - vendor/v8/include/v8-exception.h
107
+ - vendor/v8/include/v8-extension.h
108
+ - vendor/v8/include/v8-external.h
98
109
  - vendor/v8/include/v8-fast-api-calls.h
110
+ - vendor/v8/include/v8-forward.h
111
+ - vendor/v8/include/v8-function-callback.h
112
+ - vendor/v8/include/v8-function.h
113
+ - vendor/v8/include/v8-initialization.h
99
114
  - vendor/v8/include/v8-inspector-protocol.h
100
115
  - vendor/v8/include/v8-inspector.h
101
116
  - vendor/v8/include/v8-internal.h
117
+ - vendor/v8/include/v8-isolate.h
118
+ - vendor/v8/include/v8-json.h
119
+ - vendor/v8/include/v8-local-handle.h
120
+ - vendor/v8/include/v8-locker.h
121
+ - vendor/v8/include/v8-maybe.h
122
+ - vendor/v8/include/v8-memory-span.h
123
+ - vendor/v8/include/v8-message.h
102
124
  - vendor/v8/include/v8-metrics.h
125
+ - vendor/v8/include/v8-microtask-queue.h
126
+ - vendor/v8/include/v8-microtask.h
127
+ - vendor/v8/include/v8-object.h
128
+ - vendor/v8/include/v8-persistent-handle.h
103
129
  - vendor/v8/include/v8-platform.h
130
+ - vendor/v8/include/v8-primitive-object.h
131
+ - vendor/v8/include/v8-primitive.h
104
132
  - vendor/v8/include/v8-profiler.h
133
+ - vendor/v8/include/v8-promise.h
134
+ - vendor/v8/include/v8-proxy.h
135
+ - vendor/v8/include/v8-regexp.h
136
+ - vendor/v8/include/v8-script.h
137
+ - vendor/v8/include/v8-snapshot.h
138
+ - vendor/v8/include/v8-statistics.h
139
+ - vendor/v8/include/v8-template.h
140
+ - vendor/v8/include/v8-traced-handle.h
141
+ - vendor/v8/include/v8-typed-array.h
105
142
  - vendor/v8/include/v8-unwinder-state.h
143
+ - vendor/v8/include/v8-unwinder.h
106
144
  - vendor/v8/include/v8-util.h
107
145
  - vendor/v8/include/v8-value-serializer-version.h
146
+ - vendor/v8/include/v8-value-serializer.h
147
+ - vendor/v8/include/v8-value.h
108
148
  - vendor/v8/include/v8-version-string.h
109
149
  - vendor/v8/include/v8-version.h
110
150
  - vendor/v8/include/v8-wasm-trap-handler-posix.h
111
151
  - vendor/v8/include/v8-wasm-trap-handler-win.h
152
+ - vendor/v8/include/v8-wasm.h
153
+ - vendor/v8/include/v8-weak-callback-info.h
112
154
  - vendor/v8/include/v8.h
113
155
  - vendor/v8/include/v8config.h
114
- homepage: https://github.com/sqreen/ruby-libv8-node
156
+ homepage: https://github.com/rubyjs/libv8-node
115
157
  licenses:
116
158
  - MIT
117
159
  metadata: {}
@@ -131,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
173
  - !ruby/object:Gem::Version
132
174
  version: '0'
133
175
  requirements: []
134
- rubygems_version: 3.2.24
176
+ rubygems_version: 3.2.26
135
177
  signing_key:
136
178
  specification_version: 4
137
179
  summary: Node.JS's V8 JavaScript engine
@@ -1,30 +0,0 @@
1
- // Copyright 2020 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_CPPGC_INTERNAL_PREFINALIZER_HANDLER_H_
6
- #define INCLUDE_CPPGC_INTERNAL_PREFINALIZER_HANDLER_H_
7
-
8
- #include "cppgc/heap.h"
9
- #include "cppgc/liveness-broker.h"
10
-
11
- namespace cppgc {
12
- namespace internal {
13
-
14
- class V8_EXPORT PreFinalizerRegistrationDispatcher final {
15
- public:
16
- using PreFinalizerCallback = bool (*)(const LivenessBroker&, void*);
17
- struct PreFinalizer {
18
- void* object;
19
- PreFinalizerCallback callback;
20
-
21
- bool operator==(const PreFinalizer& other) const;
22
- };
23
-
24
- static void RegisterPrefinalizer(PreFinalizer pre_finalizer);
25
- };
26
-
27
- } // namespace internal
28
- } // namespace cppgc
29
-
30
- #endif // INCLUDE_CPPGC_INTERNAL_PREFINALIZER_HANDLER_H_