v8  3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LGap Class Reference

#include <lithium-arm.h>

Inheritance diagram for LGap:
Collaboration diagram for LGap:

Public Types

enum  InnerPosition {
  BEFORE, START, END, AFTER,
  FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER, BEFORE, START,
  END, AFTER, FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER,
  BEFORE, START, END, AFTER,
  FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER, BEFORE, START,
  END, AFTER, FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER
}
 
enum  InnerPosition {
  BEFORE, START, END, AFTER,
  FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER, BEFORE, START,
  END, AFTER, FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER,
  BEFORE, START, END, AFTER,
  FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER, BEFORE, START,
  END, AFTER, FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER
}
 
enum  InnerPosition {
  BEFORE, START, END, AFTER,
  FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER, BEFORE, START,
  END, AFTER, FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER,
  BEFORE, START, END, AFTER,
  FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER, BEFORE, START,
  END, AFTER, FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER
}
 
enum  InnerPosition {
  BEFORE, START, END, AFTER,
  FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER, BEFORE, START,
  END, AFTER, FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER,
  BEFORE, START, END, AFTER,
  FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER, BEFORE, START,
  END, AFTER, FIRST_INNER_POSITION = BEFORE, LAST_INNER_POSITION = AFTER
}
 
- Public Types inherited from LInstruction
enum  Opcode { kNumberOfInstructions, kNumberOfInstructions, kNumberOfInstructions, kNumberOfInstructions }
 
enum  Opcode { kNumberOfInstructions, kNumberOfInstructions, kNumberOfInstructions, kNumberOfInstructions }
 
enum  Opcode { kNumberOfInstructions, kNumberOfInstructions, kNumberOfInstructions, kNumberOfInstructions }
 
enum  Opcode { kNumberOfInstructions, kNumberOfInstructions, kNumberOfInstructions, kNumberOfInstructions }
 

Public Member Functions

 LGap (HBasicBlock *block)
 
virtual bool IsGap () const
 
virtual void PrintDataTo (StringStream *stream)
 
bool IsRedundant () const
 
HBasicBlockblock () const
 
LParallelMoveGetOrCreateParallelMove (InnerPosition pos, Zone *zone)
 
LParallelMoveGetParallelMove (InnerPosition pos)
 
 LGap (HBasicBlock *block)
 
virtual bool IsGap () const
 
virtual void PrintDataTo (StringStream *stream)
 
bool IsRedundant () const
 
HBasicBlockblock () const
 
LParallelMoveGetOrCreateParallelMove (InnerPosition pos, Zone *zone)
 
LParallelMoveGetParallelMove (InnerPosition pos)
 
 LGap (HBasicBlock *block)
 
virtual bool IsGap () const
 
virtual void PrintDataTo (StringStream *stream)
 
bool IsRedundant () const
 
HBasicBlockblock () const
 
LParallelMoveGetOrCreateParallelMove (InnerPosition pos, Zone *zone)
 
LParallelMoveGetParallelMove (InnerPosition pos)
 
 LGap (HBasicBlock *block)
 
virtual bool IsGap () const
 
virtual void PrintDataTo (StringStream *stream)
 
bool IsRedundant () const
 
HBasicBlockblock () const
 
LParallelMoveGetOrCreateParallelMove (InnerPosition pos, Zone *zone)
 
LParallelMoveGetParallelMove (InnerPosition pos)
 
- Public Member Functions inherited from LTemplateInstruction< 0, 0, 0 >
 STATIC_ASSERT (R==0||R==1)
 
 STATIC_ASSERT (R==0||R==1)
 
 STATIC_ASSERT (R==0||R==1)
 
 STATIC_ASSERT (R==0||R==1)
 
virtual bool HasResult () const
 
virtual bool HasResult () const
 
virtual bool HasResult () const
 
virtual bool HasResult () const
 
void set_result (LOperand *operand)
 
void set_result (LOperand *operand)
 
void set_result (LOperand *operand)
 
void set_result (LOperand *operand)
 
LOperandresult ()
 
LOperandresult ()
 
LOperandresult ()
 
LOperandresult ()
 
int InputCount ()
 
int InputCount ()
 
int InputCount ()
 
int InputCount ()
 
LOperandInputAt (int i)
 
LOperandInputAt (int i)
 
LOperandInputAt (int i)
 
LOperandInputAt (int i)
 
int TempCount ()
 
int TempCount ()
 
int TempCount ()
 
int TempCount ()
 
LOperandTempAt (int i)
 
LOperandTempAt (int i)
 
LOperandTempAt (int i)
 
LOperandTempAt (int i)
 
- Public Member Functions inherited from 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 IsControl () const
 
void set_environment (LEnvironment *env)
 
LEnvironmentenvironment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMappointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
void MarkAsCall ()
 
bool IsMarkedAsCall () const
 
LOperandFirstInput ()
 
LOperandOutput ()
 
 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 IsControl () const
 
void set_environment (LEnvironment *env)
 
LEnvironmentenvironment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMappointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
void MarkAsCall ()
 
bool IsMarkedAsCall () const
 
LOperandFirstInput ()
 
LOperandOutput ()
 
 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 IsControl () const
 
void set_environment (LEnvironment *env)
 
LEnvironmentenvironment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMappointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
void MarkAsCall ()
 
bool IsMarkedAsCall () const
 
LOperandFirstInput ()
 
LOperandOutput ()
 
 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 IsControl () const
 
void set_environment (LEnvironment *env)
 
LEnvironmentenvironment () const
 
bool HasEnvironment () const
 
void set_pointer_map (LPointerMap *p)
 
LPointerMappointer_map () const
 
bool HasPointerMap () const
 
void set_hydrogen_value (HValue *value)
 
HValuehydrogen_value () const
 
void MarkAsCall ()
 
virtual void SetDeferredLazyDeoptimizationEnvironment (LEnvironment *env)
 
bool IsMarkedAsCall () const
 
LOperandFirstInput ()
 
LOperandOutput ()
 
- Public Member Functions inherited from ZoneObject
 INLINE (void *operator new(size_t size, Zone *zone))
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)
 

Static Public Member Functions

static LGapcast (LInstruction *instr)
 
static LGapcast (LInstruction *instr)
 
static LGapcast (LInstruction *instr)
 
static LGapcast (LInstruction *instr)
 

Additional Inherited Members

- Protected Attributes inherited from LTemplateInstruction< 0, 0, 0 >
EmbeddedContainer< LOperand *, R > results_
 
EmbeddedContainer< LOperand *, Iinputs_
 
EmbeddedContainer< LOperand *, Ttemps_
 

Detailed Description

Definition at line 305 of file lithium-arm.h.

Member Enumeration Documentation

Enumerator
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 

Definition at line 321 of file lithium-ia32.h.

Enumerator
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 

Definition at line 326 of file lithium-mips.h.

Enumerator
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 

Definition at line 327 of file lithium-x64.h.

Enumerator
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 
BEFORE 
START 
END 
AFTER 
FIRST_INNER_POSITION 
LAST_INNER_POSITION 

Definition at line 327 of file lithium-arm.h.

Constructor & Destructor Documentation

LGap ( HBasicBlock block)
inlineexplicit

Definition at line 307 of file lithium-arm.h.

References LGap::AFTER, LGap::BEFORE, LGap::END, v8::internal::NULL, and LGap::START.

LGap ( HBasicBlock block)
inlineexplicit

Definition at line 302 of file lithium-ia32.h.

References LGap::AFTER, LGap::BEFORE, LGap::END, v8::internal::NULL, and LGap::START.

LGap ( HBasicBlock block)
inlineexplicit

Definition at line 306 of file lithium-mips.h.

References LGap::AFTER, LGap::BEFORE, LGap::END, v8::internal::NULL, and LGap::START.

LGap ( HBasicBlock block)
inlineexplicit

Definition at line 307 of file lithium-x64.h.

References LGap::AFTER, LGap::BEFORE, LGap::END, v8::internal::NULL, and LGap::START.

Member Function Documentation

HBasicBlock* block ( ) const
inline

Definition at line 319 of file lithium-ia32.h.

HBasicBlock* block ( ) const
inline

Definition at line 324 of file lithium-mips.h.

HBasicBlock* block ( ) const
inline

Definition at line 325 of file lithium-arm.h.

Referenced by LLabel::block_id(), and LLabel::is_loop_header().

HBasicBlock* block ( ) const
inline

Definition at line 325 of file lithium-x64.h.

static LGap* cast ( LInstruction instr)
inlinestatic

Definition at line 312 of file lithium-ia32.h.

References ASSERT.

static LGap* cast ( LInstruction instr)
inlinestatic

Definition at line 317 of file lithium-mips.h.

References ASSERT.

static LGap* cast ( LInstruction instr)
inlinestatic

Definition at line 318 of file lithium-arm.h.

References ASSERT, and LInstruction::IsGap().

Referenced by LChunk::GetGapAt(), LChunk::GetLabel(), and LChunk::MarkEmptyBlocks().

static LGap* cast ( LInstruction instr)
inlinestatic

Definition at line 318 of file lithium-x64.h.

References ASSERT.

LParallelMove* GetOrCreateParallelMove ( InnerPosition  pos,
Zone zone 
)
inline

Definition at line 330 of file lithium-ia32.h.

References v8::internal::NULL.

LParallelMove* GetOrCreateParallelMove ( InnerPosition  pos,
Zone zone 
)
inline

Definition at line 335 of file lithium-mips.h.

References v8::internal::NULL.

LParallelMove* GetOrCreateParallelMove ( InnerPosition  pos,
Zone zone 
)
inline

Definition at line 336 of file lithium-arm.h.

References v8::internal::NULL.

Referenced by LChunk::AddGapMove().

LParallelMove* GetOrCreateParallelMove ( InnerPosition  pos,
Zone zone 
)
inline

Definition at line 336 of file lithium-x64.h.

References v8::internal::NULL.

LParallelMove* GetParallelMove ( InnerPosition  pos)
inline

Definition at line 337 of file lithium-ia32.h.

LParallelMove* GetParallelMove ( InnerPosition  pos)
inline

Definition at line 342 of file lithium-mips.h.

LParallelMove* GetParallelMove ( InnerPosition  pos)
inline

Definition at line 343 of file lithium-arm.h.

LParallelMove* GetParallelMove ( InnerPosition  pos)
inline

Definition at line 344 of file lithium-x64.h.

virtual bool IsGap ( ) const
inlinevirtual

Reimplemented from LInstruction.

Definition at line 310 of file lithium-ia32.h.

virtual bool IsGap ( ) const
inlinevirtual

Reimplemented from LInstruction.

Definition at line 315 of file lithium-mips.h.

virtual bool IsGap ( ) const
inlinevirtual

Reimplemented from LInstruction.

Definition at line 316 of file lithium-arm.h.

virtual bool IsGap ( ) const
inlinevirtual

Reimplemented from LInstruction.

Definition at line 316 of file lithium-x64.h.

bool IsRedundant ( ) const
bool IsRedundant ( ) const
bool IsRedundant ( ) const

Definition at line 134 of file lithium-arm.cc.

References v8::internal::NULL.

Referenced by LChunk::MarkEmptyBlocks().

bool IsRedundant ( ) const
virtual void PrintDataTo ( StringStream stream)
virtual

Reimplemented from LInstruction.

Reimplemented in LLabel, LLabel, LLabel, and LLabel.

virtual void PrintDataTo ( StringStream stream)
virtual

Reimplemented from LInstruction.

Reimplemented in LLabel, LLabel, LLabel, and LLabel.

virtual void PrintDataTo ( StringStream stream)
virtual

Reimplemented from LInstruction.

Reimplemented in LLabel, LLabel, LLabel, and LLabel.

void PrintDataTo ( StringStream stream)
virtual

Reimplemented from LInstruction.

Reimplemented in LLabel, LLabel, LLabel, and LLabel.

Definition at line 145 of file lithium-arm.cc.

References StringStream::Add(), v8::internal::NULL, and LParallelMove::PrintDataTo().

Referenced by LLabel::PrintDataTo().


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