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
HEnvironment Class Reference

#include <hydrogen.h>

Inheritance diagram for HEnvironment:
Collaboration diagram for HEnvironment:

Public Member Functions

 HEnvironment (HEnvironment *outer, Scope *scope, Handle< JSFunction > closure, Zone *zone)
 
HEnvironmentDiscardInlined (bool drop_extra)
 
HEnvironmentarguments_environment ()
 
Handle< JSFunctionclosure () const
 
const ZoneList< HValue * > * values () const
 
const ZoneList< int > * assigned_variables () const
 
FrameType frame_type () const
 
int parameter_count () const
 
int specials_count () const
 
int local_count () const
 
HEnvironmentouter () const
 
int pop_count () const
 
int push_count () const
 
int ast_id () const
 
void set_ast_id (int id)
 
int length () const
 
bool is_special_index (int i) const
 
int first_expression_index () const
 
void Bind (Variable *variable, HValue *value)
 
void Bind (int index, HValue *value)
 
void BindContext (HValue *value)
 
HValueLookup (Variable *variable) const
 
HValueLookup (int index) const
 
HValueLookupContext () const
 
void Push (HValue *value)
 
HValuePop ()
 
void Drop (int count)
 
HValueTop () const
 
bool ExpressionStackIsEmpty () const
 
HValueExpressionStackAt (int index_from_top) const
 
void SetExpressionStackAt (int index_from_top, HValue *value)
 
HEnvironmentCopy () const
 
HEnvironmentCopyWithoutHistory () const
 
HEnvironmentCopyAsLoopHeader (HBasicBlock *block) const
 
HEnvironmentCopyForInlining (Handle< JSFunction > target, int arguments, FunctionLiteral *function, HConstant *undefined, CallKind call_kind, bool is_construct) const
 
void AddIncomingEdge (HBasicBlock *block, HEnvironment *other)
 
void ClearHistory ()
 
void SetValueAt (int index, HValue *value)
 
void PrintTo (StringStream *stream)
 
void PrintToStd ()
 
Zonezone () const
 
- 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)
 

Detailed Description

Definition at line 406 of file hydrogen.h.

Constructor & Destructor Documentation

HEnvironment ( HEnvironment outer,
Scope scope,
Handle< JSFunction closure,
Zone zone 
)

Member Function Documentation

HEnvironment* arguments_environment ( )
inline
const ZoneList<int>* assigned_variables ( ) const
inline

Definition at line 427 of file hydrogen.h.

int ast_id ( ) const
inline

Definition at line 438 of file hydrogen.h.

void Bind ( Variable variable,
HValue value 
)
inline

Definition at line 450 of file hydrogen.h.

Referenced by HEnvironment::BindContext().

void Bind ( int  index,
HValue value 
)
void BindContext ( HValue value)
inline

Definition at line 456 of file hydrogen.h.

References HEnvironment::Bind(), and HEnvironment::parameter_count().

void ClearHistory ( )
inline
Handle<JSFunction> closure ( ) const
inline

Definition at line 425 of file hydrogen.h.

Referenced by HEnvironment::CopyForInlining(), and HBasicBlock::SetJoinId().

HEnvironment * CopyAsLoopHeader ( HBasicBlock block) const
HEnvironment * CopyWithoutHistory ( ) const

Definition at line 8748 of file hydrogen.cc.

References HEnvironment::ClearHistory(), and HEnvironment::Copy().

Referenced by HGraphBuilder::CreateGraph().

HEnvironment* DiscardInlined ( bool  drop_extra)
inline
void Drop ( int  count)

Definition at line 8736 of file hydrogen.cc.

References HEnvironment::Pop().

Referenced by HEnvironment::CopyForInlining(), and HEnvironment::DiscardInlined().

HValue* ExpressionStackAt ( int  index_from_top) const
inline

Definition at line 497 of file hydrogen.h.

References ASSERT, and HEnvironment::length().

Referenced by HEnvironment::CopyForInlining(), and HEnvironment::Top().

bool ExpressionStackIsEmpty ( ) const

Definition at line 8715 of file hydrogen.cc.

References ASSERT, HEnvironment::first_expression_index(), and HEnvironment::length().

Referenced by HEnvironment::Pop().

int first_expression_index ( ) const
inline
bool is_special_index ( int  i) const
inline

Definition at line 442 of file hydrogen.h.

References HEnvironment::parameter_count(), and HEnvironment::specials_count().

int local_count ( ) const
inline

Definition at line 433 of file hydrogen.h.

Referenced by HEnvironment::first_expression_index(), and HEnvironment::PrintTo().

HValue* Lookup ( Variable variable) const
inline

Definition at line 460 of file hydrogen.h.

Referenced by HEnvironment::LookupContext().

HValue* Lookup ( int  index) const
inline

Definition at line 464 of file hydrogen.h.

References ASSERT, and v8::internal::NULL.

HEnvironment* outer ( ) const
inline
HValue* Pop ( )
inline

Definition at line 481 of file hydrogen.h.

References ASSERT, and HEnvironment::ExpressionStackIsEmpty().

Referenced by HEnvironment::Drop(), and HGraphBuilder::Pop().

int pop_count ( ) const
inline

Definition at line 435 of file hydrogen.h.

void PrintToStd ( )
void Push ( HValue value)
inline

Definition at line 475 of file hydrogen.h.

References ASSERT, v8::internal::NULL, and HEnvironment::zone().

Referenced by HBasicBlock::AddLeaveInlined(), and HGraphBuilder::Push().

int push_count ( ) const
inline

Definition at line 436 of file hydrogen.h.

void set_ast_id ( int  id)
inline

Definition at line 439 of file hydrogen.h.

Referenced by HEnvironment::CopyForInlining(), and HGraph::HGraph().

void SetExpressionStackAt ( int  index_from_top,
HValue value 
)

Definition at line 8721 of file hydrogen.cc.

References ASSERT.

void SetValueAt ( int  index,
HValue value 
)
inline

Definition at line 527 of file hydrogen.h.

References ASSERT, and HEnvironment::length().

Referenced by HEnvironment::CopyForInlining().

int specials_count ( ) const
inline
HValue* Top ( ) const
inline

Definition at line 493 of file hydrogen.h.

References HEnvironment::ExpressionStackAt().

const ZoneList<HValue*>* values ( ) const
inline

Definition at line 426 of file hydrogen.h.


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