v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
object-lock.h
Go to the documentation of this file.
1
// Copyright 2023 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_HEAP_OBJECT_LOCK_H_
6
#define V8_HEAP_OBJECT_LOCK_H_
7
8
#include "
src/heap/mutable-page-metadata.h
"
9
#include "
src/objects/heap-object.h
"
10
11
namespace
v8::internal
{
12
13
class
ObjectLock
final {
14
public
:
15
V8_INLINE
static
void
Lock
(
Tagged<HeapObject>
heap_object);
16
V8_INLINE
static
void
Unlock
(
Tagged<HeapObject>
heap_object);
17
};
18
19
class
ObjectLockGuard
final {
20
public
:
21
V8_INLINE
explicit
ObjectLockGuard
(
Tagged<HeapObject>
object
);
22
V8_INLINE
~ObjectLockGuard
();
23
24
private
:
25
Tagged<HeapObject>
raw_object_
;
26
};
27
28
}
// namespace v8::internal
29
30
#endif
// V8_HEAP_OBJECT_LOCK_H_
v8::internal::ObjectLockGuard
Definition
object-lock.h:19
v8::internal::ObjectLockGuard::~ObjectLockGuard
V8_INLINE ~ObjectLockGuard()
Definition
object-lock-inl.h:31
v8::internal::ObjectLockGuard::ObjectLockGuard
V8_INLINE ObjectLockGuard(Tagged< HeapObject > object)
Definition
object-lock-inl.h:26
v8::internal::ObjectLockGuard::raw_object_
Tagged< HeapObject > raw_object_
Definition
object-lock.h:25
v8::internal::ObjectLock
Definition
object-lock.h:13
v8::internal::ObjectLock::Lock
static V8_INLINE void Lock(Tagged< HeapObject > heap_object)
Definition
object-lock-inl.h:17
v8::internal::ObjectLock::Unlock
static V8_INLINE void Unlock(Tagged< HeapObject > heap_object)
Definition
object-lock-inl.h:22
v8::internal::Tagged
Definition
waiter-queue-node.h:21
heap-object.h
mutable-page-metadata.h
v8::internal
Definition
api-arguments-inl.h:20
V8_INLINE
#define V8_INLINE
Definition
v8config.h:500
src
heap
object-lock.h
Generated on Sun Apr 6 2025 21:08:54 for v8 by
1.12.0