libv8 6.2.414.42.1-universal-darwin-17 → 8.4.255.0-universal-darwin-17

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 (59) hide show
  1. checksums.yaml +5 -5
  2. data/ext/libv8/paths.rb +5 -18
  3. data/lib/libv8/version.rb +1 -1
  4. data/vendor/v8/include/cppgc/allocation.h +124 -0
  5. data/vendor/v8/include/cppgc/garbage-collected.h +192 -0
  6. data/vendor/v8/include/cppgc/heap.h +50 -0
  7. data/vendor/v8/include/cppgc/internal/accessors.h +26 -0
  8. data/vendor/v8/include/cppgc/internal/api-constants.h +44 -0
  9. data/vendor/v8/include/cppgc/internal/compiler-specific.h +26 -0
  10. data/vendor/v8/include/cppgc/internal/finalizer-trait.h +90 -0
  11. data/vendor/v8/include/cppgc/internal/gc-info.h +43 -0
  12. data/vendor/v8/include/cppgc/internal/logging.h +50 -0
  13. data/vendor/v8/include/cppgc/internal/persistent-node.h +109 -0
  14. data/vendor/v8/include/cppgc/internal/pointer-policies.h +133 -0
  15. data/vendor/v8/include/cppgc/internal/prefinalizer-handler.h +31 -0
  16. data/vendor/v8/include/cppgc/liveness-broker.h +50 -0
  17. data/vendor/v8/include/cppgc/macros.h +26 -0
  18. data/vendor/v8/include/cppgc/member.h +206 -0
  19. data/vendor/v8/include/cppgc/persistent.h +304 -0
  20. data/vendor/v8/include/cppgc/platform.h +31 -0
  21. data/vendor/v8/include/cppgc/prefinalizer.h +54 -0
  22. data/vendor/v8/include/cppgc/source-location.h +59 -0
  23. data/vendor/v8/include/cppgc/trace-trait.h +67 -0
  24. data/vendor/v8/include/cppgc/type-traits.h +109 -0
  25. data/vendor/v8/include/cppgc/visitor.h +137 -0
  26. data/vendor/v8/include/libplatform/libplatform.h +15 -13
  27. data/vendor/v8/include/libplatform/v8-tracing.h +69 -21
  28. data/vendor/v8/include/v8-fast-api-calls.h +412 -0
  29. data/vendor/v8/include/v8-inspector-protocol.h +4 -4
  30. data/vendor/v8/include/v8-inspector.h +95 -35
  31. data/vendor/v8/include/v8-internal.h +389 -0
  32. data/vendor/v8/include/v8-platform.h +388 -52
  33. data/vendor/v8/include/v8-profiler.h +363 -213
  34. data/vendor/v8/include/v8-util.h +33 -36
  35. data/vendor/v8/include/v8-version-string.h +10 -5
  36. data/vendor/v8/include/v8-version.h +4 -4
  37. data/vendor/v8/include/v8-wasm-trap-handler-posix.h +31 -0
  38. data/vendor/v8/include/v8-wasm-trap-handler-win.h +28 -0
  39. data/vendor/v8/include/v8.h +3566 -1925
  40. data/vendor/v8/include/v8config.h +162 -114
  41. data/vendor/v8/out.gn/libv8/obj/libv8_libbase.a +0 -0
  42. data/vendor/v8/out.gn/libv8/obj/libv8_libplatform.a +0 -0
  43. data/vendor/v8/out.gn/libv8/obj/libv8_monolith.a +0 -0
  44. data/vendor/v8/out.gn/libv8/obj/third_party/icu/libicui18n.a +0 -0
  45. data/vendor/v8/out.gn/libv8/obj/third_party/icu/libicuuc.a +0 -0
  46. data/vendor/v8/out.gn/libv8/obj/third_party/zlib/google/libcompression_utils_portable.a +0 -0
  47. data/vendor/v8/out.gn/libv8/obj/third_party/zlib/libchrome_zlib.a +0 -0
  48. metadata +40 -19
  49. data/ext/libv8/arch.rb +0 -20
  50. data/vendor/v8/include/v8-debug.h +0 -255
  51. data/vendor/v8/include/v8-testing.h +0 -48
  52. data/vendor/v8/out/x64.release/libv8_base.a +0 -0
  53. data/vendor/v8/out/x64.release/libv8_builtins_generators.a +0 -0
  54. data/vendor/v8/out/x64.release/libv8_builtins_setup.a +0 -0
  55. data/vendor/v8/out/x64.release/libv8_libbase.a +0 -0
  56. data/vendor/v8/out/x64.release/libv8_libplatform.a +0 -0
  57. data/vendor/v8/out/x64.release/libv8_libsampler.a +0 -0
  58. data/vendor/v8/out/x64.release/libv8_nosnapshot.a +0 -0
  59. data/vendor/v8/out/x64.release/libv8_snapshot.a +0 -0
@@ -54,7 +54,7 @@
54
54
 
55
55
 
56
56
  // -----------------------------------------------------------------------------
57
- // Operating system detection
57
+ // Operating system detection (host)
58
58
  //
59
59
  // V8_OS_ANDROID - Android
60
60
  // V8_OS_BSD - BSDish (Mac OS X, Net/Free/Open/DragonFlyBSD)
@@ -64,6 +64,7 @@
64
64
  // V8_OS_FUCHSIA - Fuchsia
65
65
  // V8_OS_LINUX - Linux
66
66
  // V8_OS_MACOSX - Mac OS X
67
+ // V8_OS_IOS - iOS
67
68
  // V8_OS_NETBSD - NetBSD
68
69
  // V8_OS_OPENBSD - OpenBSD
69
70
  // V8_OS_POSIX - POSIX compatible (mostly everything except Windows)
@@ -80,6 +81,9 @@
80
81
  # define V8_OS_BSD 1
81
82
  # define V8_OS_MACOSX 1
82
83
  # define V8_OS_POSIX 1
84
+ # if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
85
+ # define V8_OS_IOS 1
86
+ # endif // defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
83
87
  #elif defined(__CYGWIN__)
84
88
  # define V8_OS_CYGWIN 1
85
89
  # define V8_OS_POSIX 1
@@ -118,6 +122,67 @@
118
122
  # define V8_OS_WIN 1
119
123
  #endif
120
124
 
125
+ // -----------------------------------------------------------------------------
126
+ // Operating system detection (target)
127
+ //
128
+ // V8_TARGET_OS_ANDROID
129
+ // V8_TARGET_OS_FUCHSIA
130
+ // V8_TARGET_OS_IOS
131
+ // V8_TARGET_OS_LINUX
132
+ // V8_TARGET_OS_MACOSX
133
+ // V8_TARGET_OS_WIN
134
+ //
135
+ // If not set explicitly, these fall back to corresponding V8_OS_ values.
136
+
137
+ #ifdef V8_HAVE_TARGET_OS
138
+
139
+ // The target OS is provided, just check that at least one known value is set.
140
+ # if !defined(V8_TARGET_OS_ANDROID) \
141
+ && !defined(V8_TARGET_OS_FUCHSIA) \
142
+ && !defined(V8_TARGET_OS_IOS) \
143
+ && !defined(V8_TARGET_OS_LINUX) \
144
+ && !defined(V8_TARGET_OS_MACOSX) \
145
+ && !defined(V8_TARGET_OS_WIN)
146
+ # error No known target OS defined.
147
+ # endif
148
+
149
+ #else // V8_HAVE_TARGET_OS
150
+
151
+ # if defined(V8_TARGET_OS_ANDROID) \
152
+ || defined(V8_TARGET_OS_FUCHSIA) \
153
+ || defined(V8_TARGET_OS_IOS) \
154
+ || defined(V8_TARGET_OS_LINUX) \
155
+ || defined(V8_TARGET_OS_MACOSX) \
156
+ || defined(V8_TARGET_OS_WIN)
157
+ # error A target OS is defined but V8_HAVE_TARGET_OS is unset.
158
+ # endif
159
+
160
+ // Fall back to the detected host OS.
161
+ #ifdef V8_OS_ANDROID
162
+ # define V8_TARGET_OS_ANDROID
163
+ #endif
164
+
165
+ #ifdef V8_OS_FUCHSIA
166
+ # define V8_TARGET_OS_FUCHSIA
167
+ #endif
168
+
169
+ #ifdef V8_OS_IOS
170
+ # define V8_TARGET_OS_IOS
171
+ #endif
172
+
173
+ #ifdef V8_OS_LINUX
174
+ # define V8_TARGET_OS_LINUX
175
+ #endif
176
+
177
+ #ifdef V8_OS_MACOSX
178
+ # define V8_TARGET_OS_MACOSX
179
+ #endif
180
+
181
+ #ifdef V8_OS_WIN
182
+ # define V8_TARGET_OS_WIN
183
+ #endif
184
+
185
+ #endif // V8_HAVE_TARGET_OS
121
186
 
122
187
  // -----------------------------------------------------------------------------
123
188
  // C library detection
@@ -161,22 +226,19 @@
161
226
  //
162
227
  // C++11 feature detection
163
228
  //
164
- // V8_HAS_CXX11_ALIGNAS - alignas specifier supported
165
- // V8_HAS_CXX11_ALIGNOF - alignof(type) operator supported
166
- //
167
229
  // Compiler-specific feature detection
168
230
  //
169
- // V8_HAS___ALIGNOF - __alignof(type) operator supported
170
- // V8_HAS___ALIGNOF__ - __alignof__(type) operator supported
171
- // V8_HAS_ATTRIBUTE_ALIGNED - __attribute__((aligned(n))) supported
172
231
  // V8_HAS_ATTRIBUTE_ALWAYS_INLINE - __attribute__((always_inline))
173
232
  // supported
174
- // V8_HAS_ATTRIBUTE_DEPRECATED - __attribute__((deprecated)) supported
233
+ // V8_HAS_ATTRIBUTE_NONNULL - __attribute__((nonnull)) supported
175
234
  // V8_HAS_ATTRIBUTE_NOINLINE - __attribute__((noinline)) supported
176
235
  // V8_HAS_ATTRIBUTE_UNUSED - __attribute__((unused)) supported
177
236
  // V8_HAS_ATTRIBUTE_VISIBILITY - __attribute__((visibility)) supported
178
237
  // V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT - __attribute__((warn_unused_result))
179
238
  // supported
239
+ // V8_HAS_BUILTIN_BSWAP16 - __builtin_bswap16() supported
240
+ // V8_HAS_BUILTIN_BSWAP32 - __builtin_bswap32() supported
241
+ // V8_HAS_BUILTIN_BSWAP64 - __builtin_bswap64() supported
180
242
  // V8_HAS_BUILTIN_CLZ - __builtin_clz() supported
181
243
  // V8_HAS_BUILTIN_CTZ - __builtin_ctz() supported
182
244
  // V8_HAS_BUILTIN_EXPECT - __builtin_expect() supported
@@ -185,11 +247,10 @@
185
247
  // V8_HAS_BUILTIN_SADD_OVERFLOW - __builtin_sadd_overflow() supported
186
248
  // V8_HAS_BUILTIN_SSUB_OVERFLOW - __builtin_ssub_overflow() supported
187
249
  // V8_HAS_BUILTIN_UADD_OVERFLOW - __builtin_uadd_overflow() supported
188
- // V8_HAS_DECLSPEC_ALIGN - __declspec(align(n)) supported
189
- // V8_HAS_DECLSPEC_DEPRECATED - __declspec(deprecated) supported
250
+ // V8_HAS_COMPUTED_GOTO - computed goto/labels as values
251
+ // supported
190
252
  // V8_HAS_DECLSPEC_NOINLINE - __declspec(noinline) supported
191
253
  // V8_HAS_DECLSPEC_SELECTANY - __declspec(selectany) supported
192
- // V8_HAS_DECLSPEC_NORETURN - __declspec(noreturn) supported
193
254
  // V8_HAS___FORCEINLINE - __forceinline supported
194
255
  //
195
256
  // Note that testing for compilers and/or features must be done using #if
@@ -204,19 +265,18 @@
204
265
  # define V8_CC_GNU 1
205
266
  #endif
206
267
 
207
- // Clang defines __alignof__ as alias for __alignof
208
- # define V8_HAS___ALIGNOF 1
209
- # define V8_HAS___ALIGNOF__ V8_HAS___ALIGNOF
210
-
211
- # define V8_HAS_ATTRIBUTE_ALIGNED (__has_attribute(aligned))
212
268
  # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (__has_attribute(always_inline))
213
- # define V8_HAS_ATTRIBUTE_DEPRECATED (__has_attribute(deprecated))
269
+ # define V8_HAS_ATTRIBUTE_NONNULL (__has_attribute(nonnull))
214
270
  # define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
215
271
  # define V8_HAS_ATTRIBUTE_UNUSED (__has_attribute(unused))
216
272
  # define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility))
217
273
  # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
218
274
  (__has_attribute(warn_unused_result))
219
275
 
276
+ # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
277
+ # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
278
+ # define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
279
+ # define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64))
220
280
  # define V8_HAS_BUILTIN_CLZ (__has_builtin(__builtin_clz))
221
281
  # define V8_HAS_BUILTIN_CTZ (__has_builtin(__builtin_ctz))
222
282
  # define V8_HAS_BUILTIN_EXPECT (__has_builtin(__builtin_expect))
@@ -226,7 +286,13 @@
226
286
  # define V8_HAS_BUILTIN_SSUB_OVERFLOW (__has_builtin(__builtin_ssub_overflow))
227
287
  # define V8_HAS_BUILTIN_UADD_OVERFLOW (__has_builtin(__builtin_uadd_overflow))
228
288
 
229
- # define V8_HAS_CXX11_ALIGNAS (__has_feature(cxx_alignas))
289
+ // Clang has no __has_feature for computed gotos.
290
+ // GCC doc: https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
291
+ # define V8_HAS_COMPUTED_GOTO 1
292
+
293
+ // Whether constexpr has full C++14 semantics, in particular that non-constexpr
294
+ // code is allowed as long as it's not executed for any constexpr instantiation.
295
+ # define V8_HAS_CXX14_CONSTEXPR 1
230
296
 
231
297
  #elif defined(__GNUC__)
232
298
 
@@ -242,42 +308,37 @@
242
308
  # endif
243
309
  # define V8_CC_MINGW (V8_CC_MINGW32 || V8_CC_MINGW64)
244
310
 
245
- # define V8_HAS___ALIGNOF__ (V8_GNUC_PREREQ(4, 3, 0))
246
-
247
- # define V8_HAS_ATTRIBUTE_ALIGNED (V8_GNUC_PREREQ(2, 95, 0))
248
311
  // always_inline is available in gcc 4.0 but not very reliable until 4.4.
249
312
  // Works around "sorry, unimplemented: inlining failed" build errors with
250
313
  // older compilers.
251
- # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (V8_GNUC_PREREQ(4, 4, 0))
252
- # define V8_HAS_ATTRIBUTE_DEPRECATED (V8_GNUC_PREREQ(3, 4, 0))
253
- # define V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE (V8_GNUC_PREREQ(4, 5, 0))
254
- # define V8_HAS_ATTRIBUTE_NOINLINE (V8_GNUC_PREREQ(3, 4, 0))
255
- # define V8_HAS_ATTRIBUTE_UNUSED (V8_GNUC_PREREQ(2, 95, 0))
256
- # define V8_HAS_ATTRIBUTE_VISIBILITY (V8_GNUC_PREREQ(4, 3, 0))
257
- # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
258
- (!V8_CC_INTEL && V8_GNUC_PREREQ(4, 1, 0))
314
+ # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE 1
315
+ # define V8_HAS_ATTRIBUTE_NOINLINE 1
316
+ # define V8_HAS_ATTRIBUTE_UNUSED 1
317
+ # define V8_HAS_ATTRIBUTE_VISIBILITY 1
318
+ # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT (!V8_CC_INTEL)
319
+
320
+ # define V8_HAS_BUILTIN_ASSUME_ALIGNED 1
321
+ # define V8_HAS_BUILTIN_CLZ 1
322
+ # define V8_HAS_BUILTIN_CTZ 1
323
+ # define V8_HAS_BUILTIN_EXPECT 1
324
+ # define V8_HAS_BUILTIN_FRAME_ADDRESS 1
325
+ # define V8_HAS_BUILTIN_POPCOUNT 1
326
+
327
+ // GCC doc: https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
328
+ #define V8_HAS_COMPUTED_GOTO 1
329
+
330
+ // Whether constexpr has full C++14 semantics, in particular that non-constexpr
331
+ // code is allowed as long as it's not executed for any constexpr instantiation.
332
+ // GCC only supports this since version 6.
333
+ # define V8_HAS_CXX14_CONSTEXPR (V8_GNUC_PREREQ(6, 0, 0))
259
334
 
260
- # define V8_HAS_BUILTIN_CLZ (V8_GNUC_PREREQ(3, 4, 0))
261
- # define V8_HAS_BUILTIN_CTZ (V8_GNUC_PREREQ(3, 4, 0))
262
- # define V8_HAS_BUILTIN_EXPECT (V8_GNUC_PREREQ(2, 96, 0))
263
- # define V8_HAS_BUILTIN_FRAME_ADDRESS (V8_GNUC_PREREQ(2, 96, 0))
264
- # define V8_HAS_BUILTIN_POPCOUNT (V8_GNUC_PREREQ(3, 4, 0))
265
-
266
- # if __cplusplus >= 201103L
267
- # define V8_HAS_CXX11_ALIGNAS (V8_GNUC_PREREQ(4, 8, 0))
268
- # define V8_HAS_CXX11_ALIGNOF (V8_GNUC_PREREQ(4, 8, 0))
269
- # endif
270
335
  #endif
271
336
 
272
337
  #if defined(_MSC_VER)
273
338
  # define V8_CC_MSVC 1
274
- # define V8_HAS___ALIGNOF 1
275
339
 
276
- # define V8_HAS_DECLSPEC_ALIGN 1
277
- # define V8_HAS_DECLSPEC_DEPRECATED 1
278
340
  # define V8_HAS_DECLSPEC_NOINLINE 1
279
341
  # define V8_HAS_DECLSPEC_SELECTANY 1
280
- # define V8_HAS_DECLSPEC_NORETURN 1
281
342
 
282
343
  # define V8_HAS___FORCEINLINE 1
283
344
 
@@ -298,14 +359,30 @@
298
359
  # define V8_INLINE inline
299
360
  #endif
300
361
 
362
+ #if V8_HAS_BUILTIN_ASSUME_ALIGNED
363
+ # define V8_ASSUME_ALIGNED(ptr, alignment) \
364
+ __builtin_assume_aligned((ptr), (alignment))
365
+ #else
366
+ # define V8_ASSUME_ALIGNED(ptr, alignment) (ptr)
367
+ #endif
368
+
369
+
370
+ // A macro to mark specific arguments as non-null.
371
+ // Use like:
372
+ // int add(int* x, int y, int* z) V8_NONNULL(1, 3) { return *x + y + *z; }
373
+ #if V8_HAS_ATTRIBUTE_NONNULL
374
+ # define V8_NONNULL(...) __attribute__((nonnull(__VA_ARGS__)))
375
+ #else
376
+ # define V8_NONNULL(...) /* NOT SUPPORTED */
377
+ #endif
378
+
301
379
 
302
380
  // A macro used to tell the compiler to never inline a particular function.
303
- // Don't bother for debug builds.
304
381
  // Use like:
305
382
  // V8_NOINLINE int GetMinusOne() { return -1; }
306
- #if !defined(DEBUG) && V8_HAS_ATTRIBUTE_NOINLINE
383
+ #if V8_HAS_ATTRIBUTE_NOINLINE
307
384
  # define V8_NOINLINE __attribute__((noinline))
308
- #elif !defined(DEBUG) && V8_HAS_DECLSPEC_NOINLINE
385
+ #elif V8_HAS_DECLSPEC_NOINLINE
309
386
  # define V8_NOINLINE __declspec(noinline)
310
387
  #else
311
388
  # define V8_NOINLINE /* NOT SUPPORTED */
@@ -313,31 +390,18 @@
313
390
 
314
391
 
315
392
  // A macro (V8_DEPRECATED) to mark classes or functions as deprecated.
316
- #if defined(V8_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE
317
- #define V8_DEPRECATED(message, declarator) \
318
- declarator __attribute__((deprecated(message)))
319
- #elif defined(V8_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED
320
- #define V8_DEPRECATED(message, declarator) \
321
- declarator __attribute__((deprecated))
322
- #elif defined(V8_DEPRECATION_WARNINGS) && V8_HAS_DECLSPEC_DEPRECATED
323
- #define V8_DEPRECATED(message, declarator) __declspec(deprecated) declarator
393
+ #if defined(V8_DEPRECATION_WARNINGS)
394
+ # define V8_DEPRECATED(message) [[deprecated(message)]]
324
395
  #else
325
- #define V8_DEPRECATED(message, declarator) declarator
396
+ # define V8_DEPRECATED(message)
326
397
  #endif
327
398
 
328
399
 
329
400
  // A macro (V8_DEPRECATE_SOON) to make it easier to see what will be deprecated.
330
- #if defined(V8_IMMINENT_DEPRECATION_WARNINGS) && \
331
- V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE
332
- #define V8_DEPRECATE_SOON(message, declarator) \
333
- declarator __attribute__((deprecated(message)))
334
- #elif defined(V8_IMMINENT_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED
335
- #define V8_DEPRECATE_SOON(message, declarator) \
336
- declarator __attribute__((deprecated))
337
- #elif defined(V8_IMMINENT_DEPRECATION_WARNINGS) && V8_HAS_DECLSPEC_DEPRECATED
338
- #define V8_DEPRECATE_SOON(message, declarator) __declspec(deprecated) declarator
401
+ #if defined(V8_IMMINENT_DEPRECATION_WARNINGS)
402
+ # define V8_DEPRECATE_SOON(message) [[deprecated(message)]]
339
403
  #else
340
- #define V8_DEPRECATE_SOON(message, declarator) declarator
404
+ # define V8_DEPRECATE_SOON(message)
341
405
  #endif
342
406
 
343
407
 
@@ -351,66 +415,50 @@
351
415
  #endif
352
416
 
353
417
 
354
- // This macro allows to specify memory alignment for structs, classes, etc.
418
+ // Annotate a function indicating the caller must examine the return value.
355
419
  // Use like:
356
- // class V8_ALIGNED(16) MyClass { ... };
357
- // V8_ALIGNED(32) int array[42];
358
- #if V8_HAS_CXX11_ALIGNAS
359
- # define V8_ALIGNED(n) alignas(n)
360
- #elif V8_HAS_ATTRIBUTE_ALIGNED
361
- # define V8_ALIGNED(n) __attribute__((aligned(n)))
362
- #elif V8_HAS_DECLSPEC_ALIGN
363
- # define V8_ALIGNED(n) __declspec(align(n))
420
+ // int foo() V8_WARN_UNUSED_RESULT;
421
+ #if V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT
422
+ #define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
364
423
  #else
365
- # define V8_ALIGNED(n) /* NOT SUPPORTED */
424
+ #define V8_WARN_UNUSED_RESULT /* NOT SUPPORTED */
366
425
  #endif
367
426
 
427
+ #if defined(BUILDING_V8_SHARED) && defined(USING_V8_SHARED)
428
+ #error Inconsistent build configuration: To build the V8 shared library \
429
+ set BUILDING_V8_SHARED, to include its headers for linking against the \
430
+ V8 shared library set USING_V8_SHARED.
431
+ #endif
368
432
 
369
- // This macro is similar to V8_ALIGNED(), but takes a type instead of size
370
- // in bytes. If the compiler does not supports using the alignment of the
371
- // |type|, it will align according to the |alignment| instead. For example,
372
- // Visual Studio C++ cannot combine __declspec(align) and __alignof. The
373
- // |alignment| must be a literal that is used as a kind of worst-case fallback
374
- // alignment.
375
- // Use like:
376
- // struct V8_ALIGNAS(AnotherClass, 16) NewClass { ... };
377
- // V8_ALIGNAS(double, 8) int array[100];
378
- #if V8_HAS_CXX11_ALIGNAS
379
- # define V8_ALIGNAS(type, alignment) alignas(type)
380
- #elif V8_HAS___ALIGNOF__ && V8_HAS_ATTRIBUTE_ALIGNED
381
- # define V8_ALIGNAS(type, alignment) __attribute__((aligned(__alignof__(type))))
433
+ #ifdef V8_OS_WIN
434
+
435
+ // Setup for Windows DLL export/import. When building the V8 DLL the
436
+ // BUILDING_V8_SHARED needs to be defined. When building a program which uses
437
+ // the V8 DLL USING_V8_SHARED needs to be defined. When either building the V8
438
+ // static library or building a program which uses the V8 static library neither
439
+ // BUILDING_V8_SHARED nor USING_V8_SHARED should be defined.
440
+ #ifdef BUILDING_V8_SHARED
441
+ # define V8_EXPORT __declspec(dllexport)
442
+ #elif USING_V8_SHARED
443
+ # define V8_EXPORT __declspec(dllimport)
382
444
  #else
383
- # define V8_ALIGNAS(type, alignment) V8_ALIGNED(alignment)
384
- #endif
445
+ # define V8_EXPORT
446
+ #endif // BUILDING_V8_SHARED
385
447
 
448
+ #else // V8_OS_WIN
386
449
 
387
- // This macro returns alignment in bytes (an integer power of two) required for
388
- // any instance of the given type, which is either complete type, an array type,
389
- // or a reference type.
390
- // Use like:
391
- // size_t alignment = V8_ALIGNOF(double);
392
- #if V8_HAS_CXX11_ALIGNOF
393
- # define V8_ALIGNOF(type) alignof(type)
394
- #elif V8_HAS___ALIGNOF
395
- # define V8_ALIGNOF(type) __alignof(type)
396
- #elif V8_HAS___ALIGNOF__
397
- # define V8_ALIGNOF(type) __alignof__(type)
450
+ // Setup for Linux shared library export.
451
+ #if V8_HAS_ATTRIBUTE_VISIBILITY
452
+ # ifdef BUILDING_V8_SHARED
453
+ # define V8_EXPORT __attribute__ ((visibility("default")))
454
+ # else
455
+ # define V8_EXPORT
456
+ # endif
398
457
  #else
399
- // Note that alignment of a type within a struct can be less than the
400
- // alignment of the type stand-alone (because of ancient ABIs), so this
401
- // should only be used as a last resort.
402
- namespace v8 { template <typename T> class AlignOfHelper { char c; T t; }; }
403
- # define V8_ALIGNOF(type) (sizeof(::v8::AlignOfHelper<type>) - sizeof(type))
458
+ # define V8_EXPORT
404
459
  #endif
405
460
 
406
- // Annotate a function indicating the caller must examine the return value.
407
- // Use like:
408
- // int foo() WARN_UNUSED_RESULT;
409
- #if V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT
410
- #define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
411
- #else
412
- #define V8_WARN_UNUSED_RESULT /* NOT SUPPORTED */
413
- #endif
461
+ #endif // V8_OS_WIN
414
462
 
415
463
  // clang-format on
416
464
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libv8
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.414.42.1
4
+ version: 8.4.255.0
5
5
  platform: universal-darwin-17
6
6
  authors:
7
7
  - Charles Lowell
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-13 00:00:00.000000000 Z
11
+ date: 2020-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -61,39 +61,61 @@ extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
63
  - ext/libv8/.location.yml
64
- - ext/libv8/arch.rb
65
64
  - ext/libv8/location.rb
66
65
  - ext/libv8/paths.rb
67
66
  - lib/libv8.rb
68
67
  - lib/libv8/version.rb
68
+ - vendor/v8/include/cppgc/allocation.h
69
+ - vendor/v8/include/cppgc/garbage-collected.h
70
+ - vendor/v8/include/cppgc/heap.h
71
+ - vendor/v8/include/cppgc/internal/accessors.h
72
+ - vendor/v8/include/cppgc/internal/api-constants.h
73
+ - vendor/v8/include/cppgc/internal/compiler-specific.h
74
+ - vendor/v8/include/cppgc/internal/finalizer-trait.h
75
+ - vendor/v8/include/cppgc/internal/gc-info.h
76
+ - vendor/v8/include/cppgc/internal/logging.h
77
+ - vendor/v8/include/cppgc/internal/persistent-node.h
78
+ - vendor/v8/include/cppgc/internal/pointer-policies.h
79
+ - vendor/v8/include/cppgc/internal/prefinalizer-handler.h
80
+ - vendor/v8/include/cppgc/liveness-broker.h
81
+ - vendor/v8/include/cppgc/macros.h
82
+ - vendor/v8/include/cppgc/member.h
83
+ - vendor/v8/include/cppgc/persistent.h
84
+ - vendor/v8/include/cppgc/platform.h
85
+ - vendor/v8/include/cppgc/prefinalizer.h
86
+ - vendor/v8/include/cppgc/source-location.h
87
+ - vendor/v8/include/cppgc/trace-trait.h
88
+ - vendor/v8/include/cppgc/type-traits.h
89
+ - vendor/v8/include/cppgc/visitor.h
69
90
  - vendor/v8/include/libplatform/libplatform-export.h
70
91
  - vendor/v8/include/libplatform/libplatform.h
71
92
  - vendor/v8/include/libplatform/v8-tracing.h
72
- - vendor/v8/include/v8-debug.h
93
+ - vendor/v8/include/v8-fast-api-calls.h
73
94
  - vendor/v8/include/v8-inspector-protocol.h
74
95
  - vendor/v8/include/v8-inspector.h
96
+ - vendor/v8/include/v8-internal.h
75
97
  - vendor/v8/include/v8-platform.h
76
98
  - vendor/v8/include/v8-profiler.h
77
- - vendor/v8/include/v8-testing.h
78
99
  - vendor/v8/include/v8-util.h
79
100
  - vendor/v8/include/v8-value-serializer-version.h
80
101
  - vendor/v8/include/v8-version-string.h
81
102
  - vendor/v8/include/v8-version.h
103
+ - vendor/v8/include/v8-wasm-trap-handler-posix.h
104
+ - vendor/v8/include/v8-wasm-trap-handler-win.h
82
105
  - vendor/v8/include/v8.h
83
106
  - vendor/v8/include/v8config.h
84
- - vendor/v8/out/x64.release/libv8_base.a
85
- - vendor/v8/out/x64.release/libv8_builtins_generators.a
86
- - vendor/v8/out/x64.release/libv8_builtins_setup.a
87
- - vendor/v8/out/x64.release/libv8_libbase.a
88
- - vendor/v8/out/x64.release/libv8_libplatform.a
89
- - vendor/v8/out/x64.release/libv8_libsampler.a
90
- - vendor/v8/out/x64.release/libv8_nosnapshot.a
91
- - vendor/v8/out/x64.release/libv8_snapshot.a
92
- homepage: http://github.com/cowboyd/libv8
107
+ - vendor/v8/out.gn/libv8/obj/libv8_libbase.a
108
+ - vendor/v8/out.gn/libv8/obj/libv8_libplatform.a
109
+ - vendor/v8/out.gn/libv8/obj/libv8_monolith.a
110
+ - vendor/v8/out.gn/libv8/obj/third_party/icu/libicui18n.a
111
+ - vendor/v8/out.gn/libv8/obj/third_party/icu/libicuuc.a
112
+ - vendor/v8/out.gn/libv8/obj/third_party/zlib/google/libcompression_utils_portable.a
113
+ - vendor/v8/out.gn/libv8/obj/third_party/zlib/libchrome_zlib.a
114
+ homepage: http://github.com/rubyjs/libv8
93
115
  licenses:
94
116
  - MIT
95
117
  metadata: {}
96
- post_install_message:
118
+ post_install_message:
97
119
  rdoc_options: []
98
120
  require_paths:
99
121
  - lib
@@ -109,9 +131,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
131
  - !ruby/object:Gem::Version
110
132
  version: '0'
111
133
  requirements: []
112
- rubyforge_project: libv8
113
- rubygems_version: 2.6.13
114
- signing_key:
134
+ rubygems_version: 3.1.4
135
+ signing_key:
115
136
  specification_version: 4
116
137
  summary: Distribution of the V8 JavaScript engine
117
138
  test_files: []