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 +4 -4
- data/lib/libv8/version.rb +1 -1
- data/vendor/v8/include/libplatform/libplatform.h +7 -1
- data/vendor/v8/include/v8-debug.h +29 -67
- data/vendor/v8/include/v8-inspector.h +5 -5
- data/vendor/v8/include/v8-platform.h +8 -0
- data/vendor/v8/include/v8-profiler.h +22 -7
- data/vendor/v8/include/v8-util.h +2 -1
- data/vendor/v8/include/v8-version.h +3 -3
- data/vendor/v8/include/v8.h +468 -267
- data/vendor/v8/out/x64.release/libv8_base.a +0 -0
- data/vendor/v8/out/x64.release/libv8_libbase.a +0 -0
- data/vendor/v8/out/x64.release/libv8_libplatform.a +0 -0
- data/vendor/v8/out/x64.release/libv8_nosnapshot.a +0 -0
- data/vendor/v8/out/x64.release/libv8_snapshot.a +0 -0
- metadata +6 -7
- data/vendor/v8/include/v8-experimental.h +0 -58
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4db72c003ed74b0dd4ee22837ef1215eed5669b
|
4
|
+
data.tar.gz: 6d6ccfc2420c2227851471e3fdc426eb90229f34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2658590dcb35079254289eca323f8434a391fadeee6794feed2fad43f50de2dd41382920386c3143a976e32245841df7740e68d34feded3ee0410446a6bafa6
|
7
|
+
data.tar.gz: 7fa0ec8d5146f6630307a409304257c9f5c2d320dc516eed57780be167a78453061a8f80fc4ce26b4388f60f265ef3ee1191fe83196ce36ad103d260ff5b4404
|
data/lib/libv8/version.rb
CHANGED
@@ -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
|
-
*
|
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
|
-
*
|
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
|
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
|
-
*
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
//
|
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>
|
208
|
-
|
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
|
-
|
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
|
-
|
275
|
-
|
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
|
-
|
283
|
-
|
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,
|
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
|
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();
|
data/vendor/v8/include/v8-util.h
CHANGED
@@ -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
|
-
|
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
|
13
|
-
#define V8_BUILD_NUMBER
|
14
|
-
#define V8_PATCH_LEVEL
|
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.)
|