libv8 5.7.492.65.1-amd64-freebsd-11 → 5.9.211.38.0beta0-amd64-freebsd-11

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: 650ee82c65c9ce5340bf415d7c950e75d763eb52
4
- data.tar.gz: bd5191e8758dcdca7ec3bef319ccff354d6b85bb
3
+ metadata.gz: 82615cb94f59e8591c802403665e63836bffa30d
4
+ data.tar.gz: bd4b31b79cedf103a8b90227abff6609a0e60e84
5
5
  SHA512:
6
- metadata.gz: 51cb36c09c0d2b4bd71f53de5a23b7c2c34d832ff5b529f724663337fea319b809349a81d495c23f14a0426f71b042ba07600d8e9527f7580eaef5996b0a9c67
7
- data.tar.gz: 240e35ab81ccb7f07028160884ef9ac4d8207857b5f78435782d8423d685434c8a223bf20f8d17fb1224a9b2377b069f491cdcf3528237c9616d8b6d134b1925
6
+ metadata.gz: 80f879db37216f1bec5a175f9d5504365edae7afa10f8ca7b4d83395fe0a08487c13cb9228b3cfb08329bea8bb6750eda0e9f36a121b3ff12e27db548f7ce2d2
7
+ data.tar.gz: dfc021a765f06544b5d5f9cfdb2339d6bfb86a8481e85ecfe11aa029427df49e524a9fff549579a200b3b517069e9540f1000fcc1527a10c372e3eeda2285961
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.)