Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
dart-lang
sdk
runtime
vm
reverse_pc_lookup_cache.h
Go to the documentation of this file.
1
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
2
// for details. All rights reserved. Use of this source code is governed by a
3
// BSD-style license that can be found in the LICENSE file.
4
5
#ifndef RUNTIME_VM_REVERSE_PC_LOOKUP_CACHE_H_
6
#define RUNTIME_VM_REVERSE_PC_LOOKUP_CACHE_H_
7
8
#include "
vm/allocation.h
"
9
#include "
vm/globals.h
"
10
#include "
vm/raw_object.h
"
11
#include "
vm/tagged_pointer.h
"
12
13
namespace
dart
{
14
15
class
IsolateGroup;
16
17
// This class provides mechanism to find Code and CompressedStackMaps
18
// objects corresponding to the given PC.
19
// Can only be used in AOT runtime with bare instructions.
20
class
ReversePc
:
public
AllStatic
{
21
public
:
22
// Looks for Code object corresponding to |pc| in the
23
// given isolate |group| and vm isolate group.
24
static
CodePtr
Lookup
(
IsolateGroup
* group,
uword
pc,
bool
is_return_address);
25
26
static
const
UntaggedCompressedStackMaps::Payload
*
FindStackMap
(
27
IsolateGroup
* group,
28
uword
pc,
29
bool
is_return_address,
30
uword
* code_start,
31
const
UntaggedCompressedStackMaps::Payload
** global_table);
32
33
private
:
34
static
const
UntaggedCompressedStackMaps::Payload
* FindStackMapInGroup(
35
IsolateGroup
* group,
36
uword
pc,
37
bool
is_return_address,
38
uword
* code_start,
39
const
UntaggedCompressedStackMaps::Payload
** global_table);
40
41
static
CodePtr FindCodeInGroup(
IsolateGroup
* group,
42
uword
pc,
43
bool
is_return_address);
44
static
CodePtr FindCode(
IsolateGroup
* group,
45
uword
pc,
46
bool
is_return_address);
47
};
48
49
}
// namespace dart
50
51
#endif
// RUNTIME_VM_REVERSE_PC_LOOKUP_CACHE_H_
dart::AllStatic
Definition
allocation.h:33
dart::IsolateGroup
Definition
isolate.h:267
dart::ReversePc
Definition
reverse_pc_lookup_cache.h:20
dart::ReversePc::Lookup
static CodePtr Lookup(IsolateGroup *group, uword pc, bool is_return_address)
Definition
reverse_pc_lookup_cache.cc:111
dart::ReversePc::FindStackMap
static const UntaggedCompressedStackMaps::Payload * FindStackMap(IsolateGroup *group, uword pc, bool is_return_address, uword *code_start, const UntaggedCompressedStackMaps::Payload **global_table)
Definition
reverse_pc_lookup_cache.cc:79
dart
Definition
dart_vm.cc:33
dart::uword
uintptr_t uword
Definition
globals.h:501
raw_object.h
dart::UntaggedCompressedStackMaps::Payload
Definition
raw_object.h:2151
tagged_pointer.h
allocation.h
globals.h
Generated on Fri Apr 26 2024 06:15:18 for Flutter Engine by
1.9.8