v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
materialized-object-store.h
Go to the documentation of this file.
1// Copyright 2021 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_DEOPTIMIZER_MATERIALIZED_OBJECT_STORE_H_
6#define V8_DEOPTIMIZER_MATERIALIZED_OBJECT_STORE_H_
7
8#include <vector>
9
10#include "src/handles/handles.h"
11
12namespace v8 {
13namespace internal {
14
15class FixedArray;
16class Isolate;
17
19 public:
20 explicit MaterializedObjectStore(Isolate* isolate) : isolate_(isolate) {}
21
23 void Set(Address fp, DirectHandle<FixedArray> materialized_objects);
24 bool Remove(Address fp);
25
26 private:
27 Isolate* isolate() const { return isolate_; }
30
31 int StackIdToIndex(Address fp);
32
34 std::vector<Address> frame_fps_;
35};
36
37} // namespace internal
38} // namespace v8
39
40#endif // V8_DEOPTIMIZER_MATERIALIZED_OBJECT_STORE_H_
DirectHandle< FixedArray > EnsureStackEntries(int size)
DirectHandle< FixedArray > Get(Address fp)
void Set(Address fp, DirectHandle< FixedArray > materialized_objects)