V8 Project
v8::internal::Builtins Class Reference

#include <builtins.h>

+ Collaboration diagram for v8::internal::Builtins:

Public Types

enum  Name { builtin_count }
 
enum  CFunctionId { cfunction_count }
 
enum  JavaScript { id_count }
 

Public Member Functions

 ~Builtins ()
 
void SetUp (Isolate *isolate, bool create_heap_objects)
 
void TearDown ()
 
void IterateBuiltins (ObjectVisitor *v)
 
const char * Lookup (byte *pc)
 
Codebuiltin (Name name)
 
Address builtin_address (Name name)
 
const char * name (int index)
 
Handle< CodeGetCode (JavaScript id, bool *resolved)
 
bool is_initialized () const
 

Static Public Member Functions

static Address c_function_address (CFunctionId id)
 
static const char * GetName (JavaScript id)
 
static int GetArgumentsCount (JavaScript id)
 
static int NumberOfJavaScriptBuiltins ()
 

Private Member Functions

 Builtins ()
 
 DISALLOW_COPY_AND_ASSIGN (Builtins)
 

Static Private Member Functions

static void Generate_Adaptor (MacroAssembler *masm, CFunctionId id, BuiltinExtraArguments extra_args)
 
static void Generate_CompileLazy (MacroAssembler *masm)
 
static void Generate_InOptimizationQueue (MacroAssembler *masm)
 
static void Generate_CompileOptimized (MacroAssembler *masm)
 
static void Generate_CompileOptimizedConcurrent (MacroAssembler *masm)
 
static void Generate_JSConstructStubGeneric (MacroAssembler *masm)
 
static void Generate_JSConstructStubApi (MacroAssembler *masm)
 
static void Generate_JSEntryTrampoline (MacroAssembler *masm)
 
static void Generate_JSConstructEntryTrampoline (MacroAssembler *masm)
 
static void Generate_NotifyDeoptimized (MacroAssembler *masm)
 
static void Generate_NotifySoftDeoptimized (MacroAssembler *masm)
 
static void Generate_NotifyLazyDeoptimized (MacroAssembler *masm)
 
static void Generate_NotifyStubFailure (MacroAssembler *masm)
 
static void Generate_NotifyStubFailureSaveDoubles (MacroAssembler *masm)
 
static void Generate_ArgumentsAdaptorTrampoline (MacroAssembler *masm)
 
static void Generate_FunctionCall (MacroAssembler *masm)
 
static void Generate_FunctionApply (MacroAssembler *masm)
 
static void Generate_InternalArrayCode (MacroAssembler *masm)
 
static void Generate_ArrayCode (MacroAssembler *masm)
 
static void Generate_StringConstructCode (MacroAssembler *masm)
 
static void Generate_OnStackReplacement (MacroAssembler *masm)
 
static void Generate_OsrAfterStackCheck (MacroAssembler *masm)
 
static void Generate_InterruptCheck (MacroAssembler *masm)
 
static void Generate_StackCheck (MacroAssembler *masm)
 
static void Generate_MarkCodeAsExecutedOnce (MacroAssembler *masm)
 
static void Generate_MarkCodeAsExecutedTwice (MacroAssembler *masm)
 
static void InitBuiltinFunctionTable ()
 

Private Attributes

Objectbuiltins_ [builtin_count]
 
const char * names_ [builtin_count]
 
bool initialized_
 

Static Private Attributes

static Address const c_functions_ [cfunction_count]
 
static const char *const javascript_names_ [id_count]
 
static int const javascript_argc_ [id_count]
 

Friends

class BuiltinFunctionTable
 
class Isolate
 

Detailed Description

Definition at line 201 of file builtins.h.

Member Enumeration Documentation

◆ CFunctionId

Enumerator
cfunction_count 

Definition at line 229 of file builtins.h.

229  {
230 #define DEF_ENUM_C(name, ignore) c_##name,
232 #undef DEF_ENUM_C
234  };
#define BUILTIN_LIST_C(V)
Definition: builtins.h:44
#define DEF_ENUM_C(name, ignore)
Definition: builtins.h:230

◆ JavaScript

Enumerator
id_count 

Definition at line 236 of file builtins.h.

236  {
237 #define DEF_ENUM(name, ignore) name,
239 #undef DEF_ENUM
240  id_count
241  };
#define BUILTINS_LIST_JS(V)
Definition: builtins.h:166
#define DEF_ENUM(name, ignore)
Definition: builtins.h:237

◆ Name

Enumerator
builtin_count 

Definition at line 216 of file builtins.h.

216  {
217 #define DEF_ENUM_C(name, ignore) k##name,
218 #define DEF_ENUM_A(name, kind, state, extra) k##name,
219 #define DEF_ENUM_H(name, kind) k##name,
224 #undef DEF_ENUM_C
225 #undef DEF_ENUM_A
227  };
#define BUILTIN_LIST_DEBUG_A(V)
Definition: builtins.h:137
#define BUILTIN_LIST_H(V)
Definition: builtins.h:128
#define DEF_ENUM_H(name, kind)
Definition: builtins.h:219
#define BUILTIN_LIST_A(V)
Definition: builtins.h:66
#define DEF_ENUM_A(name, kind, state, extra)
Definition: builtins.h:218

Constructor & Destructor Documentation

◆ ~Builtins()

v8::internal::Builtins::~Builtins ( )

Definition at line 1429 of file builtins.cc.

1429  {
1430 }

◆ Builtins()

v8::internal::Builtins::Builtins ( )
private

Definition at line 1423 of file builtins.cc.

1423  : initialized_(false) {
1424  memset(builtins_, 0, sizeof(builtins_[0]) * builtin_count);
1425  memset(names_, 0, sizeof(names_[0]) * builtin_count);
1426 }
Object * builtins_[builtin_count]
Definition: builtins.h:289
const char * names_[builtin_count]
Definition: builtins.h:290

References builtin_count, builtins_, and names_.

Member Function Documentation

◆ builtin()

Code* v8::internal::Builtins::builtin ( Name  name)
inline

Definition at line 254 of file builtins.h.

254  {
255  // Code::cast cannot be used here since we access builtins
256  // during the marking phase of mark sweep. See IC::Clear.
257  return reinterpret_cast<Code*>(builtins_[name]);
258  }
const char * name(int index)
Definition: builtins.h:269

References builtins_, and name().

Referenced by v8::internal::BackEdgeTable::AddStackCheck(), v8::internal::StubCache::Clear(), v8::internal::ConstantPoolArray::ClearPtrEntries(), v8::internal::Logger::CodeCreateEvent(), v8::internal::Deoptimizer::DoComputeAccessorStubFrame(), v8::internal::Deoptimizer::DoComputeArgumentsAdaptorFrame(), v8::internal::Deoptimizer::DoComputeCompiledStubFrame(), v8::internal::Deoptimizer::DoComputeConstructStubFrame(), v8::internal::Deoptimizer::DoComputeJSFrame(), v8::internal::DropFrames(), v8::internal::Debug::HandleStepIn(), v8::internal::InstallBuiltin(), v8::internal::InstallFunction(), v8::internal::SharedFunctionInfo::is_compiled(), v8::internal::JSFunction::is_compiled(), v8::internal::JSFunction::IsInOptimizationQueue(), v8::internal::JSFunction::IsMarkedForConcurrentOptimization(), v8::internal::JSFunction::IsMarkedForOptimization(), v8::internal::TypeFeedbackOracle::LoadIsBuiltin(), v8::internal::CpuProfiler::LogBuiltins(), v8::internal::BackEdgeTable::Patch(), v8::internal::Debug::PrepareStep(), v8::internal::CodeFlusher::ProcessJSFunctionCandidates(), v8::internal::CodeFlusher::ProcessSharedFunctionInfoCandidates(), v8::internal::BackEdgeTable::RemoveStackCheck(), v8::internal::LiveEdit::ReplaceFunctionCode(), v8::internal::BackEdgeTable::Revert(), v8::internal::StubCache::Set(), v8::internal::LiveEdit::SetAfterBreakTarget(), v8::internal::TraceTopFrame(), and v8::internal::ArgumentsAdaptorFrame::unchecked_code().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ builtin_address()

Address v8::internal::Builtins::builtin_address ( Name  name)
inline

Definition at line 260 of file builtins.h.

260  {
261  return reinterpret_cast<Address>(&builtins_[name]);
262  }
byte * Address
Definition: globals.h:101

References builtins_, and name().

+ Here is the call graph for this function:

◆ c_function_address()

static Address v8::internal::Builtins::c_function_address ( CFunctionId  id)
inlinestatic

Definition at line 264 of file builtins.h.

264  {
265  return c_functions_[id];
266  }
static Address const c_functions_[cfunction_count]
Definition: builtins.h:284

References c_functions_.

◆ DISALLOW_COPY_AND_ASSIGN()

v8::internal::Builtins::DISALLOW_COPY_AND_ASSIGN ( Builtins  )
private

◆ Generate_Adaptor()

static void v8::internal::Builtins::Generate_Adaptor ( MacroAssembler masm,
CFunctionId  id,
BuiltinExtraArguments  extra_args 
)
staticprivate

◆ Generate_ArgumentsAdaptorTrampoline()

static void v8::internal::Builtins::Generate_ArgumentsAdaptorTrampoline ( MacroAssembler masm)
staticprivate

◆ Generate_ArrayCode()

static void v8::internal::Builtins::Generate_ArrayCode ( MacroAssembler masm)
staticprivate

◆ Generate_CompileLazy()

static void v8::internal::Builtins::Generate_CompileLazy ( MacroAssembler masm)
staticprivate

◆ Generate_CompileOptimized()

static void v8::internal::Builtins::Generate_CompileOptimized ( MacroAssembler masm)
staticprivate

◆ Generate_CompileOptimizedConcurrent()

static void v8::internal::Builtins::Generate_CompileOptimizedConcurrent ( MacroAssembler masm)
staticprivate

◆ Generate_FunctionApply()

static void v8::internal::Builtins::Generate_FunctionApply ( MacroAssembler masm)
staticprivate

◆ Generate_FunctionCall()

static void v8::internal::Builtins::Generate_FunctionCall ( MacroAssembler masm)
staticprivate

◆ Generate_InOptimizationQueue()

static void v8::internal::Builtins::Generate_InOptimizationQueue ( MacroAssembler masm)
staticprivate

◆ Generate_InternalArrayCode()

static void v8::internal::Builtins::Generate_InternalArrayCode ( MacroAssembler masm)
staticprivate

◆ Generate_InterruptCheck()

void v8::internal::Builtins::Generate_InterruptCheck ( MacroAssembler masm)
staticprivate

Definition at line 1618 of file builtins.cc.

1618  {
1619  masm->TailCallRuntime(Runtime::kInterrupt, 0, 1);
1620 }

References v8::internal::MacroAssembler::TailCallRuntime().

+ Here is the call graph for this function:

◆ Generate_JSConstructEntryTrampoline()

static void v8::internal::Builtins::Generate_JSConstructEntryTrampoline ( MacroAssembler masm)
staticprivate

◆ Generate_JSConstructStubApi()

static void v8::internal::Builtins::Generate_JSConstructStubApi ( MacroAssembler masm)
staticprivate

◆ Generate_JSConstructStubGeneric()

static void v8::internal::Builtins::Generate_JSConstructStubGeneric ( MacroAssembler masm)
staticprivate

◆ Generate_JSEntryTrampoline()

static void v8::internal::Builtins::Generate_JSEntryTrampoline ( MacroAssembler masm)
staticprivate

◆ Generate_MarkCodeAsExecutedOnce()

static void v8::internal::Builtins::Generate_MarkCodeAsExecutedOnce ( MacroAssembler masm)
staticprivate

◆ Generate_MarkCodeAsExecutedTwice()

static void v8::internal::Builtins::Generate_MarkCodeAsExecutedTwice ( MacroAssembler masm)
staticprivate

◆ Generate_NotifyDeoptimized()

static void v8::internal::Builtins::Generate_NotifyDeoptimized ( MacroAssembler masm)
staticprivate

◆ Generate_NotifyLazyDeoptimized()

static void v8::internal::Builtins::Generate_NotifyLazyDeoptimized ( MacroAssembler masm)
staticprivate

◆ Generate_NotifySoftDeoptimized()

static void v8::internal::Builtins::Generate_NotifySoftDeoptimized ( MacroAssembler masm)
staticprivate

◆ Generate_NotifyStubFailure()

static void v8::internal::Builtins::Generate_NotifyStubFailure ( MacroAssembler masm)
staticprivate

◆ Generate_NotifyStubFailureSaveDoubles()

static void v8::internal::Builtins::Generate_NotifyStubFailureSaveDoubles ( MacroAssembler masm)
staticprivate

◆ Generate_OnStackReplacement()

static void v8::internal::Builtins::Generate_OnStackReplacement ( MacroAssembler masm)
staticprivate

◆ Generate_OsrAfterStackCheck()

static void v8::internal::Builtins::Generate_OsrAfterStackCheck ( MacroAssembler masm)
staticprivate

◆ Generate_StackCheck()

void v8::internal::Builtins::Generate_StackCheck ( MacroAssembler masm)
staticprivate

Definition at line 1623 of file builtins.cc.

1623  {
1624  masm->TailCallRuntime(Runtime::kStackGuard, 0, 1);
1625 }

References v8::internal::MacroAssembler::TailCallRuntime().

+ Here is the call graph for this function:

◆ Generate_StringConstructCode()

static void v8::internal::Builtins::Generate_StringConstructCode ( MacroAssembler masm)
staticprivate

◆ GetArgumentsCount()

static int v8::internal::Builtins::GetArgumentsCount ( JavaScript  id)
inlinestatic

Definition at line 274 of file builtins.h.

274 { return javascript_argc_[id]; }
static int const javascript_argc_[id_count]
Definition: builtins.h:292

References javascript_argc_.

◆ GetCode()

Handle<Code> v8::internal::Builtins::GetCode ( JavaScript  id,
bool resolved 
)

◆ GetName()

static const char* v8::internal::Builtins::GetName ( JavaScript  id)
inlinestatic

Definition at line 268 of file builtins.h.

268 { return javascript_names_[id]; }
static const char *const javascript_names_[id_count]
Definition: builtins.h:291

References javascript_names_.

◆ InitBuiltinFunctionTable()

void v8::internal::Builtins::InitBuiltinFunctionTable ( )
staticprivate

Definition at line 1482 of file builtins.cc.

1482  {
1483  BuiltinDesc* functions = builtin_function_table.functions_;
1484  functions[builtin_count].generator = NULL;
1485  functions[builtin_count].c_code = NULL;
1486  functions[builtin_count].s_name = NULL;
1487  functions[builtin_count].name = builtin_count;
1488  functions[builtin_count].flags = static_cast<Code::Flags>(0);
1489  functions[builtin_count].extra_args = NO_EXTRA_ARGUMENTS;
1490 
1491 #define DEF_FUNCTION_PTR_C(aname, aextra_args) \
1492  functions->generator = FUNCTION_ADDR(Generate_Adaptor); \
1493  functions->c_code = FUNCTION_ADDR(Builtin_##aname); \
1494  functions->s_name = #aname; \
1495  functions->name = c_##aname; \
1496  functions->flags = Code::ComputeFlags(Code::BUILTIN); \
1497  functions->extra_args = aextra_args; \
1498  ++functions;
1499 
1500 #define DEF_FUNCTION_PTR_A(aname, kind, state, extra) \
1501  functions->generator = FUNCTION_ADDR(Generate_##aname); \
1502  functions->c_code = NULL; \
1503  functions->s_name = #aname; \
1504  functions->name = k##aname; \
1505  functions->flags = Code::ComputeFlags(Code::kind, \
1506  state, \
1507  extra); \
1508  functions->extra_args = NO_EXTRA_ARGUMENTS; \
1509  ++functions;
1510 
1511 #define DEF_FUNCTION_PTR_H(aname, kind) \
1512  functions->generator = FUNCTION_ADDR(Generate_##aname); \
1513  functions->c_code = NULL; \
1514  functions->s_name = #aname; \
1515  functions->name = k##aname; \
1516  functions->flags = Code::ComputeHandlerFlags(Code::kind); \
1517  functions->extra_args = NO_EXTRA_ARGUMENTS; \
1518  ++functions;
1519 
1524 
1525 #undef DEF_FUNCTION_PTR_C
1526 #undef DEF_FUNCTION_PTR_A
1527 }
#define DEF_FUNCTION_PTR_A(aname, kind, state, extra)
#define DEF_FUNCTION_PTR_C(aname, aextra_args)
#define DEF_FUNCTION_PTR_H(aname, kind)
BuiltinDesc functions_[Builtins::builtin_count+1]
Definition: builtins.cc:1470
uint32_t Flags
Definition: objects.h:4929
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be NULL
@ NO_EXTRA_ARGUMENTS
Definition: builtins.h:13
static BuiltinFunctionTable builtin_function_table
Definition: builtins.cc:1475

References builtin_count, v8::internal::builtin_function_table, BUILTIN_LIST_A, BUILTIN_LIST_C, BUILTIN_LIST_DEBUG_A, BUILTIN_LIST_H, v8::internal::BuiltinDesc::c_code, DEF_FUNCTION_PTR_A, DEF_FUNCTION_PTR_C, DEF_FUNCTION_PTR_H, v8::internal::BuiltinDesc::extra_args, v8::internal::BuiltinDesc::flags, v8::internal::BuiltinFunctionTable::functions_, v8::internal::BuiltinDesc::generator, v8::internal::BuiltinDesc::name, v8::internal::NO_EXTRA_ARGUMENTS, NULL, and v8::internal::BuiltinDesc::s_name.

Referenced by v8::internal::BuiltinFunctionTable::functions().

+ Here is the caller graph for this function:

◆ is_initialized()

bool v8::internal::Builtins::is_initialized ( ) const
inline

Definition at line 278 of file builtins.h.

278 { return initialized_; }

References initialized_.

Referenced by v8::internal::CpuProfiler::LogBuiltins().

+ Here is the caller graph for this function:

◆ IterateBuiltins()

void v8::internal::Builtins::IterateBuiltins ( ObjectVisitor v)

Definition at line 1599 of file builtins.cc.

1599  {
1600  v->VisitPointers(&builtins_[0], &builtins_[0] + builtin_count);
1601 }

References builtin_count, and builtins_.

Referenced by v8::internal::Heap::IterateStrongRoots().

+ Here is the caller graph for this function:

◆ Lookup()

const char * v8::internal::Builtins::Lookup ( byte pc)

Definition at line 1604 of file builtins.cc.

1604  {
1605  // may be called during initialization (disassembler!)
1606  if (initialized_) {
1607  for (int i = 0; i < builtin_count; i++) {
1608  Code* entry = Code::cast(builtins_[i]);
1609  if (entry->contains(pc)) {
1610  return names_[i];
1611  }
1612  }
1613  }
1614  return NULL;
1615 }
const Register pc

References builtin_count, builtins_, v8::internal::Code::contains(), initialized_, names_, NULL, and v8::internal::pc.

+ Here is the call graph for this function:

◆ name()

const char* v8::internal::Builtins::name ( int  index)
inline

Definition at line 269 of file builtins.h.

269  {
270  DCHECK(index >= 0);
271  DCHECK(index < builtin_count);
272  return names_[index];
273  }
#define DCHECK(condition)
Definition: logging.h:205

References builtin_count, DCHECK, and names_.

Referenced by builtin(), builtin_address(), v8::internal::RootsReferencesExtractor::FillReferences(), and SetUp().

+ Here is the caller graph for this function:

◆ NumberOfJavaScriptBuiltins()

static int v8::internal::Builtins::NumberOfJavaScriptBuiltins ( )
inlinestatic

Definition at line 276 of file builtins.h.

276 { return id_count; }

References id_count.

◆ SetUp()

void v8::internal::Builtins::SetUp ( Isolate isolate,
bool  create_heap_objects 
)

Definition at line 1530 of file builtins.cc.

1530  {
1531  DCHECK(!initialized_);
1532 
1533  // Create a scope for the handles in the builtins.
1534  HandleScope scope(isolate);
1535 
1536  const BuiltinDesc* functions = builtin_function_table.functions();
1537 
1538  // For now we generate builtin adaptor code into a stack-allocated
1539  // buffer, before copying it into individual code objects. Be careful
1540  // with alignment, some platforms don't like unaligned code.
1541 #ifdef DEBUG
1542  // We can generate a lot of debug code on Arm64.
1543  const size_t buffer_size = 32*KB;
1544 #else
1545  const size_t buffer_size = 8*KB;
1546 #endif
1547  union { int force_alignment; byte buffer[buffer_size]; } u;
1548 
1549  // Traverse the list of builtins and generate an adaptor in a
1550  // separate code object for each one.
1551  for (int i = 0; i < builtin_count; i++) {
1552  if (create_heap_objects) {
1553  MacroAssembler masm(isolate, u.buffer, sizeof u.buffer);
1554  // Generate the code/adaptor.
1555  typedef void (*Generator)(MacroAssembler*, int, BuiltinExtraArguments);
1556  Generator g = FUNCTION_CAST<Generator>(functions[i].generator);
1557  // We pass all arguments to the generator, but it may not use all of
1558  // them. This works because the first arguments are on top of the
1559  // stack.
1560  DCHECK(!masm.has_frame());
1561  g(&masm, functions[i].name, functions[i].extra_args);
1562  // Move the code into the object heap.
1563  CodeDesc desc;
1564  masm.GetCode(&desc);
1565  Code::Flags flags = functions[i].flags;
1566  Handle<Code> code =
1567  isolate->factory()->NewCode(desc, flags, masm.CodeObject());
1568  // Log the event and add the code to the builtins array.
1569  PROFILE(isolate,
1570  CodeCreateEvent(Logger::BUILTIN_TAG, *code, functions[i].s_name));
1571  builtins_[i] = *code;
1572  if (code->kind() == Code::BUILTIN) code->set_builtin_index(i);
1573 #ifdef ENABLE_DISASSEMBLER
1574  if (FLAG_print_builtin_code) {
1575  CodeTracer::Scope trace_scope(isolate->GetCodeTracer());
1576  OFStream os(trace_scope.file());
1577  os << "Builtin: " << functions[i].s_name << "\n";
1578  code->Disassemble(functions[i].s_name, os);
1579  os << "\n";
1580  }
1581 #endif
1582  } else {
1583  // Deserializing. The values will be filled in during IterateBuiltins.
1584  builtins_[i] = NULL;
1585  }
1586  names_[i] = functions[i].s_name;
1587  }
1588 
1589  // Mark as initialized.
1590  initialized_ = true;
1591 }
#define BUILTIN(name)
Definition: builtins.cc:122
#define PROFILE(IsolateGetter, Call)
Definition: cpu-profiler.h:181
const int KB
Definition: globals.h:106
BuiltinExtraArguments
Definition: builtins.h:12

References BUILTIN, builtin_count, v8::internal::builtin_function_table, builtins_, v8::internal::MacroAssembler::CodeObject(), DCHECK, v8::internal::Isolate::factory(), v8::internal::BuiltinDesc::flags, v8::internal::anonymous_namespace{flags.cc}::flags, v8::internal::BuiltinFunctionTable::functions(), v8::internal::Assembler::GetCode(), v8::internal::Isolate::GetCodeTracer(), v8::internal::MacroAssembler::has_frame(), initialized_, v8::internal::KB, name(), names_, NULL, PROFILE, and v8::internal::BuiltinDesc::s_name.

Referenced by v8::internal::Isolate::Init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TearDown()

void v8::internal::Builtins::TearDown ( )

Definition at line 1594 of file builtins.cc.

1594  {
1595  initialized_ = false;
1596 }

References initialized_.

Referenced by v8::internal::Isolate::Deinit().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ BuiltinFunctionTable

friend class BuiltinFunctionTable
friend

Definition at line 339 of file builtins.h.

◆ Isolate

friend class Isolate
friend

Definition at line 340 of file builtins.h.

Member Data Documentation

◆ builtins_

Object* v8::internal::Builtins::builtins_[builtin_count]
private

Definition at line 289 of file builtins.h.

Referenced by builtin(), builtin_address(), Builtins(), IterateBuiltins(), Lookup(), and SetUp().

◆ c_functions_

Address const v8::internal::Builtins::c_functions_
staticprivate
Initial value:
= {
}

Definition at line 284 of file builtins.h.

Referenced by c_function_address().

◆ initialized_

bool v8::internal::Builtins::initialized_
private

Definition at line 337 of file builtins.h.

Referenced by is_initialized(), Lookup(), SetUp(), and TearDown().

◆ javascript_argc_

int const v8::internal::Builtins::javascript_argc_
staticprivate
Initial value:
= {
}

Definition at line 292 of file builtins.h.

Referenced by GetArgumentsCount().

◆ javascript_names_

const char *const v8::internal::Builtins::javascript_names_
staticprivate
Initial value:
= {
}

Definition at line 291 of file builtins.h.

Referenced by GetName().

◆ names_

const char* v8::internal::Builtins::names_[builtin_count]
private

Definition at line 290 of file builtins.h.

Referenced by Builtins(), Lookup(), name(), and SetUp().


The documentation for this class was generated from the following files: