5#ifndef V8_EXECUTION_LOCAL_ISOLATE_H_
6#define V8_EXECUTION_LOCAL_ISOLATE_H_
30class RuntimeCallStats;
36 using LocalFactory::LocalFactory;
63 inline Address cage_base()
const;
64 inline Address code_cage_base()
const;
77 return isolate_->internalized_string_access();
80 return isolate_->shared_function_info_access();
83 return isolate_->ast_string_constants();
86 return isolate_->lazy_compile_dispatcher();
95 return isolate_->is_precise_binary_code_coverage();
111 void RegisterDeserializerStarted();
112 void RegisterDeserializerFinished();
113 bool has_active_deserializer()
const;
120 int GetNextScriptId();
122 return isolate_->GetAndIncNextUniqueSfiId();
130#ifdef V8_RUNTIME_CALL_STATS
131 RuntimeCallStats* runtime_call_stats()
const {
return runtime_call_stats_; }
136 if (!bigint_processor_) InitializeBigIntProcessor();
137 return bigint_processor_;
140#ifdef V8_ENABLE_LEAPTIERING
141 JSDispatchTable::Space* GetJSDispatchTableSpaceFor(Address owning_slot) {
142 return isolate_->GetJSDispatchTableSpaceFor(owning_slot);
166 return isolate_->pending_message_address();
171 template <
typename Callback>
174 template <
typename Callback>
177#ifdef V8_INTL_SUPPORT
179 const std::string& DefaultLocale();
184 friend class LocalIsolateFactory;
191 void InitializeBigIntProcessor();
205#ifdef V8_RUNTIME_CALL_STATS
206 std::optional<WorkerThreadRuntimeCallStatsScope> rcs_scope_;
209#ifdef V8_INTL_SUPPORT
210 std::string default_locale_;
220 if (!isolate->is_main_thread()) mutex_guard_.emplace(
mutex);
base::RandomNumberGenerator * fuzzer_rng() const
LazyCompileDispatcher * lazy_compile_dispatcher()
V8FileLogger * main_thread_logger()
v8::internal::LocalFactory * factory()
uint32_t GetAndIncNextUniqueSfiId()
std::unique_ptr< LocalLogger > logger_
bool has_exception() const
LocalIsolate * AsLocalIsolate()
Address stack_limit() const
Isolate * GetMainThreadIsolateUnsafe() const
Address const stack_limit_
static LocalIsolate * FromHeap(LocalHeap *heap)
Tagged< Object > * pending_message_address()
base::Mutex * internalized_string_access()
RuntimeCallStats * runtime_call_stats() const
IsolateGroup * isolate_group() const
StringTable * string_table() const
LocalLogger * v8_file_logger() const
LocalIsolate * shared_space_isolate() const
ThreadId thread_id() const
base::Mutex * shared_function_info_access()
const AstStringConstants * ast_string_constants()
bool is_precise_binary_code_coverage() const
void Throw(Tagged< Object > exception)
bool serializer_enabled() const
const LocalHeap * heap() const
bigint::Processor * bigint_processor()
AccountingAllocator * allocator()
const v8::StartupData * snapshot_blob() const
ThreadId const thread_id_
bool is_main_thread() const
void FatalProcessOutOfHeapMemory(const char *location)
std::optional< base::MutexGuard > mutex_guard_
MutexGuardIfOffThread(base::Mutex *mutex, LocalIsolate *isolate)
MutexGuardIfOffThread & operator=(const MutexGuardIfOffThread &)=delete
MutexGuardIfOffThread(const MutexGuardIfOffThread &)=delete
const uintptr_t stack_limit_
#define DCHECK_NOT_NULL(val)
#define DCHECK(condition)
#define DCHECK_EQ(v1, v2)
#define V8_EXPORT_PRIVATE
#define OFFSET_OF(type, field)