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

Sign up to get free protection for your applications and to get access to all the features.
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