v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
setup-builtins-internal.cc File Reference
Include dependency graph for setup-builtins-internal.cc:

Go to the source code of this file.

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define FORWARD_DECLARE(Name, Argc)
 
#define BUILD_CPP_WITHOUT_JOB(Name, Argc)
 
#define BUILD_TSJ_WITHOUT_JOB(Name, Argc, ...)
 
#define BUILD_TFJ_WITH_JOB(Name, Argc, ...)
 
#define BUILD_TSC_WITHOUT_JOB(Name, InterfaceDescriptor)
 
#define BUILD_TFC_WITH_JOB(Name, InterfaceDescriptor)
 
#define BUILD_TFS_WITH_JOB(Name, ...)
 
#define BUILD_TFH_WITH_JOB(Name, InterfaceDescriptor)
 
#define BUILD_BCH_WITH_JOB(Name, OperandScale, Bytecode)
 
#define BUILD_ASM_WITHOUT_JOB(Name, InterfaceDescriptor)
 
#define NOP(...)
 

Macro Definition Documentation

◆ BUILD_ASM_WITHOUT_JOB

#define BUILD_ASM_WITHOUT_JOB ( Name,
InterfaceDescriptor )
Value:
code = BuildWithMacroAssembler(isolate, Builtin::k##Name, \
Builtins::Generate_##Name, #Name); \
generated_builtins[Builtins::ToInt(Builtin::k##Name)] = \
handle(code, isolate); \
builtins_built_without_job_count++;

◆ BUILD_BCH_WITH_JOB

#define BUILD_BCH_WITH_JOB ( Name,
OperandScale,
Bytecode )
Value:
CompileBytecodeHandler(isolate, Builtin::k##Name, OperandScale, Bytecode, \
install_generated_builtin, job_creation_order++, \
scheduler);

◆ BUILD_CPP_WITHOUT_JOB

#define BUILD_CPP_WITHOUT_JOB ( Name,
Argc )
Value:
code = BuildAdaptor(isolate, Builtin::k##Name, \
FUNCTION_ADDR(Builtin_##Name), #Name); \
generated_builtins[Builtins::ToInt(Builtin::k##Name)] = \
handle(code, isolate); \
builtins_built_without_job_count++;
#define FUNCTION_ADDR(f)
Definition globals.h:712

◆ BUILD_TFC_WITH_JOB

#define BUILD_TFC_WITH_JOB ( Name,
InterfaceDescriptor )
Value:
/* Return size is from the provided CallInterfaceDescriptor. */ \
CompileCSLinkageCodeStubBuiltin( \
isolate, Builtin::k##Name, &Builtins::Generate_##Name, \
install_generated_builtin, CallDescriptors::InterfaceDescriptor, #Name, \
job_creation_order++, scheduler);

◆ BUILD_TFH_WITH_JOB

#define BUILD_TFH_WITH_JOB ( Name,
InterfaceDescriptor )
Value:
/* Return size for IC builtins/handlers is always 1. */ \
CompileCSLinkageCodeStubBuiltin( \
isolate, Builtin::k##Name, &Builtins::Generate_##Name, \
install_generated_builtin, CallDescriptors::InterfaceDescriptor, #Name, \
job_creation_order++, scheduler);

◆ BUILD_TFJ_WITH_JOB

#define BUILD_TFJ_WITH_JOB ( Name,
Argc,
... )
Value:
CompileJSLinkageCodeStubBuiltin(isolate, Builtin::k##Name, \
&Builtins::Generate_##Name, \
install_generated_builtin, Argc, #Name, \
job_creation_order++, scheduler);

◆ BUILD_TFS_WITH_JOB

#define BUILD_TFS_WITH_JOB ( Name,
... )
Value:
/* Return size for generic TF builtins (stub linkage) is always 1. */ \
CompileCSLinkageCodeStubBuiltin( \
isolate, Builtin::k##Name, &Builtins::Generate_##Name, \
install_generated_builtin, CallDescriptors::Name, #Name, \
job_creation_order++, scheduler);

◆ BUILD_TSC_WITHOUT_JOB

#define BUILD_TSC_WITHOUT_JOB ( Name,
InterfaceDescriptor )
Value:
/* Return size is from the provided CallInterfaceDescriptor. */ \
code = BuildWithTurboshaftAssemblerCS( \
isolate, Builtin::k##Name, &Builtins::Generate_##Name, \
CallDescriptors::InterfaceDescriptor, #Name); \
generated_builtins[Builtins::ToInt(Builtin::k##Name)] = \
handle(code, isolate); \
builtins_built_without_job_count++;

◆ BUILD_TSJ_WITHOUT_JOB

#define BUILD_TSJ_WITHOUT_JOB ( Name,
Argc,
... )
Value:
code = BuildWithTurboshaftAssemblerJS( \
isolate, Builtin::k##Name, &Builtins::Generate_##Name, Argc, #Name); \
AddBuiltin(builtins, Builtin::k##Name, code); \
builtins_built_without_job_count++;

◆ FORWARD_DECLARE

#define FORWARD_DECLARE ( Name,
Argc )
Value:
Address Builtin_##Name(int argc, Address* args, Isolate* isolate);
base::Vector< const DirectHandle< Object > > args
Definition execution.cc:74

Definition at line 40 of file setup-builtins-internal.cc.

◆ NOP

#define NOP ( ...)