Line | Count | Source |
1 | /* | |
2 | * Copyright (c) 2020, Andreas Kling <kling@serenityos.org> | |
3 | * | |
4 | * SPDX-License-Identifier: BSD-2-Clause | |
5 | */ | |
6 | ||
7 | #pragma once | |
8 | ||
9 | #include <LibJS/Heap/Heap.h> | |
10 | ||
11 | namespace JS { | |
12 | ||
13 | class DeferGC { | |
14 | public: | |
15 | explicit DeferGC(Heap& heap) | |
16 | 0 | : m_heap(heap) |
17 | 0 | { |
18 | 0 | m_heap.defer_gc(); |
19 | 0 | } |
20 | ||
21 | ~DeferGC() | |
22 | 0 | { |
23 | 0 | m_heap.undefer_gc(); |
24 | 0 | } |
25 | ||
26 | private: | |
27 | Heap& m_heap; | |
28 | }; | |
29 | ||
30 | } |