v8  3.14.5(node0.10.28)
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 ()
 
- 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 314 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 332 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 335 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 336 of file lithium-arm.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 338 of file lithium-x64.h.

Constructor & Destructor Documentation

LGap ( HBasicBlock block)
inlineexplicit

Definition at line 316 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 313 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 315 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 318 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 330 of file lithium-ia32.h.

HBasicBlock* block ( ) const
inline

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

HBasicBlock* block ( ) const
inline

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

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

HBasicBlock* block ( ) const
inline

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

static LGap* cast ( LInstruction instr)
inlinestatic

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

References ASSERT.

static LGap* cast ( LInstruction instr)
inlinestatic

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

References ASSERT.

static LGap* cast ( LInstruction instr)
inlinestatic

Definition at line 327 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 329 of file lithium-x64.h.

References ASSERT.

LParallelMove* GetOrCreateParallelMove ( InnerPosition  pos,
Zone zone 
)
inline

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

References v8::internal::NULL.

LParallelMove* GetOrCreateParallelMove ( InnerPosition  pos,
Zone zone 
)
inline

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

References v8::internal::NULL.

LParallelMove* GetOrCreateParallelMove ( InnerPosition  pos,
Zone zone 
)
inline

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

References v8::internal::NULL.

Referenced by LChunk::AddGapMove().

LParallelMove* GetOrCreateParallelMove ( InnerPosition  pos,
Zone zone 
)
inline

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

References v8::internal::NULL.

LParallelMove* GetParallelMove ( InnerPosition  pos)
inline

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

LParallelMove* GetParallelMove ( InnerPosition  pos)
inline

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

LParallelMove* GetParallelMove ( InnerPosition  pos)
inline

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

LParallelMove* GetParallelMove ( InnerPosition  pos)
inline

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

virtual bool IsGap ( ) const
inlinevirtual

Reimplemented from LInstruction.

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

virtual bool IsGap ( ) const
inlinevirtual

Reimplemented from LInstruction.

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

virtual bool IsGap ( ) const
inlinevirtual

Reimplemented from LInstruction.

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

virtual bool IsGap ( ) const
inlinevirtual

Reimplemented from LInstruction.

Definition at line 327 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.

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().

virtual void PrintDataTo ( StringStream stream)
virtual

Reimplemented from LInstruction.

Reimplemented in LLabel, LLabel, LLabel, and LLabel.


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