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

Go to the source code of this file.

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 CSA_DCHECK_BRANCH(csa, ...)
 
#define HEAP_CONSTANT_ACCESSOR(rootIndexName, rootAccessorName, name)
 
#define HEAP_CONSTANT_ACCESSOR(rootIndexName, rootAccessorName, name)
 
#define HEAP_CONSTANT_TEST(rootIndexName, rootAccessorName, name)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 
#define TYPED_ARRAY_CASE(Type, type, TYPE, ctype)
 

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_BRANCH

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

Definition at line 52 of file code-stub-assembler.cc.

◆ 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)

◆ HEAP_CONSTANT_ACCESSOR [1/2]

#define HEAP_CONSTANT_ACCESSOR ( rootIndexName,
rootAccessorName,
name )
Value:
TNode<RemoveTagged<decltype(std::declval<Heap>().rootAccessorName())>::type> \
CodeStubAssembler::name##Constant() { \
return UncheckedCast<RemoveTagged< \
decltype(std::declval<Heap>().rootAccessorName())>::type>( \
LoadRoot(RootIndex::k##rootIndexName)); \
}

Definition at line 281 of file code-stub-assembler.cc.

◆ HEAP_CONSTANT_ACCESSOR [2/2]

#define HEAP_CONSTANT_ACCESSOR ( rootIndexName,
rootAccessorName,
name )
Value:
TNode<RemoveTagged< \
decltype(std::declval<ReadOnlyRoots>().rootAccessorName())>::type> \
CodeStubAssembler::name##Constant() { \
return UncheckedCast<RemoveTagged< \
decltype(std::declval<ReadOnlyRoots>().rootAccessorName())>::type>( \
LoadRoot(RootIndex::k##rootIndexName)); \
}

Definition at line 281 of file code-stub-assembler.cc.

◆ HEAP_CONSTANT_TEST

#define HEAP_CONSTANT_TEST ( rootIndexName,
rootAccessorName,
name )
Value:
TNode<BoolT> CodeStubAssembler::Is##name(TNode<Object> value) { \
return TaggedEqual(value, name##Constant()); \
} \
TNode<BoolT> CodeStubAssembler::IsNot##name(TNode<Object> value) { \
return TaggedNotEqual(value, name##Constant()); \
}
const char * name
Definition builtins.cc:39

Definition at line 302 of file code-stub-assembler.cc.

◆ 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_ARRAY_CASE [1/4]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
TYPE##_ELEMENTS,

◆ TYPED_ARRAY_CASE [2/4]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
Label if_##type##array(this);

◆ TYPED_ARRAY_CASE [3/4]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
&if_##type##array,

◆ TYPED_ARRAY_CASE [4/4]

#define TYPED_ARRAY_CASE ( Type,
type,
TYPE,
ctype )
Value:
BIND(&if_##type##array); \
{ \
var_result = LoadFixedTypedArrayElementAsTagged(data_pointer, index, \
TYPE##_ELEMENTS); \
Goto(&done); \
}
#define BIND(label)

◆ TYPED_VARIABLE_CONSTRUCTOR

#define TYPED_VARIABLE_CONSTRUCTOR ( name,
... )
Value:
name(__VA_ARGS__)

◆ 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

Variable Documentation

◆ csa

CodeStubAssembler& csa
private

Definition at line 18219 of file code-stub-assembler.cc.

◆ mt

MachineType mt
private

Definition at line 18220 of file code-stub-assembler.cc.