libv8 6.7.288.46.1-universal-darwin-15 → 8.4.255.0-universal-darwin-15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libv8/version.rb +1 -1
  3. data/vendor/v8/include/cppgc/allocation.h +124 -0
  4. data/vendor/v8/include/cppgc/garbage-collected.h +192 -0
  5. data/vendor/v8/include/cppgc/heap.h +50 -0
  6. data/vendor/v8/include/cppgc/internal/accessors.h +26 -0
  7. data/vendor/v8/include/cppgc/internal/api-constants.h +44 -0
  8. data/vendor/v8/include/cppgc/internal/compiler-specific.h +26 -0
  9. data/vendor/v8/include/cppgc/internal/finalizer-trait.h +90 -0
  10. data/vendor/v8/include/cppgc/internal/gc-info.h +43 -0
  11. data/vendor/v8/include/cppgc/internal/logging.h +50 -0
  12. data/vendor/v8/include/cppgc/internal/persistent-node.h +109 -0
  13. data/vendor/v8/include/cppgc/internal/pointer-policies.h +133 -0
  14. data/vendor/v8/include/cppgc/internal/prefinalizer-handler.h +31 -0
  15. data/vendor/v8/include/cppgc/liveness-broker.h +50 -0
  16. data/vendor/v8/include/cppgc/macros.h +26 -0
  17. data/vendor/v8/include/cppgc/member.h +206 -0
  18. data/vendor/v8/include/cppgc/persistent.h +304 -0
  19. data/vendor/v8/include/cppgc/platform.h +31 -0
  20. data/vendor/v8/include/cppgc/prefinalizer.h +54 -0
  21. data/vendor/v8/include/cppgc/source-location.h +59 -0
  22. data/vendor/v8/include/cppgc/trace-trait.h +67 -0
  23. data/vendor/v8/include/cppgc/type-traits.h +109 -0
  24. data/vendor/v8/include/cppgc/visitor.h +137 -0
  25. data/vendor/v8/include/libplatform/libplatform.h +13 -24
  26. data/vendor/v8/include/libplatform/v8-tracing.h +57 -20
  27. data/vendor/v8/include/v8-fast-api-calls.h +412 -0
  28. data/vendor/v8/include/v8-inspector-protocol.h +4 -4
  29. data/vendor/v8/include/v8-inspector.h +74 -36
  30. data/vendor/v8/include/v8-internal.h +389 -0
  31. data/vendor/v8/include/v8-platform.h +228 -124
  32. data/vendor/v8/include/v8-profiler.h +292 -228
  33. data/vendor/v8/include/v8-util.h +27 -25
  34. data/vendor/v8/include/v8-version-string.h +1 -1
  35. data/vendor/v8/include/v8-version.h +4 -4
  36. data/vendor/v8/include/v8-wasm-trap-handler-posix.h +31 -0
  37. data/vendor/v8/include/v8-wasm-trap-handler-win.h +28 -0
  38. data/vendor/v8/include/v8.h +2966 -1362
  39. data/vendor/v8/include/v8config.h +156 -114
  40. data/vendor/v8/out.gn/libv8/obj/libv8_libbase.a +0 -0
  41. data/vendor/v8/out.gn/libv8/obj/libv8_libplatform.a +0 -0
  42. data/vendor/v8/out.gn/libv8/obj/libv8_monolith.a +0 -0
  43. data/vendor/v8/out.gn/libv8/obj/third_party/icu/libicui18n.a +0 -0
  44. data/vendor/v8/out.gn/libv8/obj/third_party/icu/libicuuc.a +0 -0
  45. data/vendor/v8/out.gn/libv8/obj/third_party/zlib/google/libcompression_utils_portable.a +0 -0
  46. data/vendor/v8/out.gn/libv8/obj/third_party/zlib/libchrome_zlib.a +0 -0
  47. metadata +37 -9
  48. data/vendor/v8/include/v8-testing.h +0 -48
@@ -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,17 +226,11 @@
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
@@ -188,11 +247,10 @@
188
247
  // V8_HAS_BUILTIN_SADD_OVERFLOW - __builtin_sadd_overflow() supported
189
248
  // V8_HAS_BUILTIN_SSUB_OVERFLOW - __builtin_ssub_overflow() supported
190
249
  // V8_HAS_BUILTIN_UADD_OVERFLOW - __builtin_uadd_overflow() supported
191
- // V8_HAS_DECLSPEC_ALIGN - __declspec(align(n)) supported
192
- // V8_HAS_DECLSPEC_DEPRECATED - __declspec(deprecated) supported
250
+ // V8_HAS_COMPUTED_GOTO - computed goto/labels as values
251
+ // supported
193
252
  // V8_HAS_DECLSPEC_NOINLINE - __declspec(noinline) supported
194
253
  // V8_HAS_DECLSPEC_SELECTANY - __declspec(selectany) supported
195
- // V8_HAS_DECLSPEC_NORETURN - __declspec(noreturn) supported
196
254
  // V8_HAS___FORCEINLINE - __forceinline supported
197
255
  //
198
256
  // Note that testing for compilers and/or features must be done using #if
@@ -207,19 +265,15 @@
207
265
  # define V8_CC_GNU 1
208
266
  #endif
209
267
 
210
- // Clang defines __alignof__ as alias for __alignof
211
- # define V8_HAS___ALIGNOF 1
212
- # define V8_HAS___ALIGNOF__ V8_HAS___ALIGNOF
213
-
214
- # define V8_HAS_ATTRIBUTE_ALIGNED (__has_attribute(aligned))
215
268
  # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (__has_attribute(always_inline))
216
- # define V8_HAS_ATTRIBUTE_DEPRECATED (__has_attribute(deprecated))
269
+ # define V8_HAS_ATTRIBUTE_NONNULL (__has_attribute(nonnull))
217
270
  # define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
218
271
  # define V8_HAS_ATTRIBUTE_UNUSED (__has_attribute(unused))
219
272
  # define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility))
220
273
  # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
221
274
  (__has_attribute(warn_unused_result))
222
275
 
276
+ # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
223
277
  # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
224
278
  # define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
225
279
  # define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64))
@@ -232,7 +286,13 @@
232
286
  # define V8_HAS_BUILTIN_SSUB_OVERFLOW (__has_builtin(__builtin_ssub_overflow))
233
287
  # define V8_HAS_BUILTIN_UADD_OVERFLOW (__has_builtin(__builtin_uadd_overflow))
234
288
 
235
- # 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
236
296
 
237
297
  #elif defined(__GNUC__)
238
298
 
@@ -248,42 +308,37 @@
248
308
  # endif
249
309
  # define V8_CC_MINGW (V8_CC_MINGW32 || V8_CC_MINGW64)
250
310
 
251
- # define V8_HAS___ALIGNOF__ (V8_GNUC_PREREQ(4, 3, 0))
252
-
253
- # define V8_HAS_ATTRIBUTE_ALIGNED (V8_GNUC_PREREQ(2, 95, 0))
254
311
  // always_inline is available in gcc 4.0 but not very reliable until 4.4.
255
312
  // Works around "sorry, unimplemented: inlining failed" build errors with
256
313
  // older compilers.
257
- # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (V8_GNUC_PREREQ(4, 4, 0))
258
- # define V8_HAS_ATTRIBUTE_DEPRECATED (V8_GNUC_PREREQ(3, 4, 0))
259
- # define V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE (V8_GNUC_PREREQ(4, 5, 0))
260
- # define V8_HAS_ATTRIBUTE_NOINLINE (V8_GNUC_PREREQ(3, 4, 0))
261
- # define V8_HAS_ATTRIBUTE_UNUSED (V8_GNUC_PREREQ(2, 95, 0))
262
- # define V8_HAS_ATTRIBUTE_VISIBILITY (V8_GNUC_PREREQ(4, 3, 0))
263
- # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
264
- (!V8_CC_INTEL && V8_GNUC_PREREQ(4, 1, 0))
265
-
266
- # define V8_HAS_BUILTIN_CLZ (V8_GNUC_PREREQ(3, 4, 0))
267
- # define V8_HAS_BUILTIN_CTZ (V8_GNUC_PREREQ(3, 4, 0))
268
- # define V8_HAS_BUILTIN_EXPECT (V8_GNUC_PREREQ(2, 96, 0))
269
- # define V8_HAS_BUILTIN_FRAME_ADDRESS (V8_GNUC_PREREQ(2, 96, 0))
270
- # define V8_HAS_BUILTIN_POPCOUNT (V8_GNUC_PREREQ(3, 4, 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))
271
334
 
272
- # if __cplusplus >= 201103L
273
- # define V8_HAS_CXX11_ALIGNAS (V8_GNUC_PREREQ(4, 8, 0))
274
- # define V8_HAS_CXX11_ALIGNOF (V8_GNUC_PREREQ(4, 8, 0))
275
- # endif
276
335
  #endif
277
336
 
278
337
  #if defined(_MSC_VER)
279
338
  # define V8_CC_MSVC 1
280
- # define V8_HAS___ALIGNOF 1
281
339
 
282
- # define V8_HAS_DECLSPEC_ALIGN 1
283
- # define V8_HAS_DECLSPEC_DEPRECATED 1
284
340
  # define V8_HAS_DECLSPEC_NOINLINE 1
285
341
  # define V8_HAS_DECLSPEC_SELECTANY 1
286
- # define V8_HAS_DECLSPEC_NORETURN 1
287
342
 
288
343
  # define V8_HAS___FORCEINLINE 1
289
344
 
@@ -304,14 +359,30 @@
304
359
  # define V8_INLINE inline
305
360
  #endif
306
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
+
307
379
 
308
380
  // A macro used to tell the compiler to never inline a particular function.
309
- // Don't bother for debug builds.
310
381
  // Use like:
311
382
  // V8_NOINLINE int GetMinusOne() { return -1; }
312
- #if !defined(DEBUG) && V8_HAS_ATTRIBUTE_NOINLINE
383
+ #if V8_HAS_ATTRIBUTE_NOINLINE
313
384
  # define V8_NOINLINE __attribute__((noinline))
314
- #elif !defined(DEBUG) && V8_HAS_DECLSPEC_NOINLINE
385
+ #elif V8_HAS_DECLSPEC_NOINLINE
315
386
  # define V8_NOINLINE __declspec(noinline)
316
387
  #else
317
388
  # define V8_NOINLINE /* NOT SUPPORTED */
@@ -319,31 +390,18 @@
319
390
 
320
391
 
321
392
  // A macro (V8_DEPRECATED) to mark classes or functions as deprecated.
322
- #if defined(V8_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE
323
- #define V8_DEPRECATED(message, declarator) \
324
- declarator __attribute__((deprecated(message)))
325
- #elif defined(V8_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED
326
- #define V8_DEPRECATED(message, declarator) \
327
- declarator __attribute__((deprecated))
328
- #elif defined(V8_DEPRECATION_WARNINGS) && V8_HAS_DECLSPEC_DEPRECATED
329
- #define V8_DEPRECATED(message, declarator) __declspec(deprecated) declarator
393
+ #if defined(V8_DEPRECATION_WARNINGS)
394
+ # define V8_DEPRECATED(message) [[deprecated(message)]]
330
395
  #else
331
- #define V8_DEPRECATED(message, declarator) declarator
396
+ # define V8_DEPRECATED(message)
332
397
  #endif
333
398
 
334
399
 
335
400
  // A macro (V8_DEPRECATE_SOON) to make it easier to see what will be deprecated.
336
- #if defined(V8_IMMINENT_DEPRECATION_WARNINGS) && \
337
- V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE
338
- #define V8_DEPRECATE_SOON(message, declarator) \
339
- declarator __attribute__((deprecated(message)))
340
- #elif defined(V8_IMMINENT_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED
341
- #define V8_DEPRECATE_SOON(message, declarator) \
342
- declarator __attribute__((deprecated))
343
- #elif defined(V8_IMMINENT_DEPRECATION_WARNINGS) && V8_HAS_DECLSPEC_DEPRECATED
344
- #define V8_DEPRECATE_SOON(message, declarator) __declspec(deprecated) declarator
401
+ #if defined(V8_IMMINENT_DEPRECATION_WARNINGS)
402
+ # define V8_DEPRECATE_SOON(message) [[deprecated(message)]]
345
403
  #else
346
- #define V8_DEPRECATE_SOON(message, declarator) declarator
404
+ # define V8_DEPRECATE_SOON(message)
347
405
  #endif
348
406
 
349
407
 
@@ -357,66 +415,50 @@
357
415
  #endif
358
416
 
359
417
 
360
- // This macro allows to specify memory alignment for structs, classes, etc.
418
+ // Annotate a function indicating the caller must examine the return value.
361
419
  // Use like:
362
- // class V8_ALIGNED(16) MyClass { ... };
363
- // V8_ALIGNED(32) int array[42];
364
- #if V8_HAS_CXX11_ALIGNAS
365
- # define V8_ALIGNED(n) alignas(n)
366
- #elif V8_HAS_ATTRIBUTE_ALIGNED
367
- # define V8_ALIGNED(n) __attribute__((aligned(n)))
368
- #elif V8_HAS_DECLSPEC_ALIGN
369
- # 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))
370
423
  #else
371
- # define V8_ALIGNED(n) /* NOT SUPPORTED */
424
+ #define V8_WARN_UNUSED_RESULT /* NOT SUPPORTED */
372
425
  #endif
373
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
374
432
 
375
- // This macro is similar to V8_ALIGNED(), but takes a type instead of size
376
- // in bytes. If the compiler does not supports using the alignment of the
377
- // |type|, it will align according to the |alignment| instead. For example,
378
- // Visual Studio C++ cannot combine __declspec(align) and __alignof. The
379
- // |alignment| must be a literal that is used as a kind of worst-case fallback
380
- // alignment.
381
- // Use like:
382
- // struct V8_ALIGNAS(AnotherClass, 16) NewClass { ... };
383
- // V8_ALIGNAS(double, 8) int array[100];
384
- #if V8_HAS_CXX11_ALIGNAS
385
- # define V8_ALIGNAS(type, alignment) alignas(type)
386
- #elif V8_HAS___ALIGNOF__ && V8_HAS_ATTRIBUTE_ALIGNED
387
- # 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)
388
444
  #else
389
- # define V8_ALIGNAS(type, alignment) V8_ALIGNED(alignment)
390
- #endif
445
+ # define V8_EXPORT
446
+ #endif // BUILDING_V8_SHARED
391
447
 
448
+ #else // V8_OS_WIN
392
449
 
393
- // This macro returns alignment in bytes (an integer power of two) required for
394
- // any instance of the given type, which is either complete type, an array type,
395
- // or a reference type.
396
- // Use like:
397
- // size_t alignment = V8_ALIGNOF(double);
398
- #if V8_HAS_CXX11_ALIGNOF
399
- # define V8_ALIGNOF(type) alignof(type)
400
- #elif V8_HAS___ALIGNOF
401
- # define V8_ALIGNOF(type) __alignof(type)
402
- #elif V8_HAS___ALIGNOF__
403
- # 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
404
457
  #else
405
- // Note that alignment of a type within a struct can be less than the
406
- // alignment of the type stand-alone (because of ancient ABIs), so this
407
- // should only be used as a last resort.
408
- namespace v8 { template <typename T> class AlignOfHelper { char c; T t; }; }
409
- # define V8_ALIGNOF(type) (sizeof(::v8::AlignOfHelper<type>) - sizeof(type))
458
+ # define V8_EXPORT
410
459
  #endif
411
460
 
412
- // Annotate a function indicating the caller must examine the return value.
413
- // Use like:
414
- // int foo() V8_WARN_UNUSED_RESULT;
415
- #if V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT
416
- #define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
417
- #else
418
- #define V8_WARN_UNUSED_RESULT /* NOT SUPPORTED */
419
- #endif
461
+ #endif // V8_OS_WIN
420
462
 
421
463
  // clang-format on
422
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.7.288.46.1
4
+ version: 8.4.255.0
5
5
  platform: universal-darwin-15
6
6
  authors:
7
7
  - Charles Lowell
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-06 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
@@ -65,28 +65,57 @@ files:
65
65
  - ext/libv8/paths.rb
66
66
  - lib/libv8.rb
67
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
68
90
  - vendor/v8/include/libplatform/libplatform-export.h
69
91
  - vendor/v8/include/libplatform/libplatform.h
70
92
  - vendor/v8/include/libplatform/v8-tracing.h
93
+ - vendor/v8/include/v8-fast-api-calls.h
71
94
  - vendor/v8/include/v8-inspector-protocol.h
72
95
  - vendor/v8/include/v8-inspector.h
96
+ - vendor/v8/include/v8-internal.h
73
97
  - vendor/v8/include/v8-platform.h
74
98
  - vendor/v8/include/v8-profiler.h
75
- - vendor/v8/include/v8-testing.h
76
99
  - vendor/v8/include/v8-util.h
77
100
  - vendor/v8/include/v8-value-serializer-version.h
78
101
  - vendor/v8/include/v8-version-string.h
79
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
80
105
  - vendor/v8/include/v8.h
81
106
  - vendor/v8/include/v8config.h
82
107
  - vendor/v8/out.gn/libv8/obj/libv8_libbase.a
83
108
  - vendor/v8/out.gn/libv8/obj/libv8_libplatform.a
84
109
  - vendor/v8/out.gn/libv8/obj/libv8_monolith.a
85
- homepage: http://github.com/cowboyd/libv8
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
86
115
  licenses:
87
116
  - MIT
88
117
  metadata: {}
89
- post_install_message:
118
+ post_install_message:
90
119
  rdoc_options: []
91
120
  require_paths:
92
121
  - lib
@@ -102,9 +131,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
131
  - !ruby/object:Gem::Version
103
132
  version: '0'
104
133
  requirements: []
105
- rubyforge_project: libv8
106
- rubygems_version: 2.7.7
107
- signing_key:
134
+ rubygems_version: 3.1.4
135
+ signing_key:
108
136
  specification_version: 4
109
137
  summary: Distribution of the V8 JavaScript engine
110
138
  test_files: []