v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::maglev::detail Namespace Reference

Classes

class  ArrayWrapper
 
struct  CopyForDeferredByValue
 
struct  CopyForDeferredHelper
 
struct  CopyForDeferredHelper< BytecodeOffset >
 
struct  CopyForDeferredHelper< DoubleRegister >
 
struct  CopyForDeferredHelper< EagerDeoptInfo * >
 
struct  CopyForDeferredHelper< FeedbackSlot >
 
struct  CopyForDeferredHelper< LazyDeoptInfo * >
 
struct  CopyForDeferredHelper< MaglevCompilationInfo * >
 
struct  CopyForDeferredHelper< MapCompare >
 
struct  CopyForDeferredHelper< Register >
 
struct  CopyForDeferredHelper< RegisterSnapshot >
 
struct  CopyForDeferredHelper< RegList >
 
struct  CopyForDeferredHelper< std::optional< Register > >
 
struct  CopyForDeferredHelper< T *, typename std::enable_if< std::is_base_of< NodeBase, T >::value >::type >
 
struct  CopyForDeferredHelper< T, typename std::enable_if< std::is_arithmetic< T >::value >::type >
 
struct  CopyForDeferredHelper< T, typename std::enable_if< std::is_base_of< compiler::ObjectRef, T >::value >::type >
 
struct  CopyForDeferredHelper< T, typename std::enable_if< std::is_enum< T >::value >::type >
 
struct  CopyForDeferredHelper< ZoneLabelRef >
 
struct  CountPushHelper
 
struct  CountPushHelper< Arg, Args... >
 
struct  CountPushHelper<>
 
class  DeferredCodeInfoImpl
 
struct  FunctionArgumentsTupleHelper
 
struct  FunctionArgumentsTupleHelper< R(&)(A...)>
 
struct  FunctionArgumentsTupleHelper< R(C::*)(A...) const >
 
struct  is_iterator_range
 
struct  is_iterator_range< base::iterator_range< T > >
 
struct  opcode_of_helper
 
struct  PushAllHelper
 
struct  PushAllHelper< Arg >
 
struct  PushAllHelper< Arg, Args... >
 
struct  PushAllHelper< Arg1, Arg2, Args... >
 
struct  PushAllHelper< Input, Args... >
 
struct  PushAllHelper<>
 
struct  StripFirstTupleArg
 
struct  StripFirstTupleArg< std::tuple< T1, T... > >
 
struct  YouNeedToDefineAnInputTypesArrayInYourDerivedClass
 

Functions

void PushInput (MaglevAssembler *masm, const Input &input)
 
template<typename T , typename... Args>
void PushIterator (MaglevAssembler *masm, base::iterator_range< T > range, Args... args)
 
template<typename T , typename... Args>
void PushIteratorReverse (MaglevAssembler *masm, base::iterator_range< T > range, Args... args)
 
template<typename Arg >
bool AlreadyInARegister (Arg arg)
 
bool AlreadyInARegister (Register reg)
 
bool AlreadyInARegister (const Input &input)
 
template<typename Arg >
Register ToRegister (MaglevAssembler *masm, MaglevAssembler::TemporaryRegisterScope *scratch, Arg arg)
 
Register ToRegister (MaglevAssembler *masm, MaglevAssembler::TemporaryRegisterScope *scratch, Register reg)
 
Register ToRegister (MaglevAssembler *masm, MaglevAssembler::TemporaryRegisterScope *scratch, const Input &input)
 
template<typename... Args>
void PushAll (MaglevAssembler *masm, Args... args)
 
template<typename... Args>
void PushAllReverse (MaglevAssembler *masm, Args... args)
 
template<typename Arg1 , typename Arg2 >
void PushAligned (MaglevAssembler *masm, Arg1 arg1, Arg2 arg2)
 
template<typename T >
T CopyForDeferred (MaglevCompilationInfo *compilation_info, T &&value)
 
template<typename T >
T CopyForDeferred (MaglevCompilationInfo *compilation_info, T &value)
 
template<typename T >
T CopyForDeferred (MaglevCompilationInfo *compilation_info, const T &value)
 
template<typename Descriptor , typename... Args>
void CheckArgs (Args &&... args)
 
template<typename Descriptor , typename... Args>
void PushArgumentsForBuiltin (MaglevAssembler *masm, std::tuple< Args... > args)
 
template<typename Descriptor >
void PushArgumentsForBuiltin (MaglevAssembler *masm, std::tuple<> empty_args)
 
template<Builtin kBuiltin, typename... Args>
void MoveArgumentsForBuiltin (MaglevAssembler *masm, Args &&... args)
 
template<typename T >
constexpr TObjectPtrBeforeAddress (void *address)
 
template<typename T >
constexpr const TObjectPtrBeforeAddress (const void *address)
 

Function Documentation

◆ AlreadyInARegister() [1/3]

template<typename Arg >
bool v8::internal::maglev::detail::AlreadyInARegister ( Arg arg)
inline

Definition at line 128 of file maglev-assembler-arm64-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AlreadyInARegister() [2/3]

bool v8::internal::maglev::detail::AlreadyInARegister ( const Input & input)
inline

Definition at line 134 of file maglev-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ AlreadyInARegister() [3/3]

bool v8::internal::maglev::detail::AlreadyInARegister ( Register reg)
inline

Definition at line 132 of file maglev-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ CheckArgs()

template<typename Descriptor , typename... Args>
void v8::internal::maglev::detail::CheckArgs ( Args &&... args)

Definition at line 573 of file maglev-assembler-inl.h.

Here is the caller graph for this function:

◆ CopyForDeferred() [1/3]

template<typename T >
T v8::internal::maglev::detail::CopyForDeferred ( MaglevCompilationInfo * compilation_info,
const T & value )

Definition at line 133 of file maglev-assembler-inl.h.

Here is the call graph for this function:

◆ CopyForDeferred() [2/3]

template<typename T >
T v8::internal::maglev::detail::CopyForDeferred ( MaglevCompilationInfo * compilation_info,
T && value )

Definition at line 122 of file maglev-assembler-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CopyForDeferred() [3/3]

template<typename T >
T v8::internal::maglev::detail::CopyForDeferred ( MaglevCompilationInfo * compilation_info,
T & value )

Definition at line 128 of file maglev-assembler-inl.h.

Here is the call graph for this function:

◆ MoveArgumentsForBuiltin()

template<Builtin kBuiltin, typename... Args>
void v8::internal::maglev::detail::MoveArgumentsForBuiltin ( MaglevAssembler * masm,
Args &&... args )

Definition at line 594 of file maglev-assembler-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ObjectPtrBeforeAddress() [1/2]

template<typename T >
const T * v8::internal::maglev::detail::ObjectPtrBeforeAddress ( const void * address)
constexpr

Definition at line 1864 of file maglev-ir.h.

◆ ObjectPtrBeforeAddress() [2/2]

template<typename T >
T * v8::internal::maglev::detail::ObjectPtrBeforeAddress ( void * address)
constexpr

Definition at line 1857 of file maglev-ir.h.

Here is the caller graph for this function:

◆ PushAligned()

template<typename Arg1 , typename Arg2 >
void v8::internal::maglev::detail::PushAligned ( MaglevAssembler * masm,
Arg1 arg1,
Arg2 arg2 )
inline

Definition at line 260 of file maglev-assembler-arm64-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushAll()

template<typename... Args>
void v8::internal::maglev::detail::PushAll ( MaglevAssembler * masm,
Args... args )
inline

Definition at line 203 of file maglev-assembler-arm64-inl.h.

◆ PushAllReverse()

template<typename... Args>
void v8::internal::maglev::detail::PushAllReverse ( MaglevAssembler * masm,
Args... args )
inline

Definition at line 208 of file maglev-assembler-arm64-inl.h.

◆ PushArgumentsForBuiltin() [1/2]

template<typename Descriptor , typename... Args>
void v8::internal::maglev::detail::PushArgumentsForBuiltin ( MaglevAssembler * masm,
std::tuple< Args... > args )

Definition at line 578 of file maglev-assembler-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushArgumentsForBuiltin() [2/2]

template<typename Descriptor >
void v8::internal::maglev::detail::PushArgumentsForBuiltin ( MaglevAssembler * masm,
std::tuple<> empty_args )

Definition at line 591 of file maglev-assembler-inl.h.

◆ PushInput()

void v8::internal::maglev::detail::PushInput ( MaglevAssembler * masm,
const Input & input )
inline

Definition at line 128 of file maglev-assembler-arm-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushIterator()

template<typename T , typename... Args>
void v8::internal::maglev::detail::PushIterator ( MaglevAssembler * masm,
base::iterator_range< T > range,
Args... args )
inline

Definition at line 152 of file maglev-assembler-arm-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushIteratorReverse()

template<typename T , typename... Args>
void v8::internal::maglev::detail::PushIteratorReverse ( MaglevAssembler * masm,
base::iterator_range< T > range,
Args... args )
inline

Definition at line 161 of file maglev-assembler-arm-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ToRegister() [1/3]

template<typename Arg >
Register v8::internal::maglev::detail::ToRegister ( MaglevAssembler * masm,
MaglevAssembler::TemporaryRegisterScope * scratch,
Arg arg )
inline

Definition at line 148 of file maglev-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ ToRegister() [2/3]

Register v8::internal::maglev::detail::ToRegister ( MaglevAssembler * masm,
MaglevAssembler::TemporaryRegisterScope * scratch,
const Input & input )
inline

Definition at line 160 of file maglev-assembler-arm64-inl.h.

Here is the call graph for this function:

◆ ToRegister() [3/3]

Register v8::internal::maglev::detail::ToRegister ( MaglevAssembler * masm,
MaglevAssembler::TemporaryRegisterScope * scratch,
Register reg )
inline

Definition at line 155 of file maglev-assembler-arm64-inl.h.