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

Go to the source code of this file.

Classes

class  v8::internal::interpreter::IntrinsicsGenerator
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::interpreter
 

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 DECLARE_INTRINSIC_HELPER(name, lower_case, count)
 
#define __   assembler_->
 
#define MAKE_LABEL(name, lower_case, count)
 
#define LABEL_POINTER(name, lower_case, count)
 
#define CASE(name, lower_case, count)
 
#define HANDLE_CASE(name, lower_case, expected_arg_count)
 

Functions

TNode< Objectv8::internal::interpreter::GenerateInvokeIntrinsic (InterpreterAssembler *assembler, TNode< Uint32T > function_id, TNode< Context > context, const InterpreterAssembler::RegListNodePair &args)
 

Macro Definition Documentation

◆ __

#define __   assembler_->

Definition at line 61 of file interpreter-intrinsics-generator.cc.

◆ BIND

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

◆ CASE

#define CASE ( name,
lower_case,
count )
Value:
static_cast<int32_t>(IntrinsicsHelper::IntrinsicId::k##name),
const char * name
Definition builtins.cc:39

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

◆ DECLARE_INTRINSIC_HELPER

#define DECLARE_INTRINSIC_HELPER ( name,
lower_case,
count )
Value:
TNode<Object> name(const InterpreterAssembler::RegListNodePair& args, \
TNode<Context> context, int arg_count);
base::Vector< const DirectHandle< Object > > args
Definition execution.cc:74

Definition at line 39 of file interpreter-intrinsics-generator.cc.

◆ HANDLE_CASE

#define HANDLE_CASE ( name,
lower_case,
expected_arg_count )
Value:
__ BIND(&lower_case); \
{ \
if (v8_flags.debug_code && expected_arg_count >= 0) { \
AbortIfArgCountMismatch(expected_arg_count, args.reg_count()); \
} \
TNode<Object> value = name(args, context, expected_arg_count); \
if (value) { \
__ Goto(&end); \
} \
}
int end
#define BIND(label)
ZoneVector< RpoNumber > & result
std::unique_ptr< ValueMirror > value

◆ LABEL_POINTER

#define LABEL_POINTER ( name,
lower_case,
count )
Value:
&lower_case,

◆ MAKE_LABEL

#define MAKE_LABEL ( name,
lower_case,
count )
Value:
InterpreterAssembler::Label lower_case(assembler_);
BytecodeAssembler & assembler_

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

◆ 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