5 #ifndef INCLUDE_V8_CONTEXT_H_
6 #define INCLUDE_V8_CONTEXT_H_
31 : name_count_(name_count), names_(names) {}
33 const char**
begin()
const {
return &names_[0]; }
34 const char**
end()
const {
return &names_[name_count_]; }
37 const int name_count_;
112 Isolate* isolate, size_t context_snapshot_index,
260 using AbortScriptExecutionCallback =
void (*)(
Isolate* isolate,
319 uintptr_t JSStackComparableAddressPrivate()
const {
320 return js_stack_comparable_address_;
324 uintptr_t js_stack_comparable_address_ = 0;
325 const BackupIncumbentScope* prev_ =
nullptr;
336 static void CheckCast(
Data* obj);
340 void* SlowGetAlignedPointerFromEmbedderData(
int index);
346 #ifndef V8_ENABLE_CHECKS
349 A ctx = *
reinterpret_cast<
const A*>(
this);
355 #ifdef V8_COMPRESS_POINTERS
359 I::DecompressTaggedAnyField(embedder_data,
static_cast<uint32_t>(value));
362 *
reinterpret_cast<A*>(
this)
);
366 return SlowGetEmbedderData(index);
371 #if !defined(V8_ENABLE_CHECKS)
374 A ctx = *
reinterpret_cast<
const A*>(
this);
379 #ifdef V8_SANDBOXED_EXTERNAL_POINTERS
380 value_offset += I::kEmbedderDataSlotRawPayloadOffset;
383 return reinterpret_cast<
void*>(
387 return SlowGetAlignedPointerFromEmbedderData(index);
393 T* data =
reinterpret_cast<T*>(GetDataFromSnapshotOnce(index));
394 if (data)
internal::PerformCastCheck(data);
395 return Local<T>(data);
399 #ifdef V8_ENABLE_CHECKS
402 return static_cast<
Context*>(data);