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

Go to the source code of this file.

Classes

class  v8::internal::HandlerBuiltinsAssembler
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define V8_CODEGEN_CODE_STUB_ASSEMBLER_MACROS_DEFINED   1
 
#define CSA_CHECK(csa, x)
 
#define CSA_HOLE_SECURITY_CHECK(csa, x)
 
#define CSA_DCHECK(csa, ...)
 
#define CSA_DCHECK_JS_ARGC_EQ(csa, expected)
 
#define BIND(label)
 
#define TYPED_VARIABLE_DEF(type, name, ...)
 
#define TYPED_VARIABLE_CONSTRUCTOR(name, ...)
 
#define TVARIABLE(...)
 
#define TVARIABLE_CONSTRUCTOR(...)
 
#define CSA_SLOW_DCHECK(csa, ...)
 
#define CSA_SBXCHECK(csa, ...)
 
#define ELEMENTS_KIND_TRANSITIONS(V)
 
#define ELEMENTS_KINDS_CASE(FROM, TO)
 
#define ELEMENTS_KINDS_CASE(FROM, TO)
 
#define ELEMENTS_KINDS_CASE(FROM, TO)
 
#define ELEMENTS_KINDS_CASE(FROM, TO)
 
#define ELEMENTS_KINDS(V)
 
#define ELEMENTS_KINDS_CASE(KIND)
 
#define ELEMENTS_KINDS_CASE(KIND)
 
#define ELEMENTS_KINDS_CASE(KIND)
 
#define ELEMENTS_KINDS_CASE(KIND)
 

Functions

 v8::internal::TF_BUILTIN (LoadIC_StringLength, CodeStubAssembler)
 
 v8::internal::TF_BUILTIN (LoadIC_StringWrapperLength, CodeStubAssembler)
 
 v8::internal::TF_BUILTIN (ElementsTransitionAndStore_InBounds, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (ElementsTransitionAndStore_NoTransitionGrowAndHandleCOW, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (ElementsTransitionAndStore_NoTransitionIgnoreTypedArrayOOB, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (ElementsTransitionAndStore_NoTransitionHandleCOW, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (StoreFastElementIC_InBounds, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (StoreFastElementIC_NoTransitionGrowAndHandleCOW, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (StoreFastElementIC_NoTransitionIgnoreTypedArrayOOB, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (StoreFastElementIC_NoTransitionHandleCOW, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (LoadIC_FunctionPrototype, CodeStubAssembler)
 
 v8::internal::TF_BUILTIN (StoreGlobalIC_Slow, CodeStubAssembler)
 
 v8::internal::TF_BUILTIN (KeyedLoadIC_SloppyArguments, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (KeyedStoreIC_SloppyArguments_InBounds, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (KeyedStoreIC_SloppyArguments_NoTransitionGrowAndHandleCOW, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (KeyedStoreIC_SloppyArguments_NoTransitionIgnoreTypedArrayOOB, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (KeyedStoreIC_SloppyArguments_NoTransitionHandleCOW, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (LoadIndexedInterceptorIC, CodeStubAssembler)
 
 v8::internal::TF_BUILTIN (KeyedHasIC_SloppyArguments, HandlerBuiltinsAssembler)
 
 v8::internal::TF_BUILTIN (HasIndexedInterceptorIC, CodeStubAssembler)
 

Macro Definition Documentation

◆ BIND

#define BIND ( label)
Value:
Bind(label)
Label label

◆ CSA_CHECK

#define CSA_CHECK ( csa,
x )
Value:
(csa)->FastCheck(x)
CodeStubAssembler & csa
int x

◆ CSA_DCHECK

#define CSA_DCHECK ( csa,
... )
Value:
((void)0)

◆ CSA_DCHECK_JS_ARGC_EQ

#define CSA_DCHECK_JS_ARGC_EQ ( csa,
expected )
Value:
((void)0)

◆ CSA_HOLE_SECURITY_CHECK

#define CSA_HOLE_SECURITY_CHECK ( csa,
x )
Value:
(csa)->Check([&]() -> TNode<BoolT> { return x; }, #x, __FILE__, __LINE__)

◆ CSA_SBXCHECK

#define CSA_SBXCHECK ( csa,
... )
Value:
CSA_DCHECK(csa, __VA_ARGS__)
#define CSA_DCHECK(csa,...)

◆ CSA_SLOW_DCHECK

#define CSA_SLOW_DCHECK ( csa,
... )
Value:
((void)0)

◆ ELEMENTS_KIND_TRANSITIONS

#define ELEMENTS_KIND_TRANSITIONS ( V)
Value:
V(PACKED_SMI_ELEMENTS, HOLEY_SMI_ELEMENTS) \
V(PACKED_SMI_ELEMENTS, PACKED_DOUBLE_ELEMENTS) \
V(PACKED_SMI_ELEMENTS, HOLEY_DOUBLE_ELEMENTS) \
V(PACKED_SMI_ELEMENTS, PACKED_ELEMENTS) \
V(PACKED_SMI_ELEMENTS, HOLEY_ELEMENTS) \
V(HOLEY_SMI_ELEMENTS, HOLEY_DOUBLE_ELEMENTS) \
V(HOLEY_SMI_ELEMENTS, HOLEY_ELEMENTS) \
V(PACKED_DOUBLE_ELEMENTS, HOLEY_DOUBLE_ELEMENTS) \
V(PACKED_DOUBLE_ELEMENTS, PACKED_ELEMENTS) \
V(PACKED_DOUBLE_ELEMENTS, HOLEY_ELEMENTS) \
V(HOLEY_DOUBLE_ELEMENTS, HOLEY_ELEMENTS) \
V(PACKED_ELEMENTS, HOLEY_ELEMENTS)
#define V(Name)

Definition at line 79 of file builtins-handler-gen.cc.

◆ ELEMENTS_KINDS

#define ELEMENTS_KINDS ( V)

Definition at line 198 of file builtins-handler-gen.cc.

◆ ELEMENTS_KINDS_CASE [1/8]

#define ELEMENTS_KINDS_CASE ( FROM,
TO )
Value:
(FROM << kBitsPerByte) | TO,

◆ ELEMENTS_KINDS_CASE [2/8]

#define ELEMENTS_KINDS_CASE ( FROM,
TO )
Value:
Label if_##FROM##_##TO(this);
#define _

◆ ELEMENTS_KINDS_CASE [3/8]

#define ELEMENTS_KINDS_CASE ( FROM,
TO )
Value:
&if_##FROM##_##TO,

◆ ELEMENTS_KINDS_CASE [4/8]

#define ELEMENTS_KINDS_CASE ( FROM,
TO )
Value:
BIND(&if_##FROM##_##TO); \
{ \
case_function(FROM, TO); \
Goto(&next); \
}
#define BIND(label)

◆ ELEMENTS_KINDS_CASE [5/8]

#define ELEMENTS_KINDS_CASE ( KIND)
Value:
#define KIND(name, Name)

◆ ELEMENTS_KINDS_CASE [6/8]

#define ELEMENTS_KINDS_CASE ( KIND)
Value:
Label if_##KIND(this);

◆ ELEMENTS_KINDS_CASE [7/8]

#define ELEMENTS_KINDS_CASE ( KIND)
Value:
&if_##KIND,

◆ ELEMENTS_KINDS_CASE [8/8]

#define ELEMENTS_KINDS_CASE ( KIND)
Value:
BIND(&if_##KIND); \
{ \
if (!handle_typed_elements_kind && \
IsTypedArrayOrRabGsabTypedArrayElementsKind(KIND)) { \
Unreachable(); \
} else { \
case_function(KIND); \
Goto(&next); \
} \
}

◆ TVARIABLE

#define TVARIABLE ( ...)
Value:
EXPAND(TYPED_VARIABLE_DEF(__VA_ARGS__, this))
#define TYPED_VARIABLE_DEF(type, name,...)
#define EXPAND(X)
Definition macros.h:16

◆ TVARIABLE_CONSTRUCTOR

#define TVARIABLE_CONSTRUCTOR ( ...)
Value:
EXPAND(TYPED_VARIABLE_CONSTRUCTOR(__VA_ARGS__, this))
#define TYPED_VARIABLE_CONSTRUCTOR(name,...)

◆ TYPED_VARIABLE_CONSTRUCTOR

#define TYPED_VARIABLE_CONSTRUCTOR ( name,
... )
Value:
name(__VA_ARGS__)
const char * name
Definition builtins.cc:39

◆ TYPED_VARIABLE_DEF

#define TYPED_VARIABLE_DEF ( type,
name,
... )
Value:
TVariable<UNPAREN(type)> name(__VA_ARGS__)
#define UNPAREN(X)
Definition macros.h:53

◆ V8_CODEGEN_CODE_STUB_ASSEMBLER_MACROS_DEFINED

#define V8_CODEGEN_CODE_STUB_ASSEMBLER_MACROS_DEFINED   1