libv8 7.8.279.23.0beta1-x86_64-linux → 8.4.255.0.1-x86_64-linux

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/ext/libv8/location.rb +1 -1
  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 +13 -10
  27. data/vendor/v8/include/libplatform/v8-tracing.h +36 -22
  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 +57 -27
  31. data/vendor/v8/include/v8-internal.h +23 -21
  32. data/vendor/v8/include/v8-platform.h +164 -40
  33. data/vendor/v8/include/v8-profiler.h +27 -23
  34. data/vendor/v8/include/v8-util.h +1 -1
  35. data/vendor/v8/include/v8-version-string.h +1 -1
  36. data/vendor/v8/include/v8-version.h +4 -4
  37. data/vendor/v8/include/v8-wasm-trap-handler-posix.h +1 -1
  38. data/vendor/v8/include/v8-wasm-trap-handler-win.h +1 -1
  39. data/vendor/v8/include/v8.h +1219 -484
  40. data/vendor/v8/include/v8config.h +105 -51
  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 +31 -9
  49. data/vendor/v8/include/v8-testing.h +0 -48
  50. data/vendor/v8/out.gn/libv8/obj/third_party/inspector_protocol/libbindings.a +0 -0
  51. data/vendor/v8/out.gn/libv8/obj/third_party/inspector_protocol/libencoding.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)
@@ -122,6 +122,67 @@
122
122
  # define V8_OS_WIN 1
123
123
  #endif
124
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
125
186
 
126
187
  // -----------------------------------------------------------------------------
127
188
  // C library detection
@@ -169,7 +230,7 @@
169
230
  //
170
231
  // V8_HAS_ATTRIBUTE_ALWAYS_INLINE - __attribute__((always_inline))
171
232
  // supported
172
- // V8_HAS_ATTRIBUTE_DEPRECATED - __attribute__((deprecated)) supported
233
+ // V8_HAS_ATTRIBUTE_NONNULL - __attribute__((nonnull)) supported
173
234
  // V8_HAS_ATTRIBUTE_NOINLINE - __attribute__((noinline)) supported
174
235
  // V8_HAS_ATTRIBUTE_UNUSED - __attribute__((unused)) supported
175
236
  // V8_HAS_ATTRIBUTE_VISIBILITY - __attribute__((visibility)) supported
@@ -188,10 +249,8 @@
188
249
  // V8_HAS_BUILTIN_UADD_OVERFLOW - __builtin_uadd_overflow() supported
189
250
  // V8_HAS_COMPUTED_GOTO - computed goto/labels as values
190
251
  // supported
191
- // V8_HAS_DECLSPEC_DEPRECATED - __declspec(deprecated) supported
192
252
  // V8_HAS_DECLSPEC_NOINLINE - __declspec(noinline) supported
193
253
  // V8_HAS_DECLSPEC_SELECTANY - __declspec(selectany) supported
194
- // V8_HAS_DECLSPEC_NORETURN - __declspec(noreturn) supported
195
254
  // V8_HAS___FORCEINLINE - __forceinline supported
196
255
  //
197
256
  // Note that testing for compilers and/or features must be done using #if
@@ -207,9 +266,7 @@
207
266
  #endif
208
267
 
209
268
  # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (__has_attribute(always_inline))
210
- # define V8_HAS_ATTRIBUTE_DEPRECATED (__has_attribute(deprecated))
211
- # define V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE \
212
- (__has_extension(attribute_deprecated_with_message))
269
+ # define V8_HAS_ATTRIBUTE_NONNULL (__has_attribute(nonnull))
213
270
  # define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
214
271
  # define V8_HAS_ATTRIBUTE_UNUSED (__has_attribute(unused))
215
272
  # define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility))
@@ -233,9 +290,9 @@
233
290
  // GCC doc: https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
234
291
  # define V8_HAS_COMPUTED_GOTO 1
235
292
 
236
- # if __cplusplus >= 201402L
237
- # define V8_CAN_HAVE_DCHECK_IN_CONSTEXPR 1
238
- # endif
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
239
296
 
240
297
  #elif defined(__GNUC__)
241
298
 
@@ -254,34 +311,34 @@
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_ASSUME_ALIGNED (V8_GNUC_PREREQ(4, 7, 0))
267
- # define V8_HAS_BUILTIN_CLZ (V8_GNUC_PREREQ(3, 4, 0))
268
- # define V8_HAS_BUILTIN_CTZ (V8_GNUC_PREREQ(3, 4, 0))
269
- # define V8_HAS_BUILTIN_EXPECT (V8_GNUC_PREREQ(2, 96, 0))
270
- # define V8_HAS_BUILTIN_FRAME_ADDRESS (V8_GNUC_PREREQ(2, 96, 0))
271
- # 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
272
326
 
273
327
  // GCC doc: https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
274
- #define V8_HAS_COMPUTED_GOTO (V8_GNUC_PREREQ(2, 0, 0))
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))
275
334
 
276
335
  #endif
277
336
 
278
337
  #if defined(_MSC_VER)
279
338
  # define V8_CC_MSVC 1
280
339
 
281
- # define V8_HAS_DECLSPEC_DEPRECATED 1
282
340
  # define V8_HAS_DECLSPEC_NOINLINE 1
283
341
  # define V8_HAS_DECLSPEC_SELECTANY 1
284
- # define V8_HAS_DECLSPEC_NORETURN 1
285
342
 
286
343
  # define V8_HAS___FORCEINLINE 1
287
344
 
@@ -306,16 +363,26 @@
306
363
  # define V8_ASSUME_ALIGNED(ptr, alignment) \
307
364
  __builtin_assume_aligned((ptr), (alignment))
308
365
  #else
309
- # define V8_ASSUME_ALIGNED(ptr) (ptr)
366
+ # define V8_ASSUME_ALIGNED(ptr, alignment) (ptr)
310
367
  #endif
311
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
+
379
+
312
380
  // A macro used to tell the compiler to never inline a particular function.
313
- // Don't bother for debug builds.
314
381
  // Use like:
315
382
  // V8_NOINLINE int GetMinusOne() { return -1; }
316
- #if !defined(DEBUG) && V8_HAS_ATTRIBUTE_NOINLINE
383
+ #if V8_HAS_ATTRIBUTE_NOINLINE
317
384
  # define V8_NOINLINE __attribute__((noinline))
318
- #elif !defined(DEBUG) && V8_HAS_DECLSPEC_NOINLINE
385
+ #elif V8_HAS_DECLSPEC_NOINLINE
319
386
  # define V8_NOINLINE __declspec(noinline)
320
387
  #else
321
388
  # define V8_NOINLINE /* NOT SUPPORTED */
@@ -323,31 +390,18 @@
323
390
 
324
391
 
325
392
  // A macro (V8_DEPRECATED) to mark classes or functions as deprecated.
326
- #if defined(V8_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE
327
- #define V8_DEPRECATED(message, declarator) \
328
- declarator __attribute__((deprecated(message)))
329
- #elif defined(V8_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED
330
- #define V8_DEPRECATED(message, declarator) \
331
- declarator __attribute__((deprecated))
332
- #elif defined(V8_DEPRECATION_WARNINGS) && V8_HAS_DECLSPEC_DEPRECATED
333
- #define V8_DEPRECATED(message, declarator) __declspec(deprecated) declarator
393
+ #if defined(V8_DEPRECATION_WARNINGS)
394
+ # define V8_DEPRECATED(message) [[deprecated(message)]]
334
395
  #else
335
- #define V8_DEPRECATED(message, declarator) declarator
396
+ # define V8_DEPRECATED(message)
336
397
  #endif
337
398
 
338
399
 
339
400
  // A macro (V8_DEPRECATE_SOON) to make it easier to see what will be deprecated.
340
- #if defined(V8_IMMINENT_DEPRECATION_WARNINGS) && \
341
- V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE
342
- #define V8_DEPRECATE_SOON(message, declarator) \
343
- declarator __attribute__((deprecated(message)))
344
- #elif defined(V8_IMMINENT_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED
345
- #define V8_DEPRECATE_SOON(message, declarator) \
346
- declarator __attribute__((deprecated))
347
- #elif defined(V8_IMMINENT_DEPRECATION_WARNINGS) && V8_HAS_DECLSPEC_DEPRECATED
348
- #define V8_DEPRECATE_SOON(message, declarator) __declspec(deprecated) declarator
401
+ #if defined(V8_IMMINENT_DEPRECATION_WARNINGS)
402
+ # define V8_DEPRECATE_SOON(message) [[deprecated(message)]]
349
403
  #else
350
- #define V8_DEPRECATE_SOON(message, declarator) declarator
404
+ # define V8_DEPRECATE_SOON(message)
351
405
  #endif
352
406
 
353
407
 
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: 7.8.279.23.0beta1
4
+ version: 8.4.255.0.1
5
5
  platform: x86_64-linux
6
6
  authors:
7
7
  - Charles Lowell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-09 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,15 +65,37 @@ 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
73
96
  - vendor/v8/include/v8-internal.h
74
97
  - vendor/v8/include/v8-platform.h
75
98
  - vendor/v8/include/v8-profiler.h
76
- - vendor/v8/include/v8-testing.h
77
99
  - vendor/v8/include/v8-util.h
78
100
  - vendor/v8/include/v8-value-serializer-version.h
79
101
  - vendor/v8/include/v8-version-string.h
@@ -87,9 +109,9 @@ files:
87
109
  - vendor/v8/out.gn/libv8/obj/libv8_monolith.a
88
110
  - vendor/v8/out.gn/libv8/obj/third_party/icu/libicui18n.a
89
111
  - vendor/v8/out.gn/libv8/obj/third_party/icu/libicuuc.a
90
- - vendor/v8/out.gn/libv8/obj/third_party/inspector_protocol/libbindings.a
91
- - vendor/v8/out.gn/libv8/obj/third_party/inspector_protocol/libencoding.a
92
- homepage: http://github.com/cowboyd/libv8
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: {}
@@ -105,11 +127,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
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
- version: 1.3.1
132
+ version: '0'
111
133
  requirements: []
112
- rubygems_version: 3.0.3
134
+ rubygems_version: 3.1.4
113
135
  signing_key:
114
136
  specification_version: 4
115
137
  summary: Distribution of the V8 JavaScript engine
@@ -1,48 +0,0 @@
1
- // Copyright 2010 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 V8_V8_TEST_H_
6
- #define V8_V8_TEST_H_
7
-
8
- #include "v8.h" // NOLINT(build/include)
9
-
10
- /**
11
- * Testing support for the V8 JavaScript engine.
12
- */
13
- namespace v8 {
14
-
15
- class V8_EXPORT Testing {
16
- public:
17
- enum StressType {
18
- kStressTypeOpt,
19
- kStressTypeDeopt
20
- };
21
-
22
- /**
23
- * Set the type of stressing to do. The default if not set is kStressTypeOpt.
24
- */
25
- static void SetStressRunType(StressType type);
26
-
27
- /**
28
- * Get the number of runs of a given test that is required to get the full
29
- * stress coverage.
30
- */
31
- static int GetStressRuns();
32
-
33
- /**
34
- * Indicate the number of the run which is about to start. The value of run
35
- * should be between 0 and one less than the result from GetStressRuns()
36
- */
37
- static void PrepareStressRun(int run);
38
-
39
- /**
40
- * Force deoptimization of all functions.
41
- */
42
- static void DeoptimizeAll(Isolate* isolate);
43
- };
44
-
45
-
46
- } // namespace v8
47
-
48
- #endif // V8_V8_TEST_H_