libv8 7.3.492.27.1-universal-darwin-20 → 8.4.255.0-universal-darwin-20

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 -19
  26. data/vendor/v8/include/libplatform/v8-tracing.h +50 -15
  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 +60 -29
  30. data/vendor/v8/include/v8-internal.h +98 -82
  31. data/vendor/v8/include/v8-platform.h +181 -42
  32. data/vendor/v8/include/v8-profiler.h +162 -224
  33. data/vendor/v8/include/v8-util.h +1 -13
  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 +1 -1
  37. data/vendor/v8/include/v8-wasm-trap-handler-win.h +1 -1
  38. data/vendor/v8/include/v8.h +1990 -611
  39. data/vendor/v8/include/v8config.h +129 -48
  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 +29 -3
  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
@@ -165,7 +230,7 @@
165
230
  //
166
231
  // V8_HAS_ATTRIBUTE_ALWAYS_INLINE - __attribute__((always_inline))
167
232
  // supported
168
- // V8_HAS_ATTRIBUTE_DEPRECATED - __attribute__((deprecated)) supported
233
+ // V8_HAS_ATTRIBUTE_NONNULL - __attribute__((nonnull)) supported
169
234
  // V8_HAS_ATTRIBUTE_NOINLINE - __attribute__((noinline)) supported
170
235
  // V8_HAS_ATTRIBUTE_UNUSED - __attribute__((unused)) supported
171
236
  // V8_HAS_ATTRIBUTE_VISIBILITY - __attribute__((visibility)) supported
@@ -182,10 +247,10 @@
182
247
  // V8_HAS_BUILTIN_SADD_OVERFLOW - __builtin_sadd_overflow() supported
183
248
  // V8_HAS_BUILTIN_SSUB_OVERFLOW - __builtin_ssub_overflow() supported
184
249
  // V8_HAS_BUILTIN_UADD_OVERFLOW - __builtin_uadd_overflow() supported
185
- // V8_HAS_DECLSPEC_DEPRECATED - __declspec(deprecated) supported
250
+ // V8_HAS_COMPUTED_GOTO - computed goto/labels as values
251
+ // supported
186
252
  // V8_HAS_DECLSPEC_NOINLINE - __declspec(noinline) supported
187
253
  // V8_HAS_DECLSPEC_SELECTANY - __declspec(selectany) supported
188
- // V8_HAS_DECLSPEC_NORETURN - __declspec(noreturn) supported
189
254
  // V8_HAS___FORCEINLINE - __forceinline supported
190
255
  //
191
256
  // Note that testing for compilers and/or features must be done using #if
@@ -201,15 +266,14 @@
201
266
  #endif
202
267
 
203
268
  # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (__has_attribute(always_inline))
204
- # define V8_HAS_ATTRIBUTE_DEPRECATED (__has_attribute(deprecated))
205
- # define V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE \
206
- (__has_extension(attribute_deprecated_with_message))
269
+ # define V8_HAS_ATTRIBUTE_NONNULL (__has_attribute(nonnull))
207
270
  # define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
208
271
  # define V8_HAS_ATTRIBUTE_UNUSED (__has_attribute(unused))
209
272
  # define V8_HAS_ATTRIBUTE_VISIBILITY (__has_attribute(visibility))
210
273
  # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
211
274
  (__has_attribute(warn_unused_result))
212
275
 
276
+ # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
213
277
  # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
214
278
  # define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
215
279
  # define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64))
@@ -222,9 +286,13 @@
222
286
  # define V8_HAS_BUILTIN_SSUB_OVERFLOW (__has_builtin(__builtin_ssub_overflow))
223
287
  # define V8_HAS_BUILTIN_UADD_OVERFLOW (__has_builtin(__builtin_uadd_overflow))
224
288
 
225
- # if __cplusplus >= 201402L
226
- # define V8_CAN_HAVE_DCHECK_IN_CONSTEXPR 1
227
- # endif
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
228
296
 
229
297
  #elif defined(__GNUC__)
230
298
 
@@ -243,30 +311,34 @@
243
311
  // always_inline is available in gcc 4.0 but not very reliable until 4.4.
244
312
  // Works around "sorry, unimplemented: inlining failed" build errors with
245
313
  // older compilers.
246
- # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (V8_GNUC_PREREQ(4, 4, 0))
247
- # define V8_HAS_ATTRIBUTE_DEPRECATED (V8_GNUC_PREREQ(3, 4, 0))
248
- # define V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE (V8_GNUC_PREREQ(4, 5, 0))
249
- # define V8_HAS_ATTRIBUTE_NOINLINE (V8_GNUC_PREREQ(3, 4, 0))
250
- # define V8_HAS_ATTRIBUTE_UNUSED (V8_GNUC_PREREQ(2, 95, 0))
251
- # define V8_HAS_ATTRIBUTE_VISIBILITY (V8_GNUC_PREREQ(4, 3, 0))
252
- # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
253
- (!V8_CC_INTEL && V8_GNUC_PREREQ(4, 1, 0))
254
-
255
- # define V8_HAS_BUILTIN_CLZ (V8_GNUC_PREREQ(3, 4, 0))
256
- # define V8_HAS_BUILTIN_CTZ (V8_GNUC_PREREQ(3, 4, 0))
257
- # define V8_HAS_BUILTIN_EXPECT (V8_GNUC_PREREQ(2, 96, 0))
258
- # define V8_HAS_BUILTIN_FRAME_ADDRESS (V8_GNUC_PREREQ(2, 96, 0))
259
- # 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))
260
334
 
261
335
  #endif
262
336
 
263
337
  #if defined(_MSC_VER)
264
338
  # define V8_CC_MSVC 1
265
339
 
266
- # define V8_HAS_DECLSPEC_DEPRECATED 1
267
340
  # define V8_HAS_DECLSPEC_NOINLINE 1
268
341
  # define V8_HAS_DECLSPEC_SELECTANY 1
269
- # define V8_HAS_DECLSPEC_NORETURN 1
270
342
 
271
343
  # define V8_HAS___FORCEINLINE 1
272
344
 
@@ -287,14 +359,30 @@
287
359
  # define V8_INLINE inline
288
360
  #endif
289
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
+
290
379
 
291
380
  // A macro used to tell the compiler to never inline a particular function.
292
- // Don't bother for debug builds.
293
381
  // Use like:
294
382
  // V8_NOINLINE int GetMinusOne() { return -1; }
295
- #if !defined(DEBUG) && V8_HAS_ATTRIBUTE_NOINLINE
383
+ #if V8_HAS_ATTRIBUTE_NOINLINE
296
384
  # define V8_NOINLINE __attribute__((noinline))
297
- #elif !defined(DEBUG) && V8_HAS_DECLSPEC_NOINLINE
385
+ #elif V8_HAS_DECLSPEC_NOINLINE
298
386
  # define V8_NOINLINE __declspec(noinline)
299
387
  #else
300
388
  # define V8_NOINLINE /* NOT SUPPORTED */
@@ -302,31 +390,18 @@
302
390
 
303
391
 
304
392
  // A macro (V8_DEPRECATED) to mark classes or functions as deprecated.
305
- #if defined(V8_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE
306
- #define V8_DEPRECATED(message, declarator) \
307
- declarator __attribute__((deprecated(message)))
308
- #elif defined(V8_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED
309
- #define V8_DEPRECATED(message, declarator) \
310
- declarator __attribute__((deprecated))
311
- #elif defined(V8_DEPRECATION_WARNINGS) && V8_HAS_DECLSPEC_DEPRECATED
312
- #define V8_DEPRECATED(message, declarator) __declspec(deprecated) declarator
393
+ #if defined(V8_DEPRECATION_WARNINGS)
394
+ # define V8_DEPRECATED(message) [[deprecated(message)]]
313
395
  #else
314
- #define V8_DEPRECATED(message, declarator) declarator
396
+ # define V8_DEPRECATED(message)
315
397
  #endif
316
398
 
317
399
 
318
400
  // A macro (V8_DEPRECATE_SOON) to make it easier to see what will be deprecated.
319
- #if defined(V8_IMMINENT_DEPRECATION_WARNINGS) && \
320
- V8_HAS_ATTRIBUTE_DEPRECATED_MESSAGE
321
- #define V8_DEPRECATE_SOON(message, declarator) \
322
- declarator __attribute__((deprecated(message)))
323
- #elif defined(V8_IMMINENT_DEPRECATION_WARNINGS) && V8_HAS_ATTRIBUTE_DEPRECATED
324
- #define V8_DEPRECATE_SOON(message, declarator) \
325
- declarator __attribute__((deprecated))
326
- #elif defined(V8_IMMINENT_DEPRECATION_WARNINGS) && V8_HAS_DECLSPEC_DEPRECATED
327
- #define V8_DEPRECATE_SOON(message, declarator) __declspec(deprecated) declarator
401
+ #if defined(V8_IMMINENT_DEPRECATION_WARNINGS)
402
+ # define V8_DEPRECATE_SOON(message) [[deprecated(message)]]
328
403
  #else
329
- #define V8_DEPRECATE_SOON(message, declarator) declarator
404
+ # define V8_DEPRECATE_SOON(message)
330
405
  #endif
331
406
 
332
407
 
@@ -349,6 +424,12 @@
349
424
  #define V8_WARN_UNUSED_RESULT /* NOT SUPPORTED */
350
425
  #endif
351
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
432
+
352
433
  #ifdef V8_OS_WIN
353
434
 
354
435
  // Setup for Windows DLL export/import. When building the V8 DLL the
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libv8
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.3.492.27.1
4
+ version: 8.4.255.0
5
5
  platform: universal-darwin-20
6
6
  authors:
7
7
  - Charles Lowell
@@ -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
@@ -85,7 +107,11 @@ files:
85
107
  - vendor/v8/out.gn/libv8/obj/libv8_libbase.a
86
108
  - vendor/v8/out.gn/libv8/obj/libv8_libplatform.a
87
109
  - vendor/v8/out.gn/libv8/obj/libv8_monolith.a
88
- 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
89
115
  licenses:
90
116
  - MIT
91
117
  metadata: {}
@@ -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_