v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <hydrogen.h>
Data Structures | |
class | BASE_EMBEDDED |
Public Types | |
enum | BreakType { BREAK, CONTINUE } |
enum | SwitchType { UNKNOWN_SWITCH, SMI_SWITCH, STRING_SWITCH } |
Public Member Functions | |
HGraphBuilder (CompilationInfo *info, TypeFeedbackOracle *oracle) | |
HGraph * | CreateGraph () |
HGraph * | graph () const |
BreakAndContinueScope * | break_scope () const |
void | set_break_scope (BreakAndContinueScope *head) |
HBasicBlock * | current_block () const |
void | set_current_block (HBasicBlock *block) |
HEnvironment * | environment () const |
bool | inline_bailout () |
HInstruction * | AddInstruction (HInstruction *instr) |
void | AddSimulate (BailoutId ast_id) |
void | Push (HValue *value) |
HValue * | Pop () |
void | Bailout (const char *reason) |
HBasicBlock * | CreateJoin (HBasicBlock *first, HBasicBlock *second, BailoutId join_id) |
TypeFeedbackOracle * | oracle () const |
FunctionState * | function_state () const |
void | VisitDeclarations (ZoneList< Declaration * > *declarations) |
void * | operator new (size_t size, Zone *zone) |
void | operator delete (void *pointer, Zone *zone) |
void | operator delete (void *pointer) |
Friends | |
class | FunctionState |
class | AstContext |
Definition at line 807 of file hydrogen.h.
enum BreakType |
Enumerator | |
---|---|
BREAK | |
CONTINUE |
Definition at line 809 of file hydrogen.h.
enum SwitchType |
Enumerator | |
---|---|
UNKNOWN_SWITCH | |
SMI_SWITCH | |
STRING_SWITCH |
Definition at line 810 of file hydrogen.h.
HGraphBuilder | ( | CompilationInfo * | info, |
TypeFeedbackOracle * | oracle | ||
) |
Definition at line 619 of file hydrogen.cc.
HInstruction * AddInstruction | ( | HInstruction * | instr | ) |
Definition at line 3821 of file hydrogen.cc.
References HBasicBlock::AddInstruction(), ASSERT, HGraphBuilder::current_block(), and v8::internal::NULL.
Referenced by HGraphBuilder::CreateGraph(), EffectContext::ReturnInstruction(), ValueContext::ReturnInstruction(), and HGraphBuilder::VisitDeclarations().
void AddSimulate | ( | BailoutId | ast_id | ) |
Definition at line 3828 of file hydrogen.cc.
References HBasicBlock::AddSimulate(), ASSERT, HGraphBuilder::current_block(), and v8::internal::NULL.
Referenced by HGraphBuilder::CreateGraph(), EffectContext::ReturnInstruction(), and ValueContext::ReturnInstruction().
void Bailout | ( | const char * | reason | ) |
Definition at line 3153 of file hydrogen.cc.
References CompilationInfo::set_bailout_reason().
Referenced by HGraphBuilder::CreateGraph(), OptimizingCompiler::OptimizeGraph(), ValueContext::ReturnControl(), ValueContext::ReturnInstruction(), and ValueContext::ReturnValue().
|
inline |
Definition at line 869 of file hydrogen.h.
HGraph * CreateGraph | ( | ) |
Definition at line 3207 of file hydrogen.cc.
References HGraphBuilder::AddInstruction(), HGraphBuilder::AddSimulate(), ASSERT, HGraphBuilder::Bailout(), Scope::calls_eval(), v8::internal::code(), HEnvironment::CopyWithoutHistory(), HGraphBuilder::current_block(), Scope::declarations(), BailoutId::Declarations(), HGraph::entry_block(), HGraphBuilder::environment(), HBasicBlock::FinishExit(), Scope::function(), BailoutId::FunctionEntry(), HGraph::GetConstantUndefined(), HBasicBlock::Goto(), HGraphBuilder::graph(), Scope::HasIllegalRedeclaration(), HStatistics::Initialize(), HStatistics::Instance(), Scope::is_function_scope(), HStackCheck::kFunctionEntry, HEnvironment::LookupContext(), v8::internal::NULL, CompilationInfo::scope(), HGraphBuilder::set_current_block(), HGraph::set_use_optimistic_licm(), HBasicBlock::SetJoinId(), HGraph::update_type_change_checksum(), and HGraphBuilder::VisitDeclarations().
Referenced by OptimizingCompiler::CreateGraph().
HBasicBlock * CreateJoin | ( | HBasicBlock * | first, |
HBasicBlock * | second, | ||
BailoutId | join_id | ||
) |
Definition at line 637 of file hydrogen.cc.
References HGraph::CreateBasicBlock(), HBasicBlock::Goto(), v8::internal::NULL, and HBasicBlock::SetJoinId().
Referenced by EffectContext::ReturnControl(), and ValueContext::ReturnControl().
|
inline |
Definition at line 872 of file hydrogen.h.
Referenced by HGraphBuilder::AddInstruction(), HGraphBuilder::AddSimulate(), HGraphBuilder::CreateGraph(), HGraphBuilder::environment(), EffectContext::ReturnControl(), ValueContext::ReturnControl(), and TestContext::ReturnControl().
|
inline |
Definition at line 874 of file hydrogen.h.
References HGraphBuilder::current_block(), and HBasicBlock::last_environment().
Referenced by AstContext::AstContext(), HGraphBuilder::CreateGraph(), HGraphBuilder::Pop(), HGraphBuilder::Push(), and HGraphBuilder::VisitDeclarations().
|
inline |
Definition at line 896 of file hydrogen.h.
Referenced by HGraphBuilder::oracle().
|
inline |
Definition at line 868 of file hydrogen.h.
Referenced by HGraphBuilder::CreateGraph(), FunctionState::FunctionState(), EffectContext::ReturnControl(), ValueContext::ReturnControl(), and TestContext::ReturnControl().
|
inline |
Definition at line 878 of file hydrogen.h.
Referenced by OptimizingCompiler::CreateGraph().
|
inline |
Definition at line 903 of file hydrogen.h.
|
inline |
Definition at line 904 of file hydrogen.h.
|
inline |
Definition at line 900 of file hydrogen.h.
References Zone::New().
|
inline |
Definition at line 894 of file hydrogen.h.
References HGraphBuilder::function_state(), and FunctionState::oracle().
|
inline |
Definition at line 886 of file hydrogen.h.
References HGraphBuilder::environment(), and HEnvironment::Pop().
|
inline |
Definition at line 885 of file hydrogen.h.
References HGraphBuilder::environment(), and HEnvironment::Push().
Referenced by ValueContext::ReturnControl(), ValueContext::ReturnInstruction(), and ValueContext::ReturnValue().
|
inline |
Definition at line 870 of file hydrogen.h.
Referenced by HGraphBuilder::BASE_EMBEDDED::BreakAndContinueScope().
|
inline |
Definition at line 873 of file hydrogen.h.
Referenced by HGraphBuilder::CreateGraph(), EffectContext::ReturnControl(), ValueContext::ReturnControl(), and TestContext::ReturnControl().
void VisitDeclarations | ( | ZoneList< Declaration * > * | declarations | ) |
Definition at line 8760 of file hydrogen.cc.
References HGraphBuilder::AddInstruction(), ASSERT, List< T, P >::at(), BitField< bool, 1, 1 >::encode(), BitField< bool, 0, 1 >::encode(), BitField< LanguageMode, 2, 2 >::encode(), HGraphBuilder::environment(), v8::internal::flags, HEnvironment::LookupContext(), and v8::internal::TENURED.
Referenced by HGraphBuilder::CreateGraph().
|
friend |
Definition at line 1246 of file hydrogen.h.
|
friend |
Definition at line 1245 of file hydrogen.h.