libv8 5.7.492.65.1-universal-darwin-14 → 5.9.211.38.0beta0-universal-darwin-14

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: a80b903d35fb0e4902d023edba17c26bf7e82e0e
4
- data.tar.gz: 6631fae2d073b3bc1ab13f73148f4ecbd2ff6b7e
3
+ metadata.gz: e4db72c003ed74b0dd4ee22837ef1215eed5669b
4
+ data.tar.gz: 6d6ccfc2420c2227851471e3fdc426eb90229f34
5
5
  SHA512:
6
- metadata.gz: 0d9fa53c9134d20b6148c22754440a7ffe9708fcfca62f136ec678c5468dfe0953f3ef67b8325c04be668eb8ba03d6e957d40c2bd07285fc33261438efc2878e
7
- data.tar.gz: 91fdde88ab83f163d058ee0e9ee18e386c6ce4c92eedb449b09e995b9ad00619a19d42fcf92047fc978464ae21baf1930d79f6399dd3c2a6ef02c85fedd295fc
6
+ metadata.gz: e2658590dcb35079254289eca323f8434a391fadeee6794feed2fad43f50de2dd41382920386c3143a976e32245841df7740e68d34feded3ee0410446a6bafa6
7
+ data.tar.gz: 7fa0ec8d5146f6630307a409304257c9f5c2d320dc516eed57780be167a78453061a8f80fc4ce26b4388f60f265ef3ee1191fe83196ce36ad103d260ff5b4404
data/lib/libv8/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Libv8
2
- VERSION = "5.7.492.65.1"
2
+ VERSION = "5.9.211.38.0beta0"
3
3
  end
@@ -12,6 +12,8 @@
12
12
  namespace v8 {
13
13
  namespace platform {
14
14
 
15
+ enum class IdleTaskSupport { kDisabled, kEnabled };
16
+
15
17
  /**
16
18
  * Returns a new instance of the default v8::Platform implementation.
17
19
  *
@@ -19,9 +21,13 @@ namespace platform {
19
21
  * is the number of worker threads to allocate for background jobs. If a value
20
22
  * of zero is passed, a suitable default based on the current number of
21
23
  * processors online will be chosen.
24
+ * If |idle_task_support| is enabled then the platform will accept idle
25
+ * tasks (IdleTasksEnabled will return true) and will rely on the embedder
26
+ * calling v8::platform::RunIdleTasks to process the idle tasks.
22
27
  */
23
28
  V8_PLATFORM_EXPORT v8::Platform* CreateDefaultPlatform(
24
- int thread_pool_size = 0);
29
+ int thread_pool_size = 0,
30
+ IdleTaskSupport idle_task_support = IdleTaskSupport::kDisabled);
25
31
 
26
32
  /**
27
33
  * Pumps the message loop for the given isolate.
@@ -8,7 +8,9 @@
8
8
  #include "v8.h" // NOLINT(build/include)
9
9
 
10
10
  /**
11
- * Debugger support for the V8 JavaScript engine.
11
+ * ATTENTION: The debugger API exposed by this file is deprecated and will be
12
+ * removed by the end of 2017. Please use the V8 inspector declared
13
+ * in include/v8-inspector.h instead.
12
14
  */
13
15
  namespace v8 {
14
16
 
@@ -116,9 +118,7 @@ class V8_EXPORT Debug {
116
118
  virtual Local<Value> GetCallbackData() const = 0;
117
119
 
118
120
  /**
119
- * Client data passed to DebugBreakForCommand function. The
120
- * debugger takes ownership of the data and will delete it even if
121
- * there is no message handler.
121
+ * This is now a dummy that returns nullptr.
122
122
  */
123
123
  virtual ClientData* GetClientData() const = 0;
124
124
 
@@ -132,46 +132,40 @@ class V8_EXPORT Debug {
132
132
  *
133
133
  * \param event_details object providing information about the debug event
134
134
  *
135
- * A EventCallback2 does not take possession of the event data,
135
+ * A EventCallback does not take possession of the event data,
136
136
  * and must not rely on the data persisting after the handler returns.
137
137
  */
138
138
  typedef void (*EventCallback)(const EventDetails& event_details);
139
139
 
140
140
  /**
141
- * Debug message callback function.
142
- *
143
- * \param message the debug message handler message object
144
- *
145
- * A MessageHandler does not take possession of the message data,
146
- * and must not rely on the data persisting after the handler returns.
141
+ * This is now a no-op.
147
142
  */
148
143
  typedef void (*MessageHandler)(const Message& message);
149
144
 
150
- /**
151
- * Callback function for the host to ensure debug messages are processed.
152
- */
153
- typedef void (*DebugMessageDispatchHandler)();
154
-
155
- static bool SetDebugEventListener(Isolate* isolate, EventCallback that,
156
- Local<Value> data = Local<Value>());
145
+ V8_DEPRECATED("No longer supported", static bool SetDebugEventListener(
146
+ Isolate* isolate, EventCallback that,
147
+ Local<Value> data = Local<Value>()));
157
148
 
158
149
  // Schedule a debugger break to happen when JavaScript code is run
159
150
  // in the given isolate.
160
- static void DebugBreak(Isolate* isolate);
151
+ V8_DEPRECATED("No longer supported",
152
+ static void DebugBreak(Isolate* isolate));
161
153
 
162
154
  // Remove scheduled debugger break in given isolate if it has not
163
155
  // happened yet.
164
- static void CancelDebugBreak(Isolate* isolate);
156
+ V8_DEPRECATED("No longer supported",
157
+ static void CancelDebugBreak(Isolate* isolate));
165
158
 
166
159
  // Check if a debugger break is scheduled in the given isolate.
167
160
  V8_DEPRECATED("No longer supported",
168
161
  static bool CheckDebugBreak(Isolate* isolate));
169
162
 
170
- // Message based interface. The message protocol is JSON.
163
+ // This is now a no-op.
171
164
  V8_DEPRECATED("No longer supported",
172
165
  static void SetMessageHandler(Isolate* isolate,
173
166
  MessageHandler handler));
174
167
 
168
+ // This is now a no-op.
175
169
  V8_DEPRECATED("No longer supported",
176
170
  static void SendCommand(Isolate* isolate,
177
171
  const uint16_t* command, int length,
@@ -195,49 +189,12 @@ class V8_EXPORT Debug {
195
189
  * }
196
190
  * \endcode
197
191
  */
198
- // TODO(dcarney): data arg should be a MaybeLocal
199
- static MaybeLocal<Value> Call(Local<Context> context,
200
- v8::Local<v8::Function> fun,
201
- Local<Value> data = Local<Value>());
202
-
203
- /**
204
- * Returns a mirror object for the given object.
205
- */
206
192
  V8_DEPRECATED("No longer supported",
207
- static MaybeLocal<Value> GetMirror(Local<Context> context,
208
- v8::Local<v8::Value> obj));
193
+ static MaybeLocal<Value> Call(
194
+ Local<Context> context, v8::Local<v8::Function> fun,
195
+ Local<Value> data = Local<Value>()));
209
196
 
210
- /**
211
- * Makes V8 process all pending debug messages.
212
- *
213
- * From V8 point of view all debug messages come asynchronously (e.g. from
214
- * remote debugger) but they all must be handled synchronously: V8 cannot
215
- * do 2 things at one time so normal script execution must be interrupted
216
- * for a while.
217
- *
218
- * Generally when message arrives V8 may be in one of 3 states:
219
- * 1. V8 is running script; V8 will automatically interrupt and process all
220
- * pending messages;
221
- * 2. V8 is suspended on debug breakpoint; in this state V8 is dedicated
222
- * to reading and processing debug messages;
223
- * 3. V8 is not running at all or has called some long-working C++ function;
224
- * by default it means that processing of all debug messages will be deferred
225
- * until V8 gets control again; however, embedding application may improve
226
- * this by manually calling this method.
227
- *
228
- * Technically this method in many senses is equivalent to executing empty
229
- * script:
230
- * 1. It does nothing except for processing all pending debug messages.
231
- * 2. It should be invoked with the same precautions and from the same context
232
- * as V8 script would be invoked from, because:
233
- * a. with "evaluate" command it can do whatever normal script can do,
234
- * including all native calls;
235
- * b. no other thread should call V8 while this method is running
236
- * (v8::Locker may be used here).
237
- *
238
- * "Evaluate" debug command behavior currently is not specified in scope
239
- * of this method.
240
- */
197
+ // This is now a no-op.
241
198
  V8_DEPRECATED("No longer supported",
242
199
  static void ProcessDebugMessages(Isolate* isolate));
243
200
 
@@ -264,23 +221,28 @@ class V8_EXPORT Debug {
264
221
  * (default Isolate if not provided). V8 will abort if LiveEdit is
265
222
  * unexpectedly used. LiveEdit is enabled by default.
266
223
  */
267
- static void SetLiveEditEnabled(Isolate* isolate, bool enable);
224
+ V8_DEPRECATED("No longer supported",
225
+ static void SetLiveEditEnabled(Isolate* isolate, bool enable));
268
226
 
269
227
  /**
270
228
  * Returns array of internal properties specific to the value type. Result has
271
229
  * the following format: [<name>, <value>,...,<name>, <value>]. Result array
272
230
  * will be allocated in the current context.
273
231
  */
274
- static MaybeLocal<Array> GetInternalProperties(Isolate* isolate,
275
- Local<Value> value);
232
+ V8_DEPRECATED("No longer supported",
233
+ static MaybeLocal<Array> GetInternalProperties(
234
+ Isolate* isolate, Local<Value> value));
276
235
 
277
236
  /**
278
237
  * Defines if the ES2015 tail call elimination feature is enabled or not.
279
238
  * The change of this flag triggers deoptimization of all functions that
280
239
  * contain calls at tail position.
281
240
  */
282
- static bool IsTailCallEliminationEnabled(Isolate* isolate);
283
- static void SetTailCallEliminationEnabled(Isolate* isolate, bool enabled);
241
+ V8_DEPRECATED("No longer supported",
242
+ static bool IsTailCallEliminationEnabled(Isolate* isolate));
243
+ V8_DEPRECATED("No longer supported",
244
+ static void SetTailCallEliminationEnabled(Isolate* isolate,
245
+ bool enabled));
284
246
  };
285
247
 
286
248
 
@@ -85,6 +85,8 @@ class V8_EXPORT V8ContextInfo {
85
85
  StringView auxData;
86
86
  bool hasMemoryOnConsole;
87
87
 
88
+ static int executionContextId(v8::Local<v8::Context> context);
89
+
88
90
  private:
89
91
  // Disallow copying and allocating this one.
90
92
  enum NotNullTagEnum { NotNullLiteral };
@@ -156,8 +158,6 @@ class V8_EXPORT V8InspectorSession {
156
158
  virtual void releaseObjectGroup(const StringView&) = 0;
157
159
  };
158
160
 
159
- enum class V8ConsoleAPIType { kClear, kDebug, kLog, kInfo, kWarning, kError };
160
-
161
161
  class V8_EXPORT V8InspectorClient {
162
162
  public:
163
163
  virtual ~V8InspectorClient() {}
@@ -189,7 +189,8 @@ class V8_EXPORT V8InspectorClient {
189
189
 
190
190
  virtual void installAdditionalCommandLineAPI(v8::Local<v8::Context>,
191
191
  v8::Local<v8::Object>) {}
192
- virtual void consoleAPIMessage(int contextGroupId, V8ConsoleAPIType,
192
+ virtual void consoleAPIMessage(int contextGroupId,
193
+ v8::Isolate::MessageErrorLevel level,
193
194
  const StringView& message,
194
195
  const StringView& url, unsigned lineNumber,
195
196
  unsigned columnNumber, V8StackTrace*) {}
@@ -201,6 +202,7 @@ class V8_EXPORT V8InspectorClient {
201
202
  virtual void consoleTime(const StringView& title) {}
202
203
  virtual void consoleTimeEnd(const StringView& title) {}
203
204
  virtual void consoleTimeStamp(const StringView& title) {}
205
+ virtual void consoleClear(int contextGroupId) {}
204
206
  virtual double currentTimeMS() { return 0; }
205
207
  typedef void (*TimerCallback)(void*);
206
208
  virtual void startRepeatingTimer(double, TimerCallback, void* data) {}
@@ -222,8 +224,6 @@ class V8_EXPORT V8Inspector {
222
224
  virtual void resetContextGroup(int contextGroupId) = 0;
223
225
 
224
226
  // Various instrumentation.
225
- virtual void willExecuteScript(v8::Local<v8::Context>, int scriptId) = 0;
226
- virtual void didExecuteScript(v8::Local<v8::Context>) = 0;
227
227
  virtual void idleStarted() = 0;
228
228
  virtual void idleFinished() = 0;
229
229
 
@@ -212,6 +212,14 @@ class Platform {
212
212
 
213
213
  /** Removes tracing state change observer. */
214
214
  virtual void RemoveTraceStateObserver(TraceStateObserver*) {}
215
+
216
+ typedef void (*StackTracePrinter)();
217
+
218
+ /**
219
+ * Returns a function pointer that print a stack trace of the current stack
220
+ * on invocation. Disables printing of the stack trace if nullptr.
221
+ */
222
+ virtual StackTracePrinter GetStackTracePrinter() { return nullptr; }
215
223
  };
216
224
 
217
225
  } // namespace v8
@@ -5,6 +5,7 @@
5
5
  #ifndef V8_V8_PROFILER_H_
6
6
  #define V8_V8_PROFILER_H_
7
7
 
8
+ #include <unordered_set>
8
9
  #include <vector>
9
10
  #include "v8.h" // NOLINT(build/include)
10
11
 
@@ -392,8 +393,7 @@ class V8_EXPORT HeapGraphNode {
392
393
  // snapshot items together.
393
394
  kConsString = 10, // Concatenated string. A pair of pointers to strings.
394
395
  kSlicedString = 11, // Sliced string. A fragment of another string.
395
- kSymbol = 12, // A Symbol (ES6).
396
- kSimdValue = 13 // A SIMD value stored in the heap (Proposed ES7).
396
+ kSymbol = 12 // A Symbol (ES6).
397
397
  };
398
398
 
399
399
  /** Returns node type (see HeapGraphNode::Type). */
@@ -630,6 +630,24 @@ class V8_EXPORT HeapProfiler {
630
630
  kSamplingForceGC = 1 << 0,
631
631
  };
632
632
 
633
+ typedef std::unordered_set<const v8::PersistentBase<v8::Value>*>
634
+ RetainerChildren;
635
+ typedef std::vector<std::pair<v8::RetainedObjectInfo*, RetainerChildren>>
636
+ RetainerGroups;
637
+ typedef std::vector<std::pair<const v8::PersistentBase<v8::Value>*,
638
+ const v8::PersistentBase<v8::Value>*>>
639
+ RetainerEdges;
640
+
641
+ struct RetainerInfos {
642
+ RetainerGroups groups;
643
+ RetainerEdges edges;
644
+ };
645
+
646
+ /**
647
+ * Callback function invoked to retrieve all RetainerInfos from the embedder.
648
+ */
649
+ typedef RetainerInfos (*GetRetainerInfosCallback)(v8::Isolate* isolate);
650
+
633
651
  /**
634
652
  * Callback function invoked for obtaining RetainedObjectInfo for
635
653
  * the given JavaScript wrapper object. It is prohibited to enter V8
@@ -782,6 +800,8 @@ class V8_EXPORT HeapProfiler {
782
800
  uint16_t class_id,
783
801
  WrapperInfoCallback callback);
784
802
 
803
+ void SetGetRetainerInfosCallback(GetRetainerInfosCallback callback);
804
+
785
805
  /**
786
806
  * Default value of persistent handle class ID. Must not be used to
787
807
  * define a class. Can be used to reset a class of a persistent
@@ -792,11 +812,6 @@ class V8_EXPORT HeapProfiler {
792
812
  /** Returns memory used for profiler internal data and snapshots. */
793
813
  size_t GetProfilerMemorySize();
794
814
 
795
- /**
796
- * Sets a RetainedObjectInfo for an object group (see V8::SetObjectGroupId).
797
- */
798
- void SetRetainedObjectInfo(UniqueId id, RetainedObjectInfo* info);
799
-
800
815
  private:
801
816
  HeapProfiler();
802
817
  ~HeapProfiler();
@@ -6,6 +6,7 @@
6
6
  #define V8_UTIL_H_
7
7
 
8
8
  #include "v8.h" // NOLINT(build/include)
9
+ #include <assert.h>
9
10
  #include <map>
10
11
  #include <vector>
11
12
 
@@ -210,7 +211,7 @@ class PersistentValueMapBase {
210
211
  * key.
211
212
  */
212
213
  void RegisterExternallyReferencedObject(K& key) {
213
- DCHECK(Contains(key));
214
+ assert(Contains(key));
214
215
  V8::RegisterExternallyReferencedObject(
215
216
  reinterpret_cast<internal::Object**>(FromVal(Traits::Get(&impl_, key))),
216
217
  reinterpret_cast<internal::Isolate*>(GetIsolate()));
@@ -9,9 +9,9 @@
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
11
  #define V8_MAJOR_VERSION 5
12
- #define V8_MINOR_VERSION 7
13
- #define V8_BUILD_NUMBER 492
14
- #define V8_PATCH_LEVEL 65
12
+ #define V8_MINOR_VERSION 9
13
+ #define V8_BUILD_NUMBER 211
14
+ #define V8_PATCH_LEVEL 38
15
15
 
16
16
  // Use 1 for candidates and 0 otherwise.
17
17
  // (Boolean macro values are not supported by all preprocessors.)