libv8-node 21.7.2.0-aarch64-linux-musl → 24.12.0.0-aarch64-linux-musl
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 +4 -4
- data/ext/libv8-node/location.rb +3 -5
- data/ext/libv8-node/paths.rb +2 -0
- data/lib/libv8/node/version.rb +7 -4
- data/lib/libv8/node.rb +2 -0
- data/lib/libv8-node.rb +2 -0
- data/vendor/v8/aarch64-linux-musl/libv8/obj/libv8_monolith.a +0 -0
- data/vendor/v8/include/cppgc/allocation.h +11 -13
- data/vendor/v8/include/cppgc/default-platform.h +3 -2
- data/vendor/v8/include/cppgc/garbage-collected.h +8 -0
- data/vendor/v8/include/cppgc/heap-consistency.h +1 -1
- data/vendor/v8/include/cppgc/heap-statistics.h +2 -0
- data/vendor/v8/include/cppgc/internal/api-constants.h +2 -14
- data/vendor/v8/include/cppgc/internal/base-page-handle.h +2 -4
- data/vendor/v8/include/cppgc/internal/caged-heap-local-data.h +0 -4
- data/vendor/v8/include/cppgc/internal/caged-heap.h +0 -4
- data/vendor/v8/include/cppgc/internal/compiler-specific.h +9 -1
- data/vendor/v8/include/cppgc/internal/conditional-stack-allocated.h +41 -0
- data/vendor/v8/include/cppgc/internal/gc-info.h +12 -10
- data/vendor/v8/include/cppgc/internal/logging.h +3 -3
- data/vendor/v8/include/cppgc/internal/member-storage.h +69 -20
- data/vendor/v8/include/cppgc/internal/name-trait.h +5 -1
- data/vendor/v8/include/cppgc/internal/persistent-node.h +8 -3
- data/vendor/v8/include/cppgc/internal/pointer-policies.h +48 -11
- data/vendor/v8/include/cppgc/macros.h +21 -0
- data/vendor/v8/include/cppgc/member.h +70 -36
- data/vendor/v8/include/cppgc/name-provider.h +10 -0
- data/vendor/v8/include/cppgc/platform.h +11 -0
- data/vendor/v8/include/cppgc/type-traits.h +26 -4
- data/vendor/v8/include/cppgc/visitor.h +25 -1
- data/vendor/v8/include/libplatform/libplatform-export.h +2 -2
- data/vendor/v8/include/libplatform/v8-tracing.h +0 -1
- data/vendor/v8/include/v8-array-buffer.h +149 -46
- data/vendor/v8/include/v8-callbacks.h +100 -43
- data/vendor/v8/include/v8-container.h +54 -0
- data/vendor/v8/include/v8-context.h +92 -30
- data/vendor/v8/include/v8-cppgc.h +5 -56
- data/vendor/v8/include/v8-data.h +5 -0
- data/vendor/v8/include/v8-date.h +9 -0
- data/vendor/v8/include/v8-debug.h +11 -0
- data/vendor/v8/include/v8-embedder-heap.h +8 -20
- data/vendor/v8/include/v8-embedder-state-scope.h +2 -1
- data/vendor/v8/include/v8-exception.h +87 -9
- data/vendor/v8/include/v8-external-memory-accounter.h +60 -0
- data/vendor/v8/include/v8-fast-api-calls.h +67 -223
- data/vendor/v8/include/v8-forward.h +1 -0
- data/vendor/v8/include/v8-function-callback.h +296 -75
- data/vendor/v8/include/v8-function.h +11 -3
- data/vendor/v8/include/v8-handle-base.h +52 -82
- data/vendor/v8/include/v8-initialization.h +26 -1
- data/vendor/v8/include/v8-inspector.h +26 -27
- data/vendor/v8/include/v8-internal.h +960 -230
- data/vendor/v8/include/v8-isolate.h +347 -226
- data/vendor/v8/include/v8-local-handle.h +307 -55
- data/vendor/v8/include/v8-maybe.h +2 -1
- data/vendor/v8/include/v8-memory-span.h +284 -4
- data/vendor/v8/include/v8-message.h +11 -5
- data/vendor/v8/include/v8-metrics.h +15 -0
- data/vendor/v8/include/v8-microtask-queue.h +0 -5
- data/vendor/v8/include/v8-object.h +314 -41
- data/vendor/v8/include/v8-persistent-handle.h +29 -39
- data/vendor/v8/include/v8-platform.h +135 -77
- data/vendor/v8/include/v8-primitive.h +223 -5
- data/vendor/v8/include/v8-profiler.h +51 -2
- data/vendor/v8/include/v8-promise.h +2 -2
- data/vendor/v8/include/v8-proxy.h +0 -1
- data/vendor/v8/include/v8-regexp.h +0 -1
- data/vendor/v8/include/v8-sandbox.h +173 -0
- data/vendor/v8/include/v8-script.h +125 -27
- data/vendor/v8/include/v8-snapshot.h +130 -23
- data/vendor/v8/include/v8-source-location.h +6 -1
- data/vendor/v8/include/v8-statistics.h +10 -24
- data/vendor/v8/include/v8-template.h +320 -193
- data/vendor/v8/include/v8-trace-categories.h +23 -0
- data/vendor/v8/include/v8-traced-handle.h +99 -76
- data/vendor/v8/include/v8-typed-array.h +111 -7
- data/vendor/v8/include/v8-unwinder-state.h +2 -3
- data/vendor/v8/include/v8-unwinder.h +2 -1
- data/vendor/v8/include/v8-util.h +10 -125
- data/vendor/v8/include/v8-value-serializer-version.h +3 -3
- data/vendor/v8/include/v8-value.h +113 -6
- data/vendor/v8/include/v8-version.h +3 -3
- data/vendor/v8/include/v8-wasm.h +27 -0
- data/vendor/v8/include/v8-weak-callback-info.h +20 -12
- data/vendor/v8/include/v8.h +3 -3
- data/vendor/v8/include/v8config.h +116 -53
- metadata +55 -12
- data/vendor/v8/include/cppgc/ephemeron-pair.h +0 -30
|
@@ -7,92 +7,48 @@
|
|
|
7
7
|
|
|
8
8
|
#include "v8-internal.h" // NOLINT(build/include_directory)
|
|
9
9
|
|
|
10
|
-
namespace v8 {
|
|
10
|
+
namespace v8::api_internal {
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
// Helper functions about values contained in handles.
|
|
15
|
-
// A value is either an indirect pointer or a direct pointer, depending on
|
|
16
|
-
// whether direct local support is enabled.
|
|
17
|
-
class ValueHelper final {
|
|
12
|
+
template <bool check_statically_enabled>
|
|
13
|
+
class StackAllocated {
|
|
18
14
|
public:
|
|
19
|
-
|
|
20
|
-
static constexpr Address kTaggedNullAddress = 1;
|
|
21
|
-
static constexpr Address kEmpty = kTaggedNullAddress;
|
|
22
|
-
#else
|
|
23
|
-
static constexpr Address kEmpty = kNullAddress;
|
|
24
|
-
#endif // V8_ENABLE_DIRECT_LOCAL
|
|
25
|
-
|
|
26
|
-
template <typename T>
|
|
27
|
-
V8_INLINE static bool IsEmpty(T* value) {
|
|
28
|
-
return reinterpret_cast<Address>(value) == kEmpty;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Returns a handle's "value" for all kinds of abstract handles. For Local,
|
|
32
|
-
// it is equivalent to `*handle`. The variadic parameters support handle
|
|
33
|
-
// types with extra type parameters, like `Persistent<T, M>`.
|
|
34
|
-
template <template <typename T, typename... Ms> typename H, typename T,
|
|
35
|
-
typename... Ms>
|
|
36
|
-
V8_INLINE static T* HandleAsValue(const H<T, Ms...>& handle) {
|
|
37
|
-
return handle.template value<T>();
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
#ifdef V8_ENABLE_DIRECT_LOCAL
|
|
15
|
+
V8_INLINE StackAllocated() = default;
|
|
41
16
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
template <typename T, bool check_null = true, typename S>
|
|
48
|
-
V8_INLINE static T* SlotAsValue(S* slot) {
|
|
49
|
-
if (check_null && slot == nullptr) {
|
|
50
|
-
return reinterpret_cast<T*>(kTaggedNullAddress);
|
|
51
|
-
}
|
|
52
|
-
return *reinterpret_cast<T**>(slot);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
#else // !V8_ENABLE_DIRECT_LOCAL
|
|
56
|
-
|
|
57
|
-
template <typename T>
|
|
58
|
-
V8_INLINE static Address ValueAsAddress(const T* value) {
|
|
59
|
-
return *reinterpret_cast<const Address*>(value);
|
|
60
|
-
}
|
|
17
|
+
protected:
|
|
18
|
+
struct no_checking_tag {};
|
|
19
|
+
static constexpr no_checking_tag do_not_check{};
|
|
61
20
|
|
|
62
|
-
|
|
63
|
-
V8_INLINE
|
|
64
|
-
|
|
65
|
-
}
|
|
21
|
+
V8_INLINE explicit StackAllocated(no_checking_tag) {}
|
|
22
|
+
V8_INLINE explicit StackAllocated(const StackAllocated& other,
|
|
23
|
+
no_checking_tag) {}
|
|
66
24
|
|
|
67
|
-
|
|
25
|
+
V8_INLINE void VerifyOnStack() const {}
|
|
68
26
|
};
|
|
69
27
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
*/
|
|
73
|
-
class HandleHelper final {
|
|
28
|
+
template <>
|
|
29
|
+
class V8_TRIVIAL_ABI StackAllocated<true> : public StackAllocated<false> {
|
|
74
30
|
public:
|
|
75
|
-
|
|
76
|
-
* Checks whether two handles are equal.
|
|
77
|
-
* They are equal iff they are both empty or they are both non-empty and the
|
|
78
|
-
* objects to which they refer are physically equal.
|
|
79
|
-
*
|
|
80
|
-
* If both handles refer to JS objects, this is the same as strict equality.
|
|
81
|
-
* For primitives, such as numbers or strings, a `false` return value does not
|
|
82
|
-
* indicate that the values aren't equal in the JavaScript sense.
|
|
83
|
-
* Use `Value::StrictEquals()` to check primitives for equality.
|
|
84
|
-
*/
|
|
85
|
-
template <typename T1, typename T2>
|
|
86
|
-
V8_INLINE static bool EqualHandles(const T1& lhs, const T2& rhs) {
|
|
87
|
-
if (lhs.IsEmpty()) return rhs.IsEmpty();
|
|
88
|
-
if (rhs.IsEmpty()) return false;
|
|
89
|
-
return lhs.ptr() == rhs.ptr();
|
|
90
|
-
}
|
|
31
|
+
V8_INLINE StackAllocated() { VerifyOnStack(); }
|
|
91
32
|
|
|
92
|
-
|
|
93
|
-
|
|
33
|
+
#if V8_HAS_ATTRIBUTE_TRIVIAL_ABI
|
|
34
|
+
// In this case, StackAllocated becomes not trivially copyable.
|
|
35
|
+
V8_INLINE StackAllocated(const StackAllocated& other) { VerifyOnStack(); }
|
|
36
|
+
StackAllocated& operator=(const StackAllocated&) = default;
|
|
37
|
+
#endif
|
|
94
38
|
|
|
95
|
-
|
|
39
|
+
protected:
|
|
40
|
+
V8_INLINE explicit StackAllocated(no_checking_tag tag)
|
|
41
|
+
: StackAllocated<false>(tag) {}
|
|
42
|
+
V8_INLINE explicit StackAllocated(const StackAllocated& other,
|
|
43
|
+
no_checking_tag tag)
|
|
44
|
+
: StackAllocated<false>(other, tag) {}
|
|
45
|
+
|
|
46
|
+
#ifdef ENABLE_SLOW_DCHECKS
|
|
47
|
+
V8_EXPORT void VerifyOnStack() const;
|
|
48
|
+
#else
|
|
49
|
+
V8_INLINE V8_EXPORT void VerifyOnStack() const {}
|
|
50
|
+
#endif
|
|
51
|
+
};
|
|
96
52
|
|
|
97
53
|
/**
|
|
98
54
|
* A base class for abstract handles containing indirect pointers.
|
|
@@ -129,16 +85,26 @@ class IndirectHandleBase {
|
|
|
129
85
|
|
|
130
86
|
// Returns the handler's "value" (direct or indirect pointer, depending on
|
|
131
87
|
// whether direct local support is enabled).
|
|
132
|
-
template <typename T>
|
|
88
|
+
template <typename T, bool check_null = false>
|
|
133
89
|
V8_INLINE T* value() const {
|
|
134
|
-
return internal::ValueHelper::SlotAsValue<T,
|
|
90
|
+
return internal::ValueHelper::SlotAsValue<T, check_null>(slot());
|
|
135
91
|
}
|
|
136
92
|
|
|
93
|
+
#ifdef V8_ENABLE_DIRECT_HANDLE
|
|
94
|
+
V8_INLINE internal::ValueHelper::InternalRepresentationType repr() const {
|
|
95
|
+
return location_ ? *location_ : internal::ValueHelper::kEmpty;
|
|
96
|
+
}
|
|
97
|
+
#else
|
|
98
|
+
V8_INLINE internal::ValueHelper::InternalRepresentationType repr() const {
|
|
99
|
+
return location_;
|
|
100
|
+
}
|
|
101
|
+
#endif // V8_ENABLE_DIRECT_HANDLE
|
|
102
|
+
|
|
137
103
|
private:
|
|
138
104
|
internal::Address* location_ = nullptr;
|
|
139
105
|
};
|
|
140
106
|
|
|
141
|
-
#ifdef
|
|
107
|
+
#ifdef V8_ENABLE_DIRECT_HANDLE
|
|
142
108
|
|
|
143
109
|
/**
|
|
144
110
|
* A base class for abstract handles containing direct pointers.
|
|
@@ -169,17 +135,21 @@ class DirectHandleBase {
|
|
|
169
135
|
|
|
170
136
|
// Returns the handler's "value" (direct pointer, as direct local support
|
|
171
137
|
// is guaranteed to be enabled here).
|
|
172
|
-
template <typename T>
|
|
138
|
+
template <typename T, bool check_null = false>
|
|
173
139
|
V8_INLINE T* value() const {
|
|
174
140
|
return reinterpret_cast<T*>(ptr_);
|
|
175
141
|
}
|
|
176
142
|
|
|
143
|
+
V8_INLINE internal::ValueHelper::InternalRepresentationType repr() const {
|
|
144
|
+
return ptr_;
|
|
145
|
+
}
|
|
146
|
+
|
|
177
147
|
private:
|
|
178
148
|
internal::Address ptr_ = internal::ValueHelper::kEmpty;
|
|
179
149
|
};
|
|
180
150
|
|
|
181
|
-
#endif //
|
|
151
|
+
#endif // V8_ENABLE_DIRECT_HANDLE
|
|
182
152
|
|
|
183
|
-
} // namespace v8
|
|
153
|
+
} // namespace v8::api_internal
|
|
184
154
|
|
|
185
155
|
#endif // INCLUDE_V8_HANDLE_BASE_H_
|
|
@@ -52,6 +52,9 @@ using ReturnAddressLocationResolver =
|
|
|
52
52
|
using DcheckErrorCallback = void (*)(const char* file, int line,
|
|
53
53
|
const char* message);
|
|
54
54
|
|
|
55
|
+
using V8FatalErrorCallback = void (*)(const char* file, int line,
|
|
56
|
+
const char* message);
|
|
57
|
+
|
|
55
58
|
/**
|
|
56
59
|
* Container class for static utility functions.
|
|
57
60
|
*/
|
|
@@ -77,6 +80,12 @@ class V8_EXPORT V8 {
|
|
|
77
80
|
/** Set the callback to invoke in case of Dcheck failures. */
|
|
78
81
|
static void SetDcheckErrorHandler(DcheckErrorCallback that);
|
|
79
82
|
|
|
83
|
+
/** Set the callback to invoke in the case of CHECK failures or fatal
|
|
84
|
+
* errors. This is distinct from Isolate::SetFatalErrorHandler, which
|
|
85
|
+
* is invoked in response to API usage failures.
|
|
86
|
+
* */
|
|
87
|
+
static void SetFatalErrorHandler(V8FatalErrorCallback that);
|
|
88
|
+
|
|
80
89
|
/**
|
|
81
90
|
* Sets V8 flags from a string.
|
|
82
91
|
*/
|
|
@@ -97,10 +106,24 @@ class V8_EXPORT V8 {
|
|
|
97
106
|
* is created. It always returns true.
|
|
98
107
|
*/
|
|
99
108
|
V8_INLINE static bool Initialize() {
|
|
109
|
+
#ifdef V8_TARGET_OS_ANDROID
|
|
110
|
+
const bool kV8TargetOsIsAndroid = true;
|
|
111
|
+
#else
|
|
112
|
+
const bool kV8TargetOsIsAndroid = false;
|
|
113
|
+
#endif
|
|
114
|
+
|
|
115
|
+
#ifdef V8_ENABLE_CHECKS
|
|
116
|
+
const bool kV8EnableChecks = true;
|
|
117
|
+
#else
|
|
118
|
+
const bool kV8EnableChecks = false;
|
|
119
|
+
#endif
|
|
120
|
+
|
|
100
121
|
const int kBuildConfiguration =
|
|
101
122
|
(internal::PointerCompressionIsEnabled() ? kPointerCompression : 0) |
|
|
102
123
|
(internal::SmiValuesAre31Bits() ? k31BitSmis : 0) |
|
|
103
|
-
(internal::SandboxIsEnabled() ? kSandbox : 0)
|
|
124
|
+
(internal::SandboxIsEnabled() ? kSandbox : 0) |
|
|
125
|
+
(kV8TargetOsIsAndroid ? kTargetOsIsAndroid : 0) |
|
|
126
|
+
(kV8EnableChecks ? kEnableChecks : 0);
|
|
104
127
|
return Initialize(kBuildConfiguration);
|
|
105
128
|
}
|
|
106
129
|
|
|
@@ -271,6 +294,8 @@ class V8_EXPORT V8 {
|
|
|
271
294
|
kPointerCompression = 1 << 0,
|
|
272
295
|
k31BitSmis = 1 << 1,
|
|
273
296
|
kSandbox = 1 << 2,
|
|
297
|
+
kTargetOsIsAndroid = 1 << 3,
|
|
298
|
+
kEnableChecks = 1 << 4,
|
|
274
299
|
};
|
|
275
300
|
|
|
276
301
|
/**
|
|
@@ -139,6 +139,7 @@ struct V8_EXPORT V8StackFrame {
|
|
|
139
139
|
StringView functionName;
|
|
140
140
|
int lineNumber;
|
|
141
141
|
int columnNumber;
|
|
142
|
+
int scriptId;
|
|
142
143
|
};
|
|
143
144
|
|
|
144
145
|
class V8_EXPORT V8StackTrace {
|
|
@@ -172,10 +173,6 @@ class V8_EXPORT V8InspectorSession {
|
|
|
172
173
|
virtual v8::Local<v8::Value> get(v8::Local<v8::Context>) = 0;
|
|
173
174
|
virtual ~Inspectable() = default;
|
|
174
175
|
};
|
|
175
|
-
class V8_EXPORT CommandLineAPIScope {
|
|
176
|
-
public:
|
|
177
|
-
virtual ~CommandLineAPIScope() = default;
|
|
178
|
-
};
|
|
179
176
|
virtual void addInspectedObject(std::unique_ptr<Inspectable>) = 0;
|
|
180
177
|
|
|
181
178
|
// Dispatching protocol messages.
|
|
@@ -185,9 +182,6 @@ class V8_EXPORT V8InspectorSession {
|
|
|
185
182
|
virtual std::vector<std::unique_ptr<protocol::Schema::API::Domain>>
|
|
186
183
|
supportedDomains() = 0;
|
|
187
184
|
|
|
188
|
-
virtual std::unique_ptr<V8InspectorSession::CommandLineAPIScope>
|
|
189
|
-
initializeCommandLineAPIScope(int executionContextId) = 0;
|
|
190
|
-
|
|
191
185
|
// Debugger actions.
|
|
192
186
|
virtual void schedulePauseOnNextStatement(StringView breakReason,
|
|
193
187
|
StringView breakDetails) = 0;
|
|
@@ -213,21 +207,26 @@ class V8_EXPORT V8InspectorSession {
|
|
|
213
207
|
virtual void releaseObjectGroup(StringView) = 0;
|
|
214
208
|
virtual void triggerPreciseCoverageDeltaUpdate(StringView occasion) = 0;
|
|
215
209
|
|
|
210
|
+
struct V8_EXPORT EvaluateResult {
|
|
211
|
+
enum class ResultType {
|
|
212
|
+
kNotRun,
|
|
213
|
+
kSuccess,
|
|
214
|
+
kException,
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
ResultType type;
|
|
218
|
+
v8::Local<v8::Value> value;
|
|
219
|
+
};
|
|
220
|
+
// Evalaute 'expression' in the provided context. Does the same as
|
|
221
|
+
// Runtime#evaluate under-the-hood but exposed on the C++ side.
|
|
222
|
+
virtual EvaluateResult evaluate(v8::Local<v8::Context> context,
|
|
223
|
+
StringView expression,
|
|
224
|
+
bool includeCommandLineAPI = false) = 0;
|
|
225
|
+
|
|
216
226
|
// Prepare for shutdown (disables debugger pausing, etc.).
|
|
217
227
|
virtual void stop() = 0;
|
|
218
228
|
};
|
|
219
229
|
|
|
220
|
-
// Deprecated.
|
|
221
|
-
// TODO(crbug.com/1420968): remove.
|
|
222
|
-
class V8_EXPORT WebDriverValue {
|
|
223
|
-
public:
|
|
224
|
-
explicit WebDriverValue(std::unique_ptr<StringBuffer> type,
|
|
225
|
-
v8::MaybeLocal<v8::Value> value = {})
|
|
226
|
-
: type(std::move(type)), value(value) {}
|
|
227
|
-
std::unique_ptr<StringBuffer> type;
|
|
228
|
-
v8::MaybeLocal<v8::Value> value;
|
|
229
|
-
};
|
|
230
|
-
|
|
231
230
|
struct V8_EXPORT DeepSerializedValue {
|
|
232
231
|
explicit DeepSerializedValue(std::unique_ptr<StringBuffer> type,
|
|
233
232
|
v8::MaybeLocal<v8::Value> value = {})
|
|
@@ -266,12 +265,6 @@ class V8_EXPORT V8InspectorClient {
|
|
|
266
265
|
virtual void beginUserGesture() {}
|
|
267
266
|
virtual void endUserGesture() {}
|
|
268
267
|
|
|
269
|
-
// Deprecated. Use `deepSerialize` instead.
|
|
270
|
-
// TODO(crbug.com/1420968): remove.
|
|
271
|
-
virtual std::unique_ptr<WebDriverValue> serializeToWebDriverValue(
|
|
272
|
-
v8::Local<v8::Value> v8Value, int maxDepth) {
|
|
273
|
-
return nullptr;
|
|
274
|
-
}
|
|
275
268
|
virtual std::unique_ptr<DeepSerializationResult> deepSerialize(
|
|
276
269
|
v8::Local<v8::Value> v8Value, int maxDepth,
|
|
277
270
|
v8::Local<v8::Object> additionalParameters) {
|
|
@@ -305,9 +298,14 @@ class V8_EXPORT V8InspectorClient {
|
|
|
305
298
|
return v8::MaybeLocal<v8::Value>();
|
|
306
299
|
}
|
|
307
300
|
|
|
308
|
-
virtual void consoleTime(
|
|
309
|
-
virtual void consoleTimeEnd(
|
|
310
|
-
|
|
301
|
+
virtual void consoleTime(v8::Isolate* isolate, v8::Local<v8::String> label) {}
|
|
302
|
+
virtual void consoleTimeEnd(v8::Isolate* isolate,
|
|
303
|
+
v8::Local<v8::String> label) {}
|
|
304
|
+
virtual void consoleTimeStamp(v8::Isolate* isolate,
|
|
305
|
+
v8::Local<v8::String> label) {}
|
|
306
|
+
virtual void consoleTimeStampWithArgs(
|
|
307
|
+
v8::Isolate* isolate, v8::Local<v8::String> label,
|
|
308
|
+
const v8::LocalVector<v8::Value>& args) {}
|
|
311
309
|
virtual void consoleClear(int contextGroupId) {}
|
|
312
310
|
virtual double currentTimeMS() { return 0; }
|
|
313
311
|
typedef void (*TimerCallback)(void*);
|
|
@@ -366,6 +364,7 @@ class V8_EXPORT V8Inspector {
|
|
|
366
364
|
virtual void resetContextGroup(int contextGroupId) = 0;
|
|
367
365
|
virtual v8::MaybeLocal<v8::Context> contextById(int contextId) = 0;
|
|
368
366
|
virtual V8DebuggerId uniqueDebuggerId(int contextId) = 0;
|
|
367
|
+
virtual uint64_t isolateId() = 0;
|
|
369
368
|
|
|
370
369
|
// Various instrumentation.
|
|
371
370
|
virtual void idleStarted() = 0;
|