Coverage Report

Created: 2026-06-07 06:27

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/perfetto/buildtools/android-unwinding/libunwindstack/MemoryRemote.h
Line
Count
Source
1
/*
2
 * Copyright (C) 2019 The Android Open Source Project
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 *      http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16
17
#pragma once
18
19
#include <stdint.h>
20
#include <sys/types.h>
21
22
#include <atomic>
23
24
#include <unwindstack/Memory.h>
25
26
namespace unwindstack {
27
28
class MemoryRemote : public Memory {
29
 public:
30
0
  MemoryRemote(pid_t pid) : pid_(pid), read_redirect_func_(0) {}
31
  virtual ~MemoryRemote() = default;
32
33
  size_t Read(uint64_t addr, void* dst, size_t size) override;
34
  long ReadTag(uint64_t addr) override;
35
36
0
  pid_t pid() { return pid_; }
37
38
 private:
39
  pid_t pid_;
40
  std::atomic_uintptr_t read_redirect_func_;
41
};
42
43
}  // namespace unwindstack