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

Go to the source code of this file.

Classes

class  v8::internal::compiler::BreakOnNodeDecorator
 
class  v8::internal::compiler::CodeAssemblerVariable::Impl
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::compiler
 

Macros

#define DEFINE_CODE_ASSEMBLER_BINARY_OP(name, ResType, Arg1Type, Arg2Type)
 
#define CODE_ASSEMBLER_COMPARE(Name, ArgT, VarT, ToConstant, op)
 
#define DEFINE_CODE_ASSEMBLER_UNARY_OP(name, ResType, ArgType)
 
#define ATOMIC_FUNCTION(name)
 

Functions

std::ostream & v8::internal::compiler::operator<< (std::ostream &os, const CodeAssemblerVariable::Impl &impl)
 
std::ostream & v8::internal::compiler::operator<< (std::ostream &os, const CodeAssemblerVariable &variable)
 

Macro Definition Documentation

◆ ATOMIC_FUNCTION

#define ATOMIC_FUNCTION ( name)
Value:
TNode<Word32T> CodeAssembler::Atomic##name( \
MachineType type, TNode<RawPtrT> base, TNode<UintPtrT> offset, \
TNode<Word32T> value) { \
return UncheckedCast<Word32T>( \
raw_assembler()->Atomic##name(type, base, offset, value)); \
} \
template <class Type> \
TNode<Type> CodeAssembler::Atomic##name##64( \
TNode<RawPtrT> base, TNode<UintPtrT> offset, TNode<UintPtrT> value, \
TNode<UintPtrT> value_high) { \
return UncheckedCast<Type>( \
raw_assembler()->Atomic##name##64(base, offset, value, value_high)); \
} \
template TNode<AtomicInt64> CodeAssembler::Atomic##name##64 < AtomicInt64 > \
(TNode<RawPtrT> base, TNode<UintPtrT> offset, TNode<UintPtrT> value, \
TNode<UintPtrT> value_high); \
template TNode<AtomicUint64> CodeAssembler::Atomic##name##64 < \
AtomicUint64 > (TNode<RawPtrT> base, TNode<UintPtrT> offset, \
TNode<UintPtrT> value, TNode<UintPtrT> value_high);
const char * name
Definition builtins.cc:39
int32_t offset
std::unique_ptr< ValueMirror > value

Definition at line 1093 of file code-assembler.cc.

◆ CODE_ASSEMBLER_COMPARE

#define CODE_ASSEMBLER_COMPARE ( Name,
ArgT,
VarT,
ToConstant,
op )
Value:
TNode<BoolT> CodeAssembler::Name(TNode<ArgT> left, TNode<ArgT> right) { \
VarT lhs, rhs; \
if (ToConstant(left, &lhs) && ToConstant(right, &rhs)) { \
return BoolConstant(lhs op rhs); \
} \
return UncheckedCast<BoolT>(raw_assembler()->Name(left, right)); \
}

Definition at line 773 of file code-assembler.cc.

◆ DEFINE_CODE_ASSEMBLER_BINARY_OP

#define DEFINE_CODE_ASSEMBLER_BINARY_OP ( name,
ResType,
Arg1Type,
Arg2Type )
Value:
TNode<ResType> CodeAssembler::name(TNode<Arg1Type> a, TNode<Arg2Type> b) { \
return UncheckedCast<ResType>(raw_assembler()->name(a, b)); \
}

Definition at line 732 of file code-assembler.cc.

◆ DEFINE_CODE_ASSEMBLER_UNARY_OP

#define DEFINE_CODE_ASSEMBLER_UNARY_OP ( name,
ResType,
ArgType )
Value:
TNode<ResType> CodeAssembler::name(TNode<ArgType> a) { \
return UncheckedCast<ResType>(raw_assembler()->name(a)); \
}

Definition at line 846 of file code-assembler.cc.

Variable Documentation

◆ arr_

Node* arr_[kMaxSize]
private

Definition at line 1213 of file code-assembler.cc.

◆ ptr_

Node** ptr_ = arr_
private

Definition at line 1214 of file code-assembler.cc.