|
| HOptimizedGraphBuilderWithPositions (CompilationInfo *info) |
|
| HOptimizedGraphBuilder (CompilationInfo *info) |
|
virtual bool | BuildGraph () V8_OVERRIDE |
|
BreakAndContinueScope * | break_scope () const |
|
void | set_break_scope (BreakAndContinueScope *head) |
|
bool | inline_bailout () |
|
HValue * | context () |
|
HOsrBuilder * | osr () const |
|
void | Bailout (BailoutReason reason) |
|
HBasicBlock * | CreateJoin (HBasicBlock *first, HBasicBlock *second, BailoutId join_id) |
|
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) |
|
| DEFINE_AST_VISITOR_SUBCLASS_MEMBERS () |
|
| HGraphBuilder (CompilationInfo *info) |
|
virtual | ~HGraphBuilder () |
|
HBasicBlock * | current_block () const |
|
void | set_current_block (HBasicBlock *block) |
|
HEnvironment * | environment () const |
|
Zone * | zone () const |
|
HGraph * | graph () const |
|
Isolate * | isolate () const |
|
CompilationInfo * | top_info () |
|
HGraph * | CreateGraph () |
|
void | Push (HValue *value) |
|
HValue * | Pop () |
|
HInstruction * | AddInstruction (HInstruction *instr) |
|
void | FinishCurrentBlock (HControlInstruction *last) |
|
void | FinishExitCurrentBlock (HControlInstruction *instruction) |
|
void | Goto (HBasicBlock *from, HBasicBlock *target, FunctionState *state=NULL, bool add_simulate=true) |
|
void | Goto (HBasicBlock *target, FunctionState *state=NULL, bool add_simulate=true) |
|
void | GotoNoSimulate (HBasicBlock *from, HBasicBlock *target) |
|
void | GotoNoSimulate (HBasicBlock *target) |
|
void | AddLeaveInlined (HBasicBlock *block, HValue *return_value, FunctionState *state) |
|
void | AddLeaveInlined (HValue *return_value, FunctionState *state) |
|
template<class I > |
HInstruction * | NewUncasted () |
|
template<class I > |
I * | New () |
|
template<class I > |
HInstruction * | AddUncasted () |
|
template<class I > |
I * | Add () |
|
template<class I , class P1 > |
HInstruction * | NewUncasted (P1 p1) |
|
template<class I , class P1 > |
I * | New (P1 p1) |
|
template<class I , class P1 > |
HInstruction * | AddUncasted (P1 p1) |
|
template<class I , class P1 > |
I * | Add (P1 p1) |
|
template<class I , class P1 , class P2 > |
HInstruction * | NewUncasted (P1 p1, P2 p2) |
|
template<class I , class P1 , class P2 > |
I * | New (P1 p1, P2 p2) |
|
template<class I , class P1 , class P2 > |
HInstruction * | AddUncasted (P1 p1, P2 p2) |
|
template<class I , class P1 , class P2 > |
I * | Add (P1 p1, P2 p2) |
|
template<class I , class P1 , class P2 , class P3 > |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3) |
|
template<class I , class P1 , class P2 , class P3 > |
I * | New (P1 p1, P2 p2, P3 p3) |
|
template<class I , class P1 , class P2 , class P3 > |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3) |
|
template<class I , class P1 , class P2 , class P3 > |
I * | Add (P1 p1, P2 p2, P3 p3) |
|
template<class I , class P1 , class P2 , class P3 , class P4 > |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3, P4 p4) |
|
template<class I , class P1 , class P2 , class P3 , class P4 > |
I * | New (P1 p1, P2 p2, P3 p3, P4 p4) |
|
template<class I , class P1 , class P2 , class P3 , class P4 > |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3, P4 p4) |
|
template<class I , class P1 , class P2 , class P3 , class P4 > |
I * | Add (P1 p1, P2 p2, P3 p3, P4 p4) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 > |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 > |
I * | New (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 > |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 > |
I * | Add (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > |
I * | New (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > |
I * | Add (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > |
I * | New (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > |
I * | Add (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > |
HInstruction * | NewUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > |
I * | New (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > |
HInstruction * | AddUncasted (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) |
|
template<class I , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > |
I * | Add (P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) |
|
void | AddSimulate (BailoutId id, RemovableSimulate removable=FIXED_SIMULATE) |
|
template<> |
HDeoptimize * | Add (const char *reason, Deoptimizer::BailoutType type) |
|
template<> |
HInstruction * | AddUncasted (const char *reason, Deoptimizer::BailoutType type) |
|
template<> |
HSimulate * | Add (BailoutId id, RemovableSimulate removable) |
|
template<> |
HSimulate * | Add (BailoutId id) |
|
template<> |
HInstruction * | AddUncasted (BailoutId id) |
|
template<> |
HReturn * | Add (HValue *value) |
|
template<> |
HReturn * | Add (HConstant *value) |
|
template<> |
HInstruction * | AddUncasted (HValue *value) |
|
template<> |
HInstruction * | AddUncasted (HConstant *value) |
|
template<> |
HCallRuntime * | Add (Handle< String > name, const Runtime::Function *c_function, int argument_count) |
|
template<> |
HInstruction * | AddUncasted (Handle< String > name, const Runtime::Function *c_function, int argument_count) |
|
template<> |
HContext * | New () |
|
template<> |
HInstruction * | NewUncasted () |
|
|
typedef void(HOptimizedGraphBuilder::* | InlineFunctionGenerator )(CallRuntime *call) |
|
void | set_function_state (FunctionState *state) |
|
AstContext * | ast_context () const |
|
void | set_ast_context (AstContext *context) |
|
CompilationInfo * | current_info () const |
|
AstContext * | call_context () const |
|
HBasicBlock * | function_return () const |
|
TestContext * | inlined_test_context () const |
|
void | ClearInlinedTestContext () |
|
StrictMode | function_strict_mode () |
|
void | VisitDelete (UnaryOperation *expr) |
|
void | VisitVoid (UnaryOperation *expr) |
|
void | VisitTypeof (UnaryOperation *expr) |
|
void | VisitNot (UnaryOperation *expr) |
|
void | VisitComma (BinaryOperation *expr) |
|
void | VisitLogicalExpression (BinaryOperation *expr) |
|
void | VisitArithmeticExpression (BinaryOperation *expr) |
|
bool | PreProcessOsrEntry (IterationStatement *statement) |
|
void | VisitLoopBody (IterationStatement *stmt, HBasicBlock *loop_entry, BreakAndContinueInfo *break_info) |
|
HBasicBlock * | CreateLoop (IterationStatement *statement, HBasicBlock *loop_entry, HBasicBlock *body_exit, HBasicBlock *loop_successor, HBasicBlock *break_block) |
|
HBasicBlock * | BuildLoopEntry () |
|
HBasicBlock * | BuildLoopEntry (IterationStatement *statement) |
|
HBasicBlock * | JoinContinue (IterationStatement *statement, HBasicBlock *exit_block, HBasicBlock *continue_block) |
|
HValue * | Top () const |
|
void | Drop (int n) |
|
void | Bind (Variable *var, HValue *value) |
|
bool | IsEligibleForEnvironmentLivenessAnalysis (Variable *var, int index, HValue *value, HEnvironment *env) |
|
void | BindIfLive (Variable *var, HValue *value) |
|
HValue * | LookupAndMakeLive (Variable *var) |
|
void | VisitForValue (Expression *expr, ArgumentsAllowedFlag flag=ARGUMENTS_NOT_ALLOWED) |
|
void | VisitForTypeOf (Expression *expr) |
|
void | VisitForEffect (Expression *expr) |
|
void | VisitForControl (Expression *expr, HBasicBlock *true_block, HBasicBlock *false_block) |
|
void | VisitExpressions (ZoneList< Expression * > *exprs) |
|
template<class Instruction > |
HInstruction * | PreProcessCall (Instruction *call) |
|
void | PushArgumentsFromEnvironment (int count) |
|
void | SetUpScope (Scope *scope) |
|
virtual void | VisitStatements (ZoneList< Statement * > *statements) V8_OVERRIDE |
|
Type * | ToType (Handle< Map > map) |
|
HBasicBlock * | CreateBasicBlock (HEnvironment *env) |
|
HBasicBlock * | CreateLoopHeaderBlock () |
|
HValue * | BuildCheckHeapObject (HValue *object) |
|
HValue * | BuildCheckMap (HValue *obj, Handle< Map > map) |
|
HValue * | BuildCheckString (HValue *string) |
|
HValue * | BuildWrapReceiver (HValue *object, HValue *function) |
|
HValue * | BuildCheckForCapacityGrow (HValue *object, HValue *elements, ElementsKind kind, HValue *length, HValue *key, bool is_js_array, PropertyAccessType access_type) |
|
HValue * | BuildCopyElementsOnWrite (HValue *object, HValue *elements, ElementsKind kind, HValue *length) |
|
void | BuildTransitionElementsKind (HValue *object, HValue *map, ElementsKind from_kind, ElementsKind to_kind, bool is_jsarray) |
|
HValue * | BuildNumberToString (HValue *object, Type *type) |
|
HValue * | BuildUncheckedDictionaryElementLoad (HValue *receiver, HValue *key) |
|
HValue * | BuildRegExpConstructResult (HValue *length, HValue *index, HValue *input) |
|
HAllocate * | BuildAllocate (HValue *object_size, HType type, InstanceType instance_type, HAllocationMode allocation_mode) |
|
HValue * | BuildAddStringLengths (HValue *left_length, HValue *right_length) |
|
HValue * | BuildCreateConsString (HValue *length, HValue *left, HValue *right, HAllocationMode allocation_mode) |
|
void | BuildCopySeqStringChars (HValue *src, HValue *src_offset, String::Encoding src_encoding, HValue *dst, HValue *dst_offset, String::Encoding dst_encoding, HValue *length) |
|
HValue * | BuildObjectSizeAlignment (HValue *unaligned_size, int header_size) |
|
HValue * | BuildUncheckedStringAdd (HValue *left, HValue *right, HAllocationMode allocation_mode) |
|
HValue * | BuildStringAdd (HValue *left, HValue *right, HAllocationMode allocation_mode) |
|
HInstruction * | BuildUncheckedMonomorphicElementAccess (HValue *checked_object, HValue *key, HValue *val, bool is_js_array, ElementsKind elements_kind, PropertyAccessType access_type, LoadKeyedHoleMode load_mode, KeyedAccessStoreMode store_mode) |
|
HInstruction * | AddElementAccess (HValue *elements, HValue *checked_key, HValue *val, HValue *dependency, ElementsKind elements_kind, PropertyAccessType access_type, LoadKeyedHoleMode load_mode=NEVER_RETURN_HOLE) |
|
HInstruction * | AddLoadStringInstanceType (HValue *string) |
|
HInstruction * | AddLoadStringLength (HValue *string) |
|
HStoreNamedField * | AddStoreMapNoWriteBarrier (HValue *object, HValue *map) |
|
HStoreNamedField * | AddStoreMapConstant (HValue *object, Handle< Map > map) |
|
HStoreNamedField * | AddStoreMapConstantNoWriteBarrier (HValue *object, Handle< Map > map) |
|
HLoadNamedField * | AddLoadElements (HValue *object) |
|
bool | MatchRotateRight (HValue *left, HValue *right, HValue **operand, HValue **shift_amount) |
|
HValue * | BuildBinaryOperation (Token::Value op, HValue *left, HValue *right, Type *left_type, Type *right_type, Type *result_type, Maybe< int > fixed_right_arg, HAllocationMode allocation_mode) |
|
HLoadNamedField * | AddLoadFixedArrayLength (HValue *object) |
|
HValue * | AddLoadJSBuiltin (Builtins::JavaScript builtin) |
|
HValue * | EnforceNumberType (HValue *number, Type *expected) |
|
HValue * | TruncateToNumber (HValue *value, Type **expected) |
|
void | FinishExitWithHardDeoptimization (const char *reason) |
|
void | AddIncrementCounter (StatsCounter *counter) |
|
HValue * | BuildNewElementsCapacity (HValue *old_capacity) |
|
void | BuildNewSpaceArrayCheck (HValue *length, ElementsKind kind) |
|
HValue * | BuildAllocateArrayFromLength (JSArrayBuilder *array_builder, HValue *length_argument) |
|
HValue * | BuildAllocateElements (ElementsKind kind, HValue *capacity) |
|
void | BuildInitializeElementsHeader (HValue *elements, ElementsKind kind, HValue *capacity) |
|
HValue * | BuildAllocateElementsAndInitializeElementsHeader (ElementsKind kind, HValue *capacity) |
|
HInnerAllocatedObject * | BuildJSArrayHeader (HValue *array, HValue *array_map, AllocationSiteMode mode, ElementsKind elements_kind, HValue *allocation_site_payload, HValue *length_field) |
|
HValue * | BuildGrowElementsCapacity (HValue *object, HValue *elements, ElementsKind kind, ElementsKind new_kind, HValue *length, HValue *new_capacity) |
|
void | BuildFillElementsWithHole (HValue *elements, ElementsKind elements_kind, HValue *from, HValue *to) |
|
void | BuildCopyElements (HValue *from_elements, ElementsKind from_elements_kind, HValue *to_elements, ElementsKind to_elements_kind, HValue *length, HValue *capacity) |
|
HValue * | BuildCloneShallowArray (HValue *boilerplate, HValue *allocation_site, AllocationSiteMode mode, ElementsKind kind, int length) |
|
HValue * | BuildElementIndexHash (HValue *index) |
|
void | BuildCompareNil (HValue *value, Type *type, HIfContinuation *continuation) |
|
void | BuildCreateAllocationMemento (HValue *previous_object, HValue *previous_object_size, HValue *payload) |
|
HInstruction * | BuildConstantMapCheck (Handle< JSObject > constant, CompilationInfo *info) |
|
HInstruction * | BuildCheckPrototypeMaps (Handle< JSObject > prototype, Handle< JSObject > holder) |
|
HInstruction * | BuildGetNativeContext (HValue *closure) |
|
HInstruction * | BuildGetNativeContext () |
|
HInstruction * | BuildGetArrayFunction () |
|
void | SetSourcePosition (int position) |
|
void | EnterInlinedSource (int start_position, int id) |
|
HSourcePosition | ScriptPositionToSourcePosition (int position) |
|
HSourcePosition | source_position () |
|
void | set_source_position (HSourcePosition position) |
|
template<typename ViewClass > |
void | BuildArrayBufferViewInitialization (HValue *obj, HValue *buffer, HValue *byte_offset, HValue *byte_length) |
|
static const
InlineFunctionGenerator | kInlineFunctionGenerators [] |
|
static const int | kMaxCallPolymorphism = 4 |
|
static const int | kMaxLoadPolymorphism = 4 |
|
static const int | kMaxStorePolymorphism = 4 |
|
static const int | kUnlimitedMaxInlinedSourceSize = 100000 |
|
static const int | kUnlimitedMaxInlinedNodes = 10000 |
|
static const int | kUnlimitedMaxInlinedNodesCumulative = 10000 |
|
static const int | kMaxFastLiteralDepth = 3 |
|
static const int | kMaxFastLiteralProperties = 8 |
|