V8 Project
v8::internal::LLoadKeyed< T > Class Template Reference

#include <lithium-arm64.h>

+ Inheritance diagram for v8::internal::LLoadKeyed< T >:
+ Collaboration diagram for v8::internal::LLoadKeyed< T >:

Public Member Functions

 LLoadKeyed (LOperand *elements, LOperand *key)
 
LOperandelements ()
 
LOperandkey ()
 
ElementsKind elements_kind () const
 
bool is_external () const
 
bool is_fixed_typed_array () const
 
bool is_typed_elements () const
 
uint32_t base_offset () const
 
void PrintDataTo (StringStream *stream) OVERRIDE
 
- Public Member Functions inherited from v8::internal::LTemplateResultInstruction< R >
 STATIC_ASSERT (R==0||R==1)
 
virtual bool HasResult () const FINAL OVERRIDE
 
void set_result (LOperand *operand)
 
LOperandresult () const
 
 STATIC_ASSERT (R==0||R==1)
 
virtual bool HasResult () const FINAL OVERRIDE
 
void set_result (LOperand *operand)
 
LOperandresult () const
 
 STATIC_ASSERT (R==0||R==1)
 
virtual bool HasResult () const FINAL OVERRIDE
 
void set_result (LOperand *operand)
 
LOperandresult () const
 
 STATIC_ASSERT (R==0||R==1)
 
virtual bool HasResult () const FINAL OVERRIDE
 
void set_result (LOperand *operand)
 
LOperandresult () const
 
 STATIC_ASSERT (R==0||R==1)
 
virtual bool HasResult () const FINAL OVERRIDE
 
void set_result (LOperand *operand)
 
LOperandresult () const
 
 STATIC_ASSERT (R==0||R==1)
 
virtual bool HasResult () const FINAL OVERRIDE
 
void set_result (LOperand *operand)
 
LOperandresult () const
 
virtual bool MustSignExtendResult (LPlatformChunk *chunk) const FINAL OVERRIDE
 
 STATIC_ASSERT (R==0||R==1)
 
virtual bool HasResult () const FINAL OVERRIDE
 
void set_result (LOperand *operand)
 
LOperandresult () const
 
- Public Member Functions inherited from v8::internal::LInstruction
 LInstruction ()
 
virtual ~LInstruction ()
 
virtual void CompileToNative (LCodeGen *generator)=0
 
virtual const char * Mnemonic () const =0
 
virtual void PrintTo (StringStream *stream)
 
virtual void PrintOutputOperandTo (StringStream *stream)
 
virtual Opcode opcode () const =0
 
virtual bool IsGap () const
 
virtual bool IsControl () const
 
virtual bool TryDelete ()
 
void set_environment (LEnvironment *env)
 
LEnvironment * environment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMap * pointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
void MarkAsCall ()
 
bool IsCall () const
 
bool ClobbersTemps () const
 
bool ClobbersRegisters () const
 
virtual bool ClobbersDoubleRegisters (Isolate *isolate) const
 
bool IsMarkedAsCall () const
 
LOperandFirstInput ()
 
LOperandOutput ()
 
virtual bool HasInterestingComment (LCodeGen *gen) const
 
 LInstruction ()
 
virtual ~LInstruction ()
 
virtual void CompileToNative (LCodeGen *generator)=0
 
virtual const char * Mnemonic () const =0
 
virtual void PrintTo (StringStream *stream)
 
virtual void PrintOutputOperandTo (StringStream *stream)
 
virtual Opcode opcode () const =0
 
virtual bool IsGap () const
 
virtual bool IsControl () const
 
virtual bool TryDelete ()
 
void set_environment (LEnvironment *env)
 
LEnvironment * environment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMap * pointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
void MarkAsCall ()
 
bool IsCall () const
 
bool ClobbersTemps () const
 
bool ClobbersRegisters () const
 
virtual bool ClobbersDoubleRegisters (Isolate *isolate) const
 
bool IsMarkedAsCall () const
 
LOperandFirstInput ()
 
LOperandOutput ()
 
virtual bool HasInterestingComment (LCodeGen *gen) const
 
 LInstruction ()
 
virtual ~LInstruction ()
 
virtual void CompileToNative (LCodeGen *generator)=0
 
virtual const char * Mnemonic () const =0
 
virtual void PrintTo (StringStream *stream)
 
virtual void PrintOutputOperandTo (StringStream *stream)
 
virtual Opcode opcode () const =0
 
virtual bool IsGap () const
 
virtual bool IsControl () const
 
virtual bool TryDelete ()
 
void set_environment (LEnvironment *env)
 
LEnvironment * environment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMap * pointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
void MarkAsCall ()
 
bool IsCall () const
 
bool ClobbersTemps () const
 
bool ClobbersRegisters () const
 
virtual bool ClobbersDoubleRegisters (Isolate *isolate) const
 
bool HasDoubleRegisterResult ()
 
bool HasDoubleRegisterInput ()
 
LOperandFirstInput ()
 
LOperandOutput ()
 
virtual bool HasInterestingComment (LCodeGen *gen) const
 
 LInstruction ()
 
virtual ~LInstruction ()
 
virtual void CompileToNative (LCodeGen *generator)=0
 
virtual const char * Mnemonic () const =0
 
virtual void PrintTo (StringStream *stream)
 
virtual void PrintOutputOperandTo (StringStream *stream)
 
virtual Opcode opcode () const =0
 
virtual bool IsGap () const
 
virtual bool IsControl () const
 
virtual bool TryDelete ()
 
void set_environment (LEnvironment *env)
 
LEnvironment * environment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMap * pointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
void MarkAsCall ()
 
bool IsCall () const
 
bool ClobbersTemps () const
 
bool ClobbersRegisters () const
 
virtual bool ClobbersDoubleRegisters (Isolate *isolate) const
 
bool IsMarkedAsCall () const
 
LOperandFirstInput ()
 
LOperandOutput ()
 
virtual bool HasInterestingComment (LCodeGen *gen) const
 
 LInstruction ()
 
virtual ~LInstruction ()
 
virtual void CompileToNative (LCodeGen *generator)=0
 
virtual const char * Mnemonic () const =0
 
virtual void PrintTo (StringStream *stream)
 
virtual void PrintOutputOperandTo (StringStream *stream)
 
virtual Opcode opcode () const =0
 
virtual bool IsGap () const
 
virtual bool IsControl () const
 
virtual bool TryDelete ()
 
void set_environment (LEnvironment *env)
 
LEnvironment * environment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMap * pointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
void MarkAsCall ()
 
bool IsCall () const
 
bool ClobbersTemps () const
 
bool ClobbersRegisters () const
 
virtual bool ClobbersDoubleRegisters (Isolate *isolate) const
 
bool IsMarkedAsCall () const
 
LOperandFirstInput ()
 
LOperandOutput ()
 
virtual bool HasInterestingComment (LCodeGen *gen) const
 
 LInstruction ()
 
virtual ~LInstruction ()
 
virtual void CompileToNative (LCodeGen *generator)=0
 
virtual const char * Mnemonic () const =0
 
virtual void PrintTo (StringStream *stream)
 
virtual void PrintOutputOperandTo (StringStream *stream)
 
virtual Opcode opcode () const =0
 
virtual bool IsGap () const
 
virtual bool IsControl () const
 
virtual bool TryDelete ()
 
void set_environment (LEnvironment *env)
 
LEnvironment * environment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMap * pointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
void MarkAsCall ()
 
bool IsCall () const
 
bool ClobbersTemps () const
 
bool ClobbersRegisters () const
 
virtual bool ClobbersDoubleRegisters (Isolate *isolate) const
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
bool IsMarkedAsCall () const
 
LOperandFirstInput ()
 
LOperandOutput ()
 
virtual bool HasInterestingComment (LCodeGen *gen) const
 
 LInstruction ()
 
virtual ~LInstruction ()
 
virtual void CompileToNative (LCodeGen *generator)=0
 
virtual const char * Mnemonic () const =0
 
virtual void PrintTo (StringStream *stream)
 
virtual void PrintOutputOperandTo (StringStream *stream)
 
virtual Opcode opcode () const =0
 
virtual bool IsGap () const
 
virtual bool IsControl () const
 
virtual bool TryDelete ()
 
void set_environment (LEnvironment *env)
 
LEnvironment * environment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMap * pointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
void MarkAsCall ()
 
bool IsCall () const
 
bool ClobbersTemps () const
 
bool ClobbersRegisters () const
 
virtual bool ClobbersDoubleRegisters (Isolate *isolate) const
 
bool HasDoubleRegisterResult ()
 
bool HasDoubleRegisterInput ()
 
bool IsDoubleInput (X87Register reg, LCodeGen *cgen)
 
LOperandFirstInput ()
 
LOperandOutput ()
 
virtual bool HasInterestingComment (LCodeGen *gen) const
 
- Public Member Functions inherited from v8::internal::ZoneObject
 INLINE (void *operator new(size_t size, Zone *zone))
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)
 

Additional Inherited Members

- Public Types inherited from v8::internal::LInstruction
enum  Opcode {
  kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter , kNumberOfInstructions ,
  kNumberOfInstructions , kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter ,
  kNumberOfInstructions
}
 
enum  Opcode {
  kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter , kNumberOfInstructions ,
  kNumberOfInstructions , kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter ,
  kNumberOfInstructions
}
 
enum  Opcode {
  kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter , kNumberOfInstructions ,
  kNumberOfInstructions , kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter ,
  kNumberOfInstructions
}
 
enum  Opcode {
  kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter , kNumberOfInstructions ,
  kNumberOfInstructions , kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter ,
  kNumberOfInstructions
}
 
enum  Opcode {
  kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter , kNumberOfInstructions ,
  kNumberOfInstructions , kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter ,
  kNumberOfInstructions
}
 
enum  Opcode {
  kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter , kNumberOfInstructions ,
  kNumberOfInstructions , kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter ,
  kNumberOfInstructions
}
 
enum  Opcode {
  kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter , kNumberOfInstructions ,
  kNumberOfInstructions , kNumberOfInstructions , kNumberOfInstructions , LITHIUM_CONCRETE_INSTRUCTION_LIST =(DECLARE_OPCODE) kAdapter ,
  kNumberOfInstructions
}
 
- Protected Attributes inherited from v8::internal::LTemplateInstruction< 1, 2, T >
EmbeddedContainer< LOperand *, Iinputs_
 
EmbeddedContainer< LOperand *, Ttemps_
 
- Protected Attributes inherited from v8::internal::LTemplateResultInstruction< R >
EmbeddedContainer< LOperand *, R > results_
 

Detailed Description

template<int T>
class v8::internal::LLoadKeyed< T >

Definition at line 1768 of file lithium-arm64.h.

Constructor & Destructor Documentation

◆ LLoadKeyed()

template<int T>
v8::internal::LLoadKeyed< T >::LLoadKeyed ( LOperand elements,
LOperand key 
)
inline

Definition at line 1770 of file lithium-arm64.h.

1770  {
1771  this->inputs_[0] = elements;
1772  this->inputs_[1] = key;
1773  }
EmbeddedContainer< LOperand *, I > inputs_
Definition: lithium-arm.h:311

Member Function Documentation

◆ base_offset()

template<int T>
uint32_t v8::internal::LLoadKeyed< T >::base_offset ( ) const
inline

Definition at line 1789 of file lithium-arm64.h.

1789  {
1790  return this->hydrogen()->base_offset();
1791  }

Referenced by v8::internal::LCodeGen::DoLoadKeyedExternalArray(), v8::internal::LCodeGen::DoLoadKeyedFixedArray(), and v8::internal::LCodeGen::DoLoadKeyedFixedDoubleArray().

+ Here is the caller graph for this function:

◆ elements()

template<int T>
LOperand* v8::internal::LLoadKeyed< T >::elements ( )
inline

Definition at line 1775 of file lithium-arm64.h.

1775 { return this->inputs_[0]; }

Referenced by v8::internal::LCodeGen::DoLoadKeyedExternalArray(), v8::internal::LCodeGen::DoLoadKeyedFixedArray(), and v8::internal::LCodeGen::DoLoadKeyedFixedDoubleArray().

+ Here is the caller graph for this function:

◆ elements_kind()

template<int T>
ElementsKind v8::internal::LLoadKeyed< T >::elements_kind ( ) const
inline

Definition at line 1777 of file lithium-arm64.h.

1777  {
1778  return this->hydrogen()->elements_kind();
1779  }

Referenced by v8::internal::LCodeGen::DoLoadKeyedExternalArray(), and v8::internal::LCodeGen::DoLoadKeyedFixedArray().

+ Here is the caller graph for this function:

◆ is_external()

template<int T>
bool v8::internal::LLoadKeyed< T >::is_external ( ) const
inline

Definition at line 1780 of file lithium-arm64.h.

1780  {
1781  return this->hydrogen()->is_external();
1782  }

◆ is_fixed_typed_array()

template<int T>
bool v8::internal::LLoadKeyed< T >::is_fixed_typed_array ( ) const
inline

Definition at line 1783 of file lithium-arm64.h.

1783  {
1784  return hydrogen()->is_fixed_typed_array();
1785  }

◆ is_typed_elements()

template<int T>
bool v8::internal::LLoadKeyed< T >::is_typed_elements ( ) const
inline

Definition at line 1786 of file lithium-arm64.h.

1786  {
1787  return is_external() || is_fixed_typed_array();
1788  }
bool is_fixed_typed_array() const

◆ key()

template<int T>
LOperand* v8::internal::LLoadKeyed< T >::key ( )
inline

Definition at line 1776 of file lithium-arm64.h.

1776 { return this->inputs_[1]; }

Referenced by v8::internal::LCodeGen::DoLoadKeyedExternalArray(), v8::internal::LCodeGen::DoLoadKeyedFixedArray(), and v8::internal::LCodeGen::DoLoadKeyedFixedDoubleArray().

+ Here is the caller graph for this function:

◆ PrintDataTo()

template<int T>
void v8::internal::LLoadKeyed< T >::PrintDataTo ( StringStream *  stream)
inlinevirtual

Reimplemented from v8::internal::LInstruction.

Definition at line 1792 of file lithium-arm64.h.

1792  {
1793  this->elements()->PrintTo(stream);
1794  stream->Add("[");
1795  this->key()->PrintTo(stream);
1796  if (this->base_offset() != 0) {
1797  stream->Add(" + %d]", this->base_offset());
1798  } else {
1799  stream->Add("]");
1800  }
1801  }
uint32_t base_offset() const
void PrintTo(StringStream *stream)
Definition: lithium.cc:41

The documentation for this class was generated from the following files: