v8
3.14.5(node0.10.28)
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 * | 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 |
BailoutId | ast_id () const |
void | set_ast_id (BailoutId id) |
HEnterInlined * | entry () const |
void | set_entry (HEnterInlined *entry) |
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, InliningKind inlining_kind) const |
HEnvironment * | DiscardInlined (bool drop_extra) |
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 431 of file hydrogen.h.
HEnvironment | ( | HEnvironment * | outer, |
Scope * | scope, | ||
Handle< JSFunction > | closure, | ||
Zone * | zone | ||
) |
Definition at line 9375 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 9461 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 438 of file hydrogen.h.
References v8::internal::ARGUMENTS_ADAPTOR, HEnvironment::frame_type(), and HEnvironment::outer().
|
inline |
Definition at line 445 of file hydrogen.h.
|
inline |
Definition at line 456 of file hydrogen.h.
Definition at line 471 of file hydrogen.h.
Referenced by HEnvironment::BindContext().
void Bind | ( | int | index, |
HValue * | value | ||
) |
Definition at line 9491 of file hydrogen.cc.
References List< T, P >::Add(), ASSERT, List< T, P >::Contains(), v8::internal::NULL, and HEnvironment::zone().
|
inline |
Definition at line 477 of file hydrogen.h.
References HEnvironment::Bind(), and HEnvironment::parameter_count().
|
inline |
Definition at line 549 of file hydrogen.h.
Referenced by HEnvironment::CopyAsLoopHeader(), HEnvironment::CopyForInlining(), and HEnvironment::CopyWithoutHistory().
|
inline |
Definition at line 443 of file hydrogen.h.
Referenced by HBasicBlock::SetJoinId().
HEnvironment * Copy | ( | ) | const |
Definition at line 9533 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 9545 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, | ||
InliningKind | inlining_kind | ||
) | const |
Definition at line 9573 of file hydrogen.cc.
References v8::internal::ARGUMENTS_ADAPTOR, ASSERT, v8::internal::CALL_AS_FUNCTION, HEnvironment::ClearHistory(), v8::internal::CONSTRUCT_CALL_RETURN, HEnvironment::Copy(), HEnvironment::Drop(), HEnvironment::ExpressionStackAt(), HEnvironment::frame_type(), BailoutId::FunctionEntry(), v8::internal::GETTER_CALL_RETURN, HEnvironment::HEnvironment(), v8::internal::JS_CONSTRUCT, v8::internal::JS_FUNCTION, v8::internal::JS_GETTER, v8::internal::JS_SETTER, HEnvironment::length(), HEnvironment::LookupContext(), HEnvironment::set_ast_id(), v8::internal::SETTER_CALL_RETURN, HEnvironment::SetValueAt(), and HEnvironment::zone().
HEnvironment * CopyWithoutHistory | ( | ) | const |
Definition at line 9538 of file hydrogen.cc.
References HEnvironment::ClearHistory(), and HEnvironment::Copy().
Referenced by HGraphBuilder::CreateGraph().
|
inline |
Definition at line 540 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 9526 of file hydrogen.cc.
References HEnvironment::Pop().
Referenced by HEnvironment::CopyForInlining(), and HEnvironment::DiscardInlined().
|
inline |
Definition at line 459 of file hydrogen.h.
Referenced by HEnvironment::set_entry().
|
inline |
Definition at line 518 of file hydrogen.h.
References ASSERT, and HEnvironment::length().
Referenced by HEnvironment::CopyForInlining(), and HEnvironment::Top().
bool ExpressionStackIsEmpty | ( | ) | const |
Definition at line 9505 of file hydrogen.cc.
References ASSERT, HEnvironment::first_expression_index(), and HEnvironment::length().
Referenced by HEnvironment::Pop().
|
inline |
Definition at line 467 of file hydrogen.h.
References HEnvironment::local_count(), HEnvironment::parameter_count(), and HEnvironment::specials_count().
Referenced by HEnvironment::ExpressionStackIsEmpty().
|
inline |
Definition at line 448 of file hydrogen.h.
Referenced by HEnvironment::arguments_environment(), AstContext::AstContext(), HEnvironment::CopyForInlining(), and HEnvironment::DiscardInlined().
|
inline |
Definition at line 463 of file hydrogen.h.
References HEnvironment::parameter_count(), and HEnvironment::specials_count().
|
inline |
Definition at line 462 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 451 of file hydrogen.h.
Referenced by HEnvironment::first_expression_index(), and HEnvironment::PrintTo().
Definition at line 481 of file hydrogen.h.
Referenced by HEnvironment::LookupContext().
|
inline |
Definition at line 485 of file hydrogen.h.
References ASSERT, and v8::internal::NULL.
|
inline |
Definition at line 491 of file hydrogen.h.
References HEnvironment::Lookup(), and HEnvironment::parameter_count().
Referenced by HEnvironment::CopyForInlining(), HGraphBuilder::CreateGraph(), and HGraphBuilder::VisitDeclarations().
|
inline |
Definition at line 452 of file hydrogen.h.
Referenced by HEnvironment::arguments_environment(), and HEnvironment::DiscardInlined().
|
inline |
Definition at line 449 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 502 of file hydrogen.h.
References ASSERT, and HEnvironment::ExpressionStackIsEmpty().
Referenced by HEnvironment::Drop(), and HGraphBuilder::Pop().
|
inline |
Definition at line 453 of file hydrogen.h.
void PrintTo | ( | StringStream * | stream | ) |
Definition at line 9634 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 9655 of file hydrogen.cc.
References v8::internal::PrintF(), HEnvironment::PrintTo(), and StringStream::ToCString().
|
inline |
Definition at line 496 of file hydrogen.h.
References ASSERT, v8::internal::NULL, and HEnvironment::zone().
Referenced by HBasicBlock::AddLeaveInlined(), and HGraphBuilder::Push().
|
inline |
Definition at line 454 of file hydrogen.h.
|
inline |
Definition at line 457 of file hydrogen.h.
Referenced by HEnvironment::CopyForInlining(), and HGraph::HGraph().
|
inline |
Definition at line 460 of file hydrogen.h.
References HEnvironment::entry().
void SetExpressionStackAt | ( | int | index_from_top, |
HValue * | value | ||
) |
Definition at line 9511 of file hydrogen.cc.
References ASSERT.
|
inline |
Definition at line 555 of file hydrogen.h.
References ASSERT, and HEnvironment::length().
Referenced by HEnvironment::CopyForInlining().
|
inline |
Definition at line 450 of file hydrogen.h.
Referenced by HEnvironment::first_expression_index(), HEnvironment::is_special_index(), and HEnvironment::PrintTo().
|
inline |
Definition at line 514 of file hydrogen.h.
References HEnvironment::ExpressionStackAt().
Definition at line 444 of file hydrogen.h.
|
inline |
Definition at line 563 of file hydrogen.h.
Referenced by HEnvironment::AddIncomingEdge(), HEnvironment::Bind(), HEnvironment::Copy(), HEnvironment::CopyAsLoopHeader(), HEnvironment::CopyForInlining(), and HEnvironment::Push().