v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
interface-types.h
Go to the documentation of this file.
1// Copyright 2016 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#ifndef V8_DEBUG_INTERFACE_TYPES_H_
6#define V8_DEBUG_INTERFACE_TYPES_H_
7
8#include <cstdint>
9
12#include "src/base/logging.h"
13#include "src/base/macros.h"
14#include "v8-isolate.h"
15
16namespace v8 {
17
18class String;
19
20namespace internal {
21class BuiltinArguments;
22} // namespace internal
23
24namespace debug {
25
31 public:
32 Location(int line_number, int column_number);
36 Location();
37
38 int GetLineNumber() const;
39 int GetColumnNumber() const;
40 bool IsEmpty() const;
41
42 private:
46};
47
57
64
65enum class CoverageMode {
66 // Make use of existing information in feedback vectors on the heap.
67 // Only return a yes/no result. Optimization and GC are not affected.
68 // Collecting best effort coverage does not reset counters.
70 // Disable optimization and prevent feedback vectors from being garbage
71 // collected in order to preserve precise invocation counts. Collecting
72 // precise count coverage resets counters to get incremental updates.
74 // We are only interested in a yes/no result for the function. Optimization
75 // and GC can be allowed once a function has been invoked. Collecting
76 // precise binary coverage resets counters for incremental updates.
78 // Similar to the precise coverage modes but provides coverage at a
79 // lower granularity. Design doc: goo.gl/lA2swZ.
82};
83
85 public:
86 BreakLocation(int line_number, int column_number, BreakLocationType type)
87 : Location(line_number, column_number), type_(type) {}
88
89 BreakLocationType type() const { return type_; }
90
91 private:
93};
94
96 public:
97 int Length() const { return length_; }
103 // values_ points to the first argument.
104 if (i < 0 || length_ <= i) return Undefined(GetIsolate());
107 }
108
110
112 explicit ConsoleCallArguments(internal::Isolate* isolate,
114
115 private:
119};
120
122 public:
123 ConsoleContext(int id, v8::Local<v8::String> name) : id_(id), name_(name) {}
125
126 int id() const { return id_; }
127 v8::Local<v8::String> name() const { return name_; }
128
129 private:
130 int id_;
132};
133
135 public:
136 virtual void Debug(const ConsoleCallArguments& args,
137 const ConsoleContext& context) {}
138 virtual void Error(const ConsoleCallArguments& args,
139 const ConsoleContext& context) {}
140 virtual void Info(const ConsoleCallArguments& args,
141 const ConsoleContext& context) {}
142 virtual void Log(const ConsoleCallArguments& args,
143 const ConsoleContext& context) {}
144 virtual void Warn(const ConsoleCallArguments& args,
145 const ConsoleContext& context) {}
146 virtual void Dir(const ConsoleCallArguments& args,
147 const ConsoleContext& context) {}
148 virtual void DirXml(const ConsoleCallArguments& args,
149 const ConsoleContext& context) {}
150 virtual void Table(const ConsoleCallArguments& args,
151 const ConsoleContext& context) {}
152 virtual void Trace(const ConsoleCallArguments& args,
153 const ConsoleContext& context) {}
154 virtual void Group(const ConsoleCallArguments& args,
155 const ConsoleContext& context) {}
157 const ConsoleContext& context) {}
158 virtual void GroupEnd(const ConsoleCallArguments& args,
159 const ConsoleContext& context) {}
160 virtual void Clear(const ConsoleCallArguments& args,
161 const ConsoleContext& context) {}
162 virtual void Count(const ConsoleCallArguments& args,
163 const ConsoleContext& context) {}
165 const ConsoleContext& context) {}
166 virtual void Assert(const ConsoleCallArguments& args,
167 const ConsoleContext& context) {}
168 virtual void Profile(const ConsoleCallArguments& args,
169 const ConsoleContext& context) {}
171 const ConsoleContext& context) {}
172 virtual void Time(const ConsoleCallArguments& args,
173 const ConsoleContext& context) {}
174 virtual void TimeLog(const ConsoleCallArguments& args,
175 const ConsoleContext& context) {}
176 virtual void TimeEnd(const ConsoleCallArguments& args,
177 const ConsoleContext& context) {}
179 const ConsoleContext& context) {}
180 virtual ~ConsoleDelegate() = default;
181};
182
183using BreakpointId = int;
184
185} // namespace debug
186} // namespace v8
187
188#endif // V8_DEBUG_INTERFACE_TYPES_H_
static V8_INLINE Local< T > FromSlot(internal::Address *slot)
BreakLocation(int line_number, int column_number, BreakLocationType type)
BreakLocationType type() const
BreakLocationType type_
V8_INLINE v8::Local< v8::Value > operator[](int i) const
V8_INLINE v8::Isolate * GetIsolate() const
ConsoleCallArguments(const v8::FunctionCallbackInfo< v8::Value > &)
ConsoleContext(int id, v8::Local< v8::String > name)
v8::Local< v8::String > name_
v8::Local< v8::String > name() const
virtual void Debug(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void TimeLog(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void CountReset(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Log(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Dir(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void GroupCollapsed(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void ProfileEnd(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void TimeEnd(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Warn(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void TimeStamp(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Profile(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Group(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Assert(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual ~ConsoleDelegate()=default
virtual void DirXml(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Info(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Clear(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Table(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Time(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Trace(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void GroupEnd(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Error(const ConsoleCallArguments &args, const ConsoleContext &context)
virtual void Count(const ConsoleCallArguments &args, const ConsoleContext &context)
const ObjectRef type_
base::Vector< const DirectHandle< Object > > args
Definition execution.cc:74
@ kDebugStackTraceCaptured
@ kDebuggerStatementBreakLocation
v8_inspector::String16 String
Definition string-util.h:26
V8_INLINE Local< Primitive > Undefined(Isolate *isolate)
#define DCHECK_NOT_NULL(val)
Definition logging.h:492
#define V8_EXPORT_PRIVATE
Definition macros.h:460
#define V8_INLINE
Definition v8config.h:500