v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
symbolizer.h
Go to the documentation of this file.
1// Copyright 2020 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_PROFILER_SYMBOLIZER_H_
6#define V8_PROFILER_SYMBOLIZER_H_
7
8#include "src/base/macros.h"
10
11namespace v8 {
12namespace internal {
13
14class CodeEntry;
15class InstructionStreamMap;
16
18 public:
19 explicit Symbolizer(InstructionStreamMap* instruction_stream_map);
20 Symbolizer(const Symbolizer&) = delete;
21 Symbolizer& operator=(const Symbolizer&) = delete;
22
27
28 // Use the InstructionStreamMap to turn the raw addresses recorded in the
29 // sample into code/function names.
30 SymbolizedSample SymbolizeTickSample(const TickSample& sample);
31
33
34 private:
35 CodeEntry* FindEntry(Address address,
36 Address* out_instruction_start = nullptr);
37
39};
40
41} // namespace internal
42} // namespace v8
43
44#endif // V8_PROFILER_SYMBOLIZER_H_
InstructionStreamMap * instruction_stream_map()
Definition symbolizer.h:32
InstructionStreamMap *const code_map_
Definition symbolizer.h:38
Symbolizer & operator=(const Symbolizer &)=delete
Symbolizer(const Symbolizer &)=delete
std::vector< CodeEntryAndLineNumber > ProfileStackTrace
#define V8_EXPORT_PRIVATE
Definition macros.h:460