libv8 6.2.414.42.1-universal-darwin-16 → 8.4.255.0-universal-darwin-16

Sign up to get free protection for your applications and to get access to all the features.
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 +51 -30
  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,55 +1,55 @@
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-16
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
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '12'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '12'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake-compiler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3'
55
55
  description: Distributes the V8 JavaScript engine in binary and source forms in order
@@ -60,58 +60,79 @@ executables: []
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
- - lib/libv8.rb
64
- - lib/libv8/version.rb
65
- - ext/libv8/arch.rb
63
+ - ext/libv8/.location.yml
66
64
  - ext/libv8/location.rb
67
65
  - ext/libv8/paths.rb
68
- - ext/libv8/.location.yml
66
+ - lib/libv8.rb
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
100
122
  - ext
101
123
  required_ruby_version: !ruby/object:Gem::Requirement
102
124
  requirements:
103
- - - '>='
125
+ - - ">="
104
126
  - !ruby/object:Gem::Version
105
127
  version: '0'
106
128
  required_rubygems_version: !ruby/object:Gem::Requirement
107
129
  requirements:
108
- - - '>='
130
+ - - ">="
109
131
  - !ruby/object:Gem::Version
110
132
  version: '0'
111
133
  requirements: []
112
- rubyforge_project: libv8
113
- rubygems_version: 2.0.14.1
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: []