v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
js-heap-broker-inl.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_COMPILER_JS_HEAP_BROKER_INL_H_
6
#define V8_COMPILER_JS_HEAP_BROKER_INL_H_
7
8
#include "
src/compiler/js-heap-broker.h
"
9
// Include the non-inl header before the rest of the headers.
10
11
#include "
src/heap/parked-scope-inl.h
"
12
13
namespace
v8::internal::compiler
{
14
15
V8_INLINE
16
JSHeapBroker::RecursiveMutexGuardIfNeeded::RecursiveMutexGuardIfNeeded
(
17
LocalIsolate
* local_isolate,
base::Mutex
*
mutex
,
int
* mutex_depth_address)
18
: mutex_depth_address_(mutex_depth_address),
19
initial_mutex_depth_(*mutex_depth_address_),
20
mutex_guard_(local_isolate,
mutex
, initial_mutex_depth_ == 0) {
21
(*mutex_depth_address_)++;
22
}
23
24
V8_INLINE
JSHeapBroker::MapUpdaterGuardIfNeeded::MapUpdaterGuardIfNeeded
(
25
JSHeapBroker
*
broker
)
26
:
RecursiveMutexGuardIfNeeded
(
broker
->
local_isolate_or_isolate
(),
27
broker
->isolate()->map_updater_access(),
28
&
broker
->
map_updater_mutex_depth_
) {}
29
30
V8_INLINE
JSHeapBroker::BoilerplateMigrationGuardIfNeeded::
31
BoilerplateMigrationGuardIfNeeded
(
JSHeapBroker
*
broker
)
32
:
RecursiveMutexGuardIfNeeded
(
33
broker
->
local_isolate_or_isolate
(),
34
broker
->isolate()->boilerplate_migration_access(),
35
&
broker
->
boilerplate_migration_mutex_depth_
) {}
36
37
}
// namespace v8::internal::compiler
38
39
#endif
// V8_COMPILER_JS_HEAP_BROKER_INL_H_
v8::base::Mutex
Definition
mutex.h:36
v8::internal::LocalIsolate
Definition
local-isolate.h:45
v8::internal::compiler::JSHeapBroker::BoilerplateMigrationGuardIfNeeded::BoilerplateMigrationGuardIfNeeded
V8_INLINE BoilerplateMigrationGuardIfNeeded(JSHeapBroker *broker)
Definition
js-heap-broker-inl.h:31
v8::internal::compiler::JSHeapBroker::MapUpdaterGuardIfNeeded::MapUpdaterGuardIfNeeded
V8_INLINE MapUpdaterGuardIfNeeded(JSHeapBroker *broker)
Definition
js-heap-broker-inl.h:24
v8::internal::compiler::JSHeapBroker::RecursiveMutexGuardIfNeeded
Definition
js-heap-broker.h:346
v8::internal::compiler::JSHeapBroker::RecursiveMutexGuardIfNeeded::RecursiveMutexGuardIfNeeded
V8_INLINE RecursiveMutexGuardIfNeeded(LocalIsolate *local_isolate, base::Mutex *mutex, int *mutex_depth_address)
Definition
js-heap-broker-inl.h:16
v8::internal::compiler::JSHeapBroker
Definition
js-heap-broker.h:95
v8::internal::compiler::JSHeapBroker::boilerplate_migration_mutex_depth_
int boilerplate_migration_mutex_depth_
Definition
js-heap-broker.h:494
v8::internal::compiler::JSHeapBroker::local_isolate_or_isolate
LocalIsolate * local_isolate_or_isolate() const
Definition
js-heap-broker.h:260
v8::internal::compiler::JSHeapBroker::map_updater_mutex_depth_
int map_updater_mutex_depth_
Definition
js-heap-broker.h:492
broker
JSHeapBroker * broker
Definition
graph-builder.cc:68
js-heap-broker.h
mutex
base::Mutex mutex
Definition
module-compiler.cc:314
v8::internal::compiler
Definition
builtins-utils-gen.h:14
parked-scope-inl.h
V8_INLINE
#define V8_INLINE
Definition
v8config.h:500
src
compiler
js-heap-broker-inl.h
Generated on Sun Apr 6 2025 21:08:52 for v8 by
1.12.0