v8
3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
|
#include <hydrogen.h>
Public Member Functions | |
HEnvironment (HEnvironment *outer, Scope *scope, Handle< JSFunction > closure, Zone *zone) | |
HEnvironment * | DiscardInlined (bool drop_extra) |
HEnvironment * | arguments_environment () |
Handle< JSFunction > | closure () 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 |
HEnvironment * | outer () 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) |
HValue * | Lookup (Variable *variable) const |
HValue * | Lookup (int index) const |
HValue * | LookupContext () const |
void | Push (HValue *value) |
HValue * | Pop () |
void | Drop (int count) |
HValue * | Top () const |
bool | ExpressionStackIsEmpty () const |
HValue * | ExpressionStackAt (int index_from_top) const |
void | SetExpressionStackAt (int index_from_top, HValue *value) |
HEnvironment * | Copy () const |
HEnvironment * | CopyWithoutHistory () const |
HEnvironment * | CopyAsLoopHeader (HBasicBlock *block) const |
HEnvironment * | CopyForInlining (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 () |
Zone * | zone () 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) |
Definition at line 406 of file hydrogen.h.
HEnvironment | ( | HEnvironment * | outer, |
Scope * | scope, | ||
Handle< JSFunction > | closure, | ||
Zone * | zone | ||
) |
Definition at line 8589 of file hydrogen.cc.
References Scope::num_parameters(), and Scope::num_stack_slots().
Referenced by HEnvironment::Copy(), and HEnvironment::CopyForInlining().
void AddIncomingEdge | ( | HBasicBlock * | block, |
HEnvironment * | other | ||
) |
Definition at line 8671 of file hydrogen.cc.
References HPhi::AddInput(), HBasicBlock::AddPhi(), ASSERT, HValue::block(), HPhi::cast(), HBasicBlock::IsLoopHeader(), HValue::IsPhi(), HEnvironment::length(), HPhi::merged_index(), v8::internal::NULL, HPhi::OperandCount(), HBasicBlock::predecessors(), and HEnvironment::zone().
|
inline |
Definition at line 420 of file hydrogen.h.
References v8::internal::ARGUMENTS_ADAPTOR, HEnvironment::frame_type(), and HEnvironment::outer().
|
inline |
Definition at line 427 of file hydrogen.h.
|
inline |
Definition at line 438 of file hydrogen.h.
Definition at line 450 of file hydrogen.h.
Referenced by HEnvironment::BindContext().
void Bind | ( | int | index, |
HValue * | value | ||
) |
Definition at line 8701 of file hydrogen.cc.
References List< T, P >::Add(), ASSERT, List< T, P >::Contains(), v8::internal::NULL, and HEnvironment::zone().
|
inline |
Definition at line 456 of file hydrogen.h.
References HEnvironment::Bind(), and HEnvironment::parameter_count().
|
inline |
Definition at line 521 of file hydrogen.h.
Referenced by HEnvironment::CopyAsLoopHeader(), HEnvironment::CopyForInlining(), and HEnvironment::CopyWithoutHistory().
|
inline |
Definition at line 425 of file hydrogen.h.
Referenced by HEnvironment::CopyForInlining(), and HBasicBlock::SetJoinId().
HEnvironment * Copy | ( | ) | const |
Definition at line 8743 of file hydrogen.cc.
References HEnvironment::HEnvironment(), and HEnvironment::zone().
Referenced by HEnvironment::CopyAsLoopHeader(), HEnvironment::CopyForInlining(), and HEnvironment::CopyWithoutHistory().
HEnvironment * CopyAsLoopHeader | ( | HBasicBlock * | block | ) | const |
Definition at line 8755 of file hydrogen.cc.
References HPhi::AddInput(), HBasicBlock::AddPhi(), HEnvironment::ClearHistory(), HEnvironment::Copy(), and HEnvironment::zone().
HEnvironment * CopyForInlining | ( | Handle< JSFunction > | target, |
int | arguments, | ||
FunctionLiteral * | function, | ||
HConstant * | undefined, | ||
CallKind | call_kind, | ||
bool | is_construct | ||
) | const |
Definition at line 8783 of file hydrogen.cc.
References v8::internal::ARGUMENTS_ADAPTOR, ASSERT, v8::internal::CALL_AS_FUNCTION, HEnvironment::ClearHistory(), HEnvironment::closure(), HEnvironment::Copy(), HEnvironment::Drop(), HEnvironment::ExpressionStackAt(), HEnvironment::frame_type(), HEnvironment::HEnvironment(), v8::internal::JS_CONSTRUCT, v8::internal::JS_FUNCTION, AstNode::kFunctionEntryId, HEnvironment::length(), HEnvironment::LookupContext(), HEnvironment::set_ast_id(), HEnvironment::SetValueAt(), and HEnvironment::zone().
HEnvironment * CopyWithoutHistory | ( | ) | const |
Definition at line 8748 of file hydrogen.cc.
References HEnvironment::ClearHistory(), and HEnvironment::Copy().
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 413 of file hydrogen.h.
References HEnvironment::Drop(), HEnvironment::frame_type(), v8::internal::JS_FUNCTION, and HEnvironment::outer().
Referenced by HBasicBlock::AddLeaveInlined(), and HBasicBlock::Goto().
void Drop | ( | int | count | ) |
Definition at line 8736 of file hydrogen.cc.
References HEnvironment::Pop().
Referenced by HEnvironment::CopyForInlining(), and HEnvironment::DiscardInlined().
|
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().
|
inline |
Definition at line 446 of file hydrogen.h.
References HEnvironment::local_count(), HEnvironment::parameter_count(), and HEnvironment::specials_count().
Referenced by HEnvironment::ExpressionStackIsEmpty().
|
inline |
Definition at line 430 of file hydrogen.h.
Referenced by HEnvironment::arguments_environment(), AstContext::AstContext(), HEnvironment::CopyForInlining(), and HEnvironment::DiscardInlined().
|
inline |
Definition at line 442 of file hydrogen.h.
References HEnvironment::parameter_count(), and HEnvironment::specials_count().
|
inline |
Definition at line 441 of file hydrogen.h.
Referenced by HEnvironment::AddIncomingEdge(), AstContext::AstContext(), HEnvironment::CopyForInlining(), HEnvironment::ExpressionStackAt(), HEnvironment::ExpressionStackIsEmpty(), HEnvironment::PrintTo(), and HEnvironment::SetValueAt().
|
inline |
Definition at line 433 of file hydrogen.h.
Referenced by HEnvironment::first_expression_index(), and HEnvironment::PrintTo().
Definition at line 460 of file hydrogen.h.
Referenced by HEnvironment::LookupContext().
|
inline |
Definition at line 464 of file hydrogen.h.
References ASSERT, and v8::internal::NULL.
|
inline |
Definition at line 470 of file hydrogen.h.
References HEnvironment::Lookup(), and HEnvironment::parameter_count().
Referenced by HEnvironment::CopyForInlining(), HGraphBuilder::CreateGraph(), and HGraphBuilder::VisitDeclarations().
|
inline |
Definition at line 434 of file hydrogen.h.
Referenced by HEnvironment::arguments_environment(), and HEnvironment::DiscardInlined().
|
inline |
Definition at line 431 of file hydrogen.h.
Referenced by HEnvironment::BindContext(), HEnvironment::first_expression_index(), HEnvironment::is_special_index(), HEnvironment::LookupContext(), and HEnvironment::PrintTo().
|
inline |
Definition at line 481 of file hydrogen.h.
References ASSERT, and HEnvironment::ExpressionStackIsEmpty().
Referenced by HEnvironment::Drop(), and HGraphBuilder::Pop().
|
inline |
Definition at line 435 of file hydrogen.h.
void PrintTo | ( | StringStream * | stream | ) |
Definition at line 8838 of file hydrogen.cc.
References StringStream::Add(), HEnvironment::length(), HEnvironment::local_count(), v8::internal::NULL, HEnvironment::parameter_count(), v8::internal::PrintF(), HValue::PrintNameTo(), and HEnvironment::specials_count().
Referenced by HEnvironment::PrintToStd().
void PrintToStd | ( | ) |
Definition at line 8859 of file hydrogen.cc.
References v8::internal::PrintF(), HEnvironment::PrintTo(), and StringStream::ToCString().
|
inline |
Definition at line 475 of file hydrogen.h.
References ASSERT, v8::internal::NULL, and HEnvironment::zone().
Referenced by HBasicBlock::AddLeaveInlined(), and HGraphBuilder::Push().
|
inline |
Definition at line 436 of file hydrogen.h.
|
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.
|
inline |
Definition at line 527 of file hydrogen.h.
References ASSERT, and HEnvironment::length().
Referenced by HEnvironment::CopyForInlining().
|
inline |
Definition at line 432 of file hydrogen.h.
Referenced by HEnvironment::first_expression_index(), HEnvironment::is_special_index(), and HEnvironment::PrintTo().
|
inline |
Definition at line 493 of file hydrogen.h.
References HEnvironment::ExpressionStackAt().
Definition at line 426 of file hydrogen.h.
|
inline |
Definition at line 535 of file hydrogen.h.
Referenced by HEnvironment::AddIncomingEdge(), HEnvironment::Bind(), HEnvironment::Copy(), HEnvironment::CopyAsLoopHeader(), HEnvironment::CopyForInlining(), and HEnvironment::Push().