libv8 5.9.211.38.1-universal-darwin-16 → 6.0.286.44.0beta1-universal-darwin-16

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 055971833f4ebb747f1b9628c152162dd6ac6de8
4
- data.tar.gz: 48418926616951682ca2b22c0fbf4466d70fefff
3
+ metadata.gz: 3f48a17e80e18f8a688420a6bcb18fdb2eb99c4e
4
+ data.tar.gz: 6268e3c03ec221064b97938c49fdc30455fefcdb
5
5
  SHA512:
6
- metadata.gz: 20aeb8689b6db1ad47b051adfca9a20b5d89c9d98c5b849ab80372c94ccbe84fbce3279b25212e1f9794e72695c62da7598b63741d6735a13ad783878ca7da7f
7
- data.tar.gz: 604de6b994dd2e553770be25293e1c25bc4ffa63a9c7297deda30ae649d92df36edfa843cd0a986c91b15414984822c7d529ec7feb2019eb8c141a52ef024281
6
+ metadata.gz: 2c31a5cf4477e9fae5332c0d085d85261c2aa3a43dab2138d3fffeb0bc1e4ab37b3eb681a4e32974fd856ad528683bf53d96387a4decfbd42c92dc332843c42f
7
+ data.tar.gz: 446e3774cea73ea371d38aa0d750eac315afec1fde92fa6eacb27b707efb2cc4938a19fee4eca9175df8b4a80727ade49ede54ba4b8faa6066066bdf13b0c749
@@ -1,3 +1,3 @@
1
1
  module Libv8
2
- VERSION = "5.9.211.38.1"
2
+ VERSION = "6.0.286.44.0beta1"
3
3
  end
@@ -13,6 +13,12 @@ namespace v8 {
13
13
  namespace platform {
14
14
 
15
15
  enum class IdleTaskSupport { kDisabled, kEnabled };
16
+ enum class InProcessStackDumping { kDisabled, kEnabled };
17
+
18
+ enum class MessageLoopBehavior : bool {
19
+ kDoNotWait = false,
20
+ kWaitForWork = true
21
+ };
16
22
 
17
23
  /**
18
24
  * Returns a new instance of the default v8::Platform implementation.
@@ -27,18 +33,24 @@ enum class IdleTaskSupport { kDisabled, kEnabled };
27
33
  */
28
34
  V8_PLATFORM_EXPORT v8::Platform* CreateDefaultPlatform(
29
35
  int thread_pool_size = 0,
30
- IdleTaskSupport idle_task_support = IdleTaskSupport::kDisabled);
36
+ IdleTaskSupport idle_task_support = IdleTaskSupport::kDisabled,
37
+ InProcessStackDumping in_process_stack_dumping =
38
+ InProcessStackDumping::kEnabled);
31
39
 
32
40
  /**
33
41
  * Pumps the message loop for the given isolate.
34
42
  *
35
43
  * The caller has to make sure that this is called from the right thread.
36
- * Returns true if a task was executed, and false otherwise. This call does
37
- * not block if no task is pending. The |platform| has to be created using
38
- * |CreateDefaultPlatform|.
44
+ * Returns true if a task was executed, and false otherwise. Unless requested
45
+ * through the |behavior| parameter, this call does not block if no task is
46
+ * pending. The |platform| has to be created using |CreateDefaultPlatform|.
39
47
  */
40
- V8_PLATFORM_EXPORT bool PumpMessageLoop(v8::Platform* platform,
41
- v8::Isolate* isolate);
48
+ V8_PLATFORM_EXPORT bool PumpMessageLoop(
49
+ v8::Platform* platform, v8::Isolate* isolate,
50
+ MessageLoopBehavior behavior = MessageLoopBehavior::kDoNotWait);
51
+
52
+ V8_PLATFORM_EXPORT void EnsureEventLoopInitialized(v8::Platform* platform,
53
+ v8::Isolate* isolate);
42
54
 
43
55
  /**
44
56
  * Runs pending idle tasks for at most |idle_time_in_seconds| seconds.
@@ -0,0 +1,24 @@
1
+ // Copyright 2017 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
+ /**
6
+ * Compile-time constants.
7
+ *
8
+ * This header provides access to information about the value serializer at
9
+ * compile time, without declaring or defining any symbols that require linking
10
+ * to V8.
11
+ */
12
+
13
+ #ifndef INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_
14
+ #define INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_
15
+
16
+ #include <stdint.h>
17
+
18
+ namespace v8 {
19
+
20
+ constexpr uint32_t CurrentValueSerializerFormatVersion() { return 13; }
21
+
22
+ } // namespace v8
23
+
24
+ #endif // INCLUDE_V8_VALUE_SERIALIZER_VERSION_H_
@@ -8,10 +8,10 @@
8
8
  // These macros define the version number for the current version.
9
9
  // NOTE these macros are used by some of the tool scripts and the build
10
10
  // system so their names cannot be changed without changing the scripts.
11
- #define V8_MAJOR_VERSION 5
12
- #define V8_MINOR_VERSION 9
13
- #define V8_BUILD_NUMBER 211
14
- #define V8_PATCH_LEVEL 38
11
+ #define V8_MAJOR_VERSION 6
12
+ #define V8_MINOR_VERSION 0
13
+ #define V8_BUILD_NUMBER 286
14
+ #define V8_PATCH_LEVEL 44
15
15
 
16
16
  // Use 1 for candidates and 0 otherwise.
17
17
  // (Boolean macro values are not supported by all preprocessors.)
@@ -150,6 +150,9 @@ class FunctionCallbackArguments;
150
150
  class GlobalHandles;
151
151
  } // namespace internal
152
152
 
153
+ namespace debug {
154
+ class ConsoleCallArguments;
155
+ } // namespace debug
153
156
 
154
157
  // --- Handles ---
155
158
 
@@ -1092,7 +1095,8 @@ class V8_EXPORT Module {
1092
1095
  /**
1093
1096
  * ModuleDeclarationInstantiation
1094
1097
  *
1095
- * Returns false if an exception occurred during instantiation.
1098
+ * Returns false if an exception occurred during instantiation. (In the case
1099
+ * where the callback throws an exception, that exception is propagated.)
1096
1100
  */
1097
1101
  V8_WARN_UNUSED_RESULT bool Instantiate(Local<Context> context,
1098
1102
  ResolveCallback callback);
@@ -1789,8 +1793,6 @@ class V8_EXPORT ValueSerializer {
1789
1793
  virtual void FreeBufferMemory(void* buffer);
1790
1794
  };
1791
1795
 
1792
- static uint32_t GetCurrentDataFormatVersion();
1793
-
1794
1796
  explicit ValueSerializer(Isolate* isolate);
1795
1797
  ValueSerializer(Isolate* isolate, Delegate* delegate);
1796
1798
  ~ValueSerializer();
@@ -2317,6 +2319,8 @@ class V8_EXPORT Value : public Data {
2317
2319
 
2318
2320
  Local<String> TypeOf(Isolate*);
2319
2321
 
2322
+ Maybe<bool> InstanceOf(Local<Context> context, Local<Object> object);
2323
+
2320
2324
  private:
2321
2325
  V8_INLINE bool QuickIsUndefined() const;
2322
2326
  V8_INLINE bool QuickIsNull() const;
@@ -2791,11 +2795,16 @@ class V8_EXPORT Symbol : public Name {
2791
2795
  static Local<Symbol> ForApi(Isolate *isolate, Local<String> name);
2792
2796
 
2793
2797
  // Well-known symbols
2798
+ static Local<Symbol> GetHasInstance(Isolate* isolate);
2799
+ static Local<Symbol> GetIsConcatSpreadable(Isolate* isolate);
2794
2800
  static Local<Symbol> GetIterator(Isolate* isolate);
2795
- static Local<Symbol> GetUnscopables(Isolate* isolate);
2801
+ static Local<Symbol> GetMatch(Isolate* isolate);
2802
+ static Local<Symbol> GetReplace(Isolate* isolate);
2803
+ static Local<Symbol> GetSearch(Isolate* isolate);
2804
+ static Local<Symbol> GetSplit(Isolate* isolate);
2796
2805
  static Local<Symbol> GetToPrimitive(Isolate* isolate);
2797
2806
  static Local<Symbol> GetToStringTag(Isolate* isolate);
2798
- static Local<Symbol> GetIsConcatSpreadable(Isolate* isolate);
2807
+ static Local<Symbol> GetUnscopables(Isolate* isolate);
2799
2808
 
2800
2809
  V8_INLINE static Symbol* Cast(Value* obj);
2801
2810
 
@@ -3070,12 +3079,12 @@ class V8_EXPORT Object : public Value {
3070
3079
  Local<Context> context, Local<Value> key);
3071
3080
 
3072
3081
  /**
3073
- * Returns Object.getOwnPropertyDescriptor as per ES5 section 15.2.3.3.
3082
+ * Returns Object.getOwnPropertyDescriptor as per ES2016 section 19.1.2.6.
3074
3083
  */
3075
3084
  V8_DEPRECATED("Use maybe version",
3076
- Local<Value> GetOwnPropertyDescriptor(Local<String> key));
3085
+ Local<Value> GetOwnPropertyDescriptor(Local<Name> key));
3077
3086
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> GetOwnPropertyDescriptor(
3078
- Local<Context> context, Local<String> key);
3087
+ Local<Context> context, Local<Name> key);
3079
3088
 
3080
3089
  V8_DEPRECATE_SOON("Use maybe version", bool Has(Local<Value> key));
3081
3090
  /**
@@ -3135,6 +3144,16 @@ class V8_EXPORT Object : public Value {
3135
3144
  PropertyAttribute attribute = None,
3136
3145
  AccessControl settings = DEFAULT);
3137
3146
 
3147
+ /**
3148
+ * Sets a native data property like Template::SetNativeDataProperty, but
3149
+ * this method sets on this object directly.
3150
+ */
3151
+ V8_WARN_UNUSED_RESULT Maybe<bool> SetNativeDataProperty(
3152
+ Local<Context> context, Local<Name> name,
3153
+ AccessorNameGetterCallback getter,
3154
+ AccessorNameSetterCallback setter = nullptr,
3155
+ Local<Value> data = Local<Value>(), PropertyAttribute attributes = None);
3156
+
3138
3157
  /**
3139
3158
  * Functionality for private properties.
3140
3159
  * This is an experimental feature, use at your own risk.
@@ -3578,16 +3597,34 @@ class ReturnValue {
3578
3597
  template<typename T>
3579
3598
  class FunctionCallbackInfo {
3580
3599
  public:
3600
+ /** The number of available arguments. */
3581
3601
  V8_INLINE int Length() const;
3602
+ /** Accessor for the available arguments. */
3582
3603
  V8_INLINE Local<Value> operator[](int i) const;
3583
3604
  V8_INLINE V8_DEPRECATED("Use Data() to explicitly pass Callee instead",
3584
3605
  Local<Function> Callee() const);
3606
+ /** Returns the receiver. This corresponds to the "this" value. */
3585
3607
  V8_INLINE Local<Object> This() const;
3608
+ /**
3609
+ * If the callback was created without a Signature, this is the same
3610
+ * value as This(). If there is a signature, and the signature didn't match
3611
+ * This() but one of its hidden prototypes, this will be the respective
3612
+ * hidden prototype.
3613
+ *
3614
+ * Note that this is not the prototype of This() on which the accessor
3615
+ * referencing this callback was found (which in V8 internally is often
3616
+ * referred to as holder [sic]).
3617
+ */
3586
3618
  V8_INLINE Local<Object> Holder() const;
3619
+ /** For construct calls, this returns the "new.target" value. */
3587
3620
  V8_INLINE Local<Value> NewTarget() const;
3621
+ /** Indicates whether this is a regular call or a construct call. */
3588
3622
  V8_INLINE bool IsConstructCall() const;
3623
+ /** The data argument specified when creating the callback. */
3589
3624
  V8_INLINE Local<Value> Data() const;
3625
+ /** The current Isolate. */
3590
3626
  V8_INLINE Isolate* GetIsolate() const;
3627
+ /** The ReturnValue for the call. */
3591
3628
  V8_INLINE ReturnValue<T> GetReturnValue() const;
3592
3629
  // This shouldn't be public, but the arm compiler needs it.
3593
3630
  static const int kArgsLength = 8;
@@ -3595,6 +3632,7 @@ class FunctionCallbackInfo {
3595
3632
  protected:
3596
3633
  friend class internal::FunctionCallbackArguments;
3597
3634
  friend class internal::CustomArguments<FunctionCallbackInfo>;
3635
+ friend class debug::ConsoleCallArguments;
3598
3636
  static const int kHolderIndex = 0;
3599
3637
  static const int kIsolateIndex = 1;
3600
3638
  static const int kReturnValueDefaultValueIndex = 2;
@@ -4154,12 +4192,42 @@ class V8_EXPORT ArrayBuffer : public Object {
4154
4192
  */
4155
4193
  virtual void* AllocateUninitialized(size_t length) = 0;
4156
4194
 
4195
+ /**
4196
+ * Reserved |length| bytes, but do not commit the memory. Must call
4197
+ * |SetProtection| to make memory accessible.
4198
+ */
4199
+ // TODO(eholk): make this pure virtual once blink implements this.
4200
+ virtual void* Reserve(size_t length);
4201
+
4157
4202
  /**
4158
4203
  * Free the memory block of size |length|, pointed to by |data|.
4159
4204
  * That memory is guaranteed to be previously allocated by |Allocate|.
4160
4205
  */
4161
4206
  virtual void Free(void* data, size_t length) = 0;
4162
4207
 
4208
+ enum class AllocationMode { kNormal, kReservation };
4209
+
4210
+ /**
4211
+ * Free the memory block of size |length|, pointed to by |data|.
4212
+ * That memory is guaranteed to be previously allocated by |Allocate| or
4213
+ * |Reserve|, depending on |mode|.
4214
+ */
4215
+ // TODO(eholk): make this pure virtual once blink implements this.
4216
+ virtual void Free(void* data, size_t length, AllocationMode mode);
4217
+
4218
+ enum class Protection { kNoAccess, kReadWrite };
4219
+
4220
+ /**
4221
+ * Change the protection on a region of memory.
4222
+ *
4223
+ * On platforms that make a distinction between reserving and committing
4224
+ * memory, changing the protection to kReadWrite must also ensure the memory
4225
+ * is committed.
4226
+ */
4227
+ // TODO(eholk): make this pure virtual once blink implements this.
4228
+ virtual void SetProtection(void* data, size_t length,
4229
+ Protection protection);
4230
+
4163
4231
  /**
4164
4232
  * malloc/free based convenience allocator.
4165
4233
  *
@@ -5741,9 +5809,13 @@ class V8_EXPORT ObjectTemplate : public Template {
5741
5809
  friend class FunctionTemplate;
5742
5810
  };
5743
5811
 
5744
-
5745
5812
  /**
5746
5813
  * A Signature specifies which receiver is valid for a function.
5814
+ *
5815
+ * A receiver matches a given signature if the receiver (or any of its
5816
+ * hidden prototypes) was created from the signature's FunctionTemplate, or
5817
+ * from a FunctionTemplate that inherits directly or indirectly from the
5818
+ * signature's FunctionTemplate.
5747
5819
  */
5748
5820
  class V8_EXPORT Signature : public Data {
5749
5821
  public:
@@ -5874,8 +5946,12 @@ class V8_EXPORT ResourceConstraints {
5874
5946
  void set_max_old_space_size(int limit_in_mb) {
5875
5947
  max_old_space_size_ = limit_in_mb;
5876
5948
  }
5877
- int max_executable_size() const { return max_executable_size_; }
5878
- void set_max_executable_size(int limit_in_mb) {
5949
+ V8_DEPRECATE_SOON("max_executable_size_ is subsumed by max_old_space_size_",
5950
+ int max_executable_size() const) {
5951
+ return max_executable_size_;
5952
+ }
5953
+ V8_DEPRECATE_SOON("max_executable_size_ is subsumed by max_old_space_size_",
5954
+ void set_max_executable_size(int limit_in_mb)) {
5879
5955
  max_executable_size_ = limit_in_mb;
5880
5956
  }
5881
5957
  uint32_t* stack_limit() const { return stack_limit_; }
@@ -6150,6 +6226,8 @@ enum GCType {
6150
6226
  * - kGCCallbackFlagCollectAllAvailableGarbage: The GC callback is called
6151
6227
  * in a phase where V8 is trying to collect all available garbage
6152
6228
  * (e.g., handling a low memory notification).
6229
+ * - kGCCallbackScheduleIdleGarbageCollection: The GC callback is called to
6230
+ * trigger an idle garbage collection.
6153
6231
  */
6154
6232
  enum GCCallbackFlags {
6155
6233
  kNoGCCallbackFlags = 0,
@@ -6158,6 +6236,7 @@ enum GCCallbackFlags {
6158
6236
  kGCCallbackFlagSynchronousPhantomCallbackProcessing = 1 << 3,
6159
6237
  kGCCallbackFlagCollectAllAvailableGarbage = 1 << 4,
6160
6238
  kGCCallbackFlagCollectAllExternalMemory = 1 << 5,
6239
+ kGCCallbackScheduleIdleGarbageCollection = 1 << 6,
6161
6240
  };
6162
6241
 
6163
6242
  typedef void (*GCCallback)(GCType type, GCCallbackFlags flags);
@@ -6184,9 +6263,8 @@ class V8_EXPORT HeapStatistics {
6184
6263
  size_t peak_malloced_memory() { return peak_malloced_memory_; }
6185
6264
 
6186
6265
  /**
6187
- * Returns a 0/1 boolean, which signifies whether the |--zap_code_space|
6188
- * option is enabled or not, which makes V8 overwrite heap garbage with a bit
6189
- * pattern.
6266
+ * Returns a 0/1 boolean, which signifies whether the V8 overwrite heap
6267
+ * garbage with a bit pattern.
6190
6268
  */
6191
6269
  size_t does_zap_garbage() { return does_zap_garbage_; }
6192
6270
 
@@ -6603,7 +6681,7 @@ class V8_EXPORT Isolate {
6603
6681
 
6604
6682
  /**
6605
6683
  * Whether calling Atomics.wait (a function that may block) is allowed in
6606
- * this isolate.
6684
+ * this isolate. This can also be configured via SetAllowAtomicsWait.
6607
6685
  */
6608
6686
  bool allow_atomics_wait;
6609
6687
 
@@ -7463,6 +7541,13 @@ class V8_EXPORT Isolate {
7463
7541
  */
7464
7542
  bool IsInUse();
7465
7543
 
7544
+ /**
7545
+ * Set whether calling Atomics.wait (a function that may block) is allowed in
7546
+ * this isolate. This can also be configured via
7547
+ * CreateParams::allow_atomics_wait.
7548
+ */
7549
+ void SetAllowAtomicsWait(bool allow);
7550
+
7466
7551
  Isolate() = delete;
7467
7552
  ~Isolate() = delete;
7468
7553
  Isolate(const Isolate&) = delete;
@@ -8164,6 +8249,11 @@ class V8_EXPORT TryCatch {
8164
8249
  */
8165
8250
  void SetVerbose(bool value);
8166
8251
 
8252
+ /**
8253
+ * Returns true if verbosity is enabled.
8254
+ */
8255
+ bool IsVerbose() const;
8256
+
8167
8257
  /**
8168
8258
  * Set whether or not this TryCatch should capture a Message object
8169
8259
  * which holds source information about where the exception
@@ -8356,16 +8446,14 @@ class V8_EXPORT Context {
8356
8446
  Isolate* GetIsolate();
8357
8447
 
8358
8448
  /**
8359
- * The field at kDebugIdIndex is reserved for V8 debugger implementation.
8360
- * The value is propagated to the scripts compiled in given Context and
8361
- * can be used for filtering scripts.
8449
+ * The field at kDebugIdIndex used to be reserved for the inspector.
8450
+ * It now serves no purpose.
8362
8451
  */
8363
8452
  enum EmbedderDataFields { kDebugIdIndex = 0 };
8364
8453
 
8365
8454
  /**
8366
8455
  * Gets the embedder data with the given index, which must have been set by a
8367
- * previous call to SetEmbedderData with the same index. Note that index 0
8368
- * currently has a special meaning for Chrome's debugger.
8456
+ * previous call to SetEmbedderData with the same index.
8369
8457
  */
8370
8458
  V8_INLINE Local<Value> GetEmbedderData(int index);
8371
8459
 
@@ -316,7 +316,7 @@
316
316
  // V8_NORETURN void MyAbort() { abort(); }
317
317
  #if V8_HAS_ATTRIBUTE_NORETURN
318
318
  # define V8_NORETURN __attribute__((noreturn))
319
- #elif HAS_DECLSPEC_NORETURN
319
+ #elif V8_HAS_DECLSPEC_NORETURN
320
320
  # define V8_NORETURN __declspec(noreturn)
321
321
  #else
322
322
  # define V8_NORETURN /* NOT SUPPORTED */
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: 5.9.211.38.1
4
+ version: 6.0.286.44.0beta1
5
5
  platform: universal-darwin-16
6
6
  authors:
7
7
  - Charles Lowell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-25 00:00:00.000000000 Z
11
+ date: 2017-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -76,11 +76,14 @@ files:
76
76
  - vendor/v8/include/v8-profiler.h
77
77
  - vendor/v8/include/v8-testing.h
78
78
  - vendor/v8/include/v8-util.h
79
+ - vendor/v8/include/v8-value-serializer-version.h
79
80
  - vendor/v8/include/v8-version-string.h
80
81
  - vendor/v8/include/v8-version.h
81
82
  - vendor/v8/include/v8.h
82
83
  - vendor/v8/include/v8config.h
83
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
84
87
  - vendor/v8/out/x64.release/libv8_libbase.a
85
88
  - vendor/v8/out/x64.release/libv8_libplatform.a
86
89
  - vendor/v8/out/x64.release/libv8_libsampler.a
@@ -102,9 +105,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
102
105
  version: '0'
103
106
  required_rubygems_version: !ruby/object:Gem::Requirement
104
107
  requirements:
105
- - - '>='
108
+ - - '>'
106
109
  - !ruby/object:Gem::Version
107
- version: '0'
110
+ version: 1.3.1
108
111
  requirements: []
109
112
  rubyforge_project: libv8
110
113
  rubygems_version: 2.0.14.1