libv8-node 16.10.0.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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/ext/libv8-node/paths.rb +5 -1
  3. data/lib/libv8/node/version.rb +3 -3
  4. data/vendor/v8/include/cppgc/allocation.h +100 -22
  5. data/vendor/v8/include/cppgc/cross-thread-persistent.h +114 -33
  6. data/vendor/v8/include/cppgc/default-platform.h +2 -10
  7. data/vendor/v8/include/cppgc/explicit-management.h +22 -4
  8. data/vendor/v8/include/cppgc/garbage-collected.h +15 -26
  9. data/vendor/v8/include/cppgc/heap-consistency.h +30 -0
  10. data/vendor/v8/include/cppgc/heap-state.h +12 -0
  11. data/vendor/v8/include/cppgc/heap.h +7 -2
  12. data/vendor/v8/include/cppgc/internal/api-constants.h +8 -0
  13. data/vendor/v8/include/cppgc/internal/caged-heap-local-data.h +25 -14
  14. data/vendor/v8/include/cppgc/internal/finalizer-trait.h +4 -1
  15. data/vendor/v8/include/cppgc/internal/gc-info.h +90 -10
  16. data/vendor/v8/include/cppgc/internal/logging.h +3 -3
  17. data/vendor/v8/include/cppgc/internal/name-trait.h +11 -0
  18. data/vendor/v8/include/cppgc/internal/persistent-node.h +73 -29
  19. data/vendor/v8/include/cppgc/internal/pointer-policies.h +26 -15
  20. data/vendor/v8/include/cppgc/internal/write-barrier.h +62 -23
  21. data/vendor/v8/include/cppgc/liveness-broker.h +4 -1
  22. data/vendor/v8/include/cppgc/member.h +7 -2
  23. data/vendor/v8/include/cppgc/persistent.h +38 -33
  24. data/vendor/v8/include/cppgc/platform.h +4 -1
  25. data/vendor/v8/include/cppgc/prefinalizer.h +35 -12
  26. data/vendor/v8/include/cppgc/testing.h +9 -2
  27. data/vendor/v8/include/cppgc/type-traits.h +6 -13
  28. data/vendor/v8/include/cppgc/visitor.h +9 -7
  29. data/vendor/v8/include/libplatform/libplatform.h +0 -11
  30. data/vendor/v8/include/libplatform/v8-tracing.h +0 -1
  31. data/vendor/v8/include/v8-array-buffer.h +445 -0
  32. data/vendor/v8/include/v8-callbacks.h +397 -0
  33. data/vendor/v8/include/v8-container.h +129 -0
  34. data/vendor/v8/include/v8-context.h +407 -0
  35. data/vendor/v8/include/v8-cppgc.h +21 -128
  36. data/vendor/v8/include/v8-data.h +80 -0
  37. data/vendor/v8/include/v8-date.h +43 -0
  38. data/vendor/v8/include/v8-debug.h +168 -0
  39. data/vendor/v8/include/v8-embedder-heap.h +218 -0
  40. data/vendor/v8/include/v8-embedder-state-scope.h +51 -0
  41. data/vendor/v8/include/v8-exception.h +217 -0
  42. data/vendor/v8/include/v8-extension.h +62 -0
  43. data/vendor/v8/include/v8-external.h +37 -0
  44. data/vendor/v8/include/v8-fast-api-calls.h +172 -24
  45. data/vendor/v8/include/v8-forward.h +81 -0
  46. data/vendor/v8/include/v8-function-callback.h +475 -0
  47. data/vendor/v8/include/v8-function.h +125 -0
  48. data/vendor/v8/include/v8-initialization.h +315 -0
  49. data/vendor/v8/include/v8-inspector.h +56 -28
  50. data/vendor/v8/include/v8-internal.h +217 -55
  51. data/vendor/v8/include/v8-isolate.h +1709 -0
  52. data/vendor/v8/include/v8-json.h +47 -0
  53. data/vendor/v8/include/v8-local-handle.h +455 -0
  54. data/vendor/v8/include/v8-locker.h +149 -0
  55. data/vendor/v8/include/v8-maybe.h +137 -0
  56. data/vendor/v8/include/v8-memory-span.h +43 -0
  57. data/vendor/v8/include/v8-message.h +216 -0
  58. data/vendor/v8/include/v8-metrics.h +69 -16
  59. data/vendor/v8/include/v8-microtask-queue.h +152 -0
  60. data/vendor/v8/include/v8-microtask.h +28 -0
  61. data/vendor/v8/include/v8-object.h +775 -0
  62. data/vendor/v8/include/v8-persistent-handle.h +590 -0
  63. data/vendor/v8/include/v8-platform.h +400 -17
  64. data/vendor/v8/include/v8-primitive-object.h +118 -0
  65. data/vendor/v8/include/v8-primitive.h +866 -0
  66. data/vendor/v8/include/v8-profiler.h +88 -13
  67. data/vendor/v8/include/v8-promise.h +174 -0
  68. data/vendor/v8/include/v8-proxy.h +50 -0
  69. data/vendor/v8/include/v8-regexp.h +105 -0
  70. data/vendor/v8/include/v8-script.h +747 -0
  71. data/vendor/v8/include/v8-snapshot.h +196 -0
  72. data/vendor/v8/include/v8-statistics.h +217 -0
  73. data/vendor/v8/include/v8-template.h +1079 -0
  74. data/vendor/v8/include/v8-traced-handle.h +420 -0
  75. data/vendor/v8/include/v8-typed-array.h +282 -0
  76. data/vendor/v8/include/v8-unwinder-state.h +4 -3
  77. data/vendor/v8/include/v8-unwinder.h +132 -0
  78. data/vendor/v8/include/v8-util.h +7 -1
  79. data/vendor/v8/include/v8-value-serializer-version.h +1 -1
  80. data/vendor/v8/include/v8-value-serializer.h +279 -0
  81. data/vendor/v8/include/v8-value.h +526 -0
  82. data/vendor/v8/include/v8-version.h +4 -4
  83. data/vendor/v8/include/v8-wasm.h +257 -0
  84. data/vendor/v8/include/v8-weak-callback-info.h +87 -0
  85. data/vendor/v8/include/v8.h +41 -12601
  86. data/vendor/v8/include/v8config.h +102 -12
  87. data/vendor/v8/x86_64-linux/libv8/obj/libv8_monolith.a +0 -0
  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: x86_64-linux
6
6
  authors:
7
7
  - ''
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-17 00:00:00.000000000 Z
11
+ date: 2022-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -73,7 +73,6 @@ files:
73
73
  - vendor/v8/include/cppgc/internal/name-trait.h
74
74
  - vendor/v8/include/cppgc/internal/persistent-node.h
75
75
  - vendor/v8/include/cppgc/internal/pointer-policies.h
76
- - vendor/v8/include/cppgc/internal/prefinalizer-handler.h
77
76
  - vendor/v8/include/cppgc/internal/write-barrier.h
78
77
  - vendor/v8/include/cppgc/liveness-broker.h
79
78
  - vendor/v8/include/cppgc/macros.h
@@ -93,25 +92,68 @@ files:
93
92
  - vendor/v8/include/libplatform/libplatform-export.h
94
93
  - vendor/v8/include/libplatform/libplatform.h
95
94
  - vendor/v8/include/libplatform/v8-tracing.h
95
+ - vendor/v8/include/v8-array-buffer.h
96
+ - vendor/v8/include/v8-callbacks.h
97
+ - vendor/v8/include/v8-container.h
98
+ - vendor/v8/include/v8-context.h
96
99
  - vendor/v8/include/v8-cppgc.h
100
+ - vendor/v8/include/v8-data.h
101
+ - vendor/v8/include/v8-date.h
102
+ - vendor/v8/include/v8-debug.h
103
+ - vendor/v8/include/v8-embedder-heap.h
104
+ - vendor/v8/include/v8-embedder-state-scope.h
105
+ - vendor/v8/include/v8-exception.h
106
+ - vendor/v8/include/v8-extension.h
107
+ - vendor/v8/include/v8-external.h
97
108
  - vendor/v8/include/v8-fast-api-calls.h
109
+ - vendor/v8/include/v8-forward.h
110
+ - vendor/v8/include/v8-function-callback.h
111
+ - vendor/v8/include/v8-function.h
112
+ - vendor/v8/include/v8-initialization.h
98
113
  - vendor/v8/include/v8-inspector-protocol.h
99
114
  - vendor/v8/include/v8-inspector.h
100
115
  - vendor/v8/include/v8-internal.h
116
+ - vendor/v8/include/v8-isolate.h
117
+ - vendor/v8/include/v8-json.h
118
+ - vendor/v8/include/v8-local-handle.h
119
+ - vendor/v8/include/v8-locker.h
120
+ - vendor/v8/include/v8-maybe.h
121
+ - vendor/v8/include/v8-memory-span.h
122
+ - vendor/v8/include/v8-message.h
101
123
  - vendor/v8/include/v8-metrics.h
124
+ - vendor/v8/include/v8-microtask-queue.h
125
+ - vendor/v8/include/v8-microtask.h
126
+ - vendor/v8/include/v8-object.h
127
+ - vendor/v8/include/v8-persistent-handle.h
102
128
  - vendor/v8/include/v8-platform.h
129
+ - vendor/v8/include/v8-primitive-object.h
130
+ - vendor/v8/include/v8-primitive.h
103
131
  - vendor/v8/include/v8-profiler.h
132
+ - vendor/v8/include/v8-promise.h
133
+ - vendor/v8/include/v8-proxy.h
134
+ - vendor/v8/include/v8-regexp.h
135
+ - vendor/v8/include/v8-script.h
136
+ - vendor/v8/include/v8-snapshot.h
137
+ - vendor/v8/include/v8-statistics.h
138
+ - vendor/v8/include/v8-template.h
139
+ - vendor/v8/include/v8-traced-handle.h
140
+ - vendor/v8/include/v8-typed-array.h
104
141
  - vendor/v8/include/v8-unwinder-state.h
142
+ - vendor/v8/include/v8-unwinder.h
105
143
  - vendor/v8/include/v8-util.h
106
144
  - vendor/v8/include/v8-value-serializer-version.h
145
+ - vendor/v8/include/v8-value-serializer.h
146
+ - vendor/v8/include/v8-value.h
107
147
  - vendor/v8/include/v8-version-string.h
108
148
  - vendor/v8/include/v8-version.h
109
149
  - vendor/v8/include/v8-wasm-trap-handler-posix.h
110
150
  - vendor/v8/include/v8-wasm-trap-handler-win.h
151
+ - vendor/v8/include/v8-wasm.h
152
+ - vendor/v8/include/v8-weak-callback-info.h
111
153
  - vendor/v8/include/v8.h
112
154
  - vendor/v8/include/v8config.h
113
155
  - vendor/v8/x86_64-linux/libv8/obj/libv8_monolith.a
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.0.3
176
+ rubygems_version: 3.0.3.1
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_