| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 289 private: | 289 private: |
| 290 ZoneList<BreakContinueInfo*> break_continue_info_; | 290 ZoneList<BreakContinueInfo*> break_continue_info_; |
| 291 }; | 291 }; |
| 292 | 292 |
| 293 | 293 |
| 294 class HGraph: public HSubgraph { | 294 class HGraph: public HSubgraph { |
| 295 public: | 295 public: |
| 296 explicit HGraph(CompilationInfo* info); | 296 explicit HGraph(CompilationInfo* info); |
| 297 | 297 |
| 298 CompilationInfo* info() const { return info_; } | 298 CompilationInfo* info() const { return info_; } |
| 299 |
| 300 bool AllowCodeMotion() const; |
| 301 |
| 299 const ZoneList<HBasicBlock*>* blocks() const { return &blocks_; } | 302 const ZoneList<HBasicBlock*>* blocks() const { return &blocks_; } |
| 300 const ZoneList<HPhi*>* phi_list() const { return phi_list_; } | 303 const ZoneList<HPhi*>* phi_list() const { return phi_list_; } |
| 301 Handle<String> debug_name() const { return info_->function()->debug_name(); } | 304 Handle<String> debug_name() const { return info_->function()->debug_name(); } |
| 302 HEnvironment* start_environment() const { return start_environment_; } | 305 HEnvironment* start_environment() const { return start_environment_; } |
| 303 | 306 |
| 304 void InitializeInferredTypes(); | 307 void InitializeInferredTypes(); |
| 305 void InsertTypeConversions(); | 308 void InsertTypeConversions(); |
| 306 void InsertRepresentationChanges(); | 309 void InsertRepresentationChanges(); |
| 307 bool ProcessArgumentsObject(); | 310 bool ProcessArgumentsObject(); |
| 308 void EliminateRedundantPhis(); | 311 void EliminateRedundantPhis(); |
| (...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 738 FunctionLiteral* function); | 741 FunctionLiteral* function); |
| 739 | 742 |
| 740 // Helpers for flow graph construction. | 743 // Helpers for flow graph construction. |
| 741 void LookupGlobalPropertyCell(Variable* var, | 744 void LookupGlobalPropertyCell(Variable* var, |
| 742 LookupResult* lookup, | 745 LookupResult* lookup, |
| 743 bool is_store); | 746 bool is_store); |
| 744 | 747 |
| 745 bool TryArgumentsAccess(Property* expr); | 748 bool TryArgumentsAccess(Property* expr); |
| 746 bool TryCallApply(Call* expr); | 749 bool TryCallApply(Call* expr); |
| 747 bool TryInline(Call* expr); | 750 bool TryInline(Call* expr); |
| 748 bool TryMathFunctionInline(Call* expr); | 751 bool TryInlineBuiltinFunction(Call* expr, |
| 752 HValue* receiver, |
| 753 Handle<Map> receiver_map, |
| 754 CheckType check_type); |
| 749 void TraceInline(Handle<JSFunction> target, bool result); | 755 void TraceInline(Handle<JSFunction> target, bool result); |
| 750 | 756 |
| 751 void HandleGlobalVariableAssignment(Variable* var, | 757 void HandleGlobalVariableAssignment(Variable* var, |
| 752 HValue* value, | 758 HValue* value, |
| 753 int position, | 759 int position, |
| 754 int ast_id); | 760 int ast_id); |
| 755 | 761 |
| 756 void HandlePropertyAssignment(Assignment* expr); | 762 void HandlePropertyAssignment(Assignment* expr); |
| 757 void HandleCompoundAssignment(Assignment* expr); | 763 void HandleCompoundAssignment(Assignment* expr); |
| 758 void HandlePolymorphicLoadNamedField(Property* expr, | 764 void HandlePolymorphicLoadNamedField(Property* expr, |
| 759 HValue* object, | 765 HValue* object, |
| 760 ZoneMapList* types, | 766 ZoneMapList* types, |
| 761 Handle<String> name); | 767 Handle<String> name); |
| 762 void HandlePolymorphicStoreNamedField(Assignment* expr, | 768 void HandlePolymorphicStoreNamedField(Assignment* expr, |
| 763 HValue* object, | 769 HValue* object, |
| 764 HValue* value, | 770 HValue* value, |
| 765 ZoneMapList* types, | 771 ZoneMapList* types, |
| 766 Handle<String> name); | 772 Handle<String> name); |
| 767 void HandlePolymorphicCallNamed(Call* expr, | 773 void HandlePolymorphicCallNamed(Call* expr, |
| 768 HValue* receiver, | 774 HValue* receiver, |
| 769 ZoneMapList* types, | 775 ZoneMapList* types, |
| 770 Handle<String> name); | 776 Handle<String> name); |
| 771 | 777 |
| 778 HStringCharCodeAt* BuildStringCharCodeAt(HValue* string, |
| 779 HValue* index); |
| 772 HInstruction* BuildBinaryOperation(BinaryOperation* expr, | 780 HInstruction* BuildBinaryOperation(BinaryOperation* expr, |
| 773 HValue* left, | 781 HValue* left, |
| 774 HValue* right); | 782 HValue* right); |
| 775 HInstruction* BuildIncrement(HValue* value, bool increment); | 783 HInstruction* BuildIncrement(HValue* value, bool increment); |
| 776 HLoadNamedField* BuildLoadNamedField(HValue* object, | 784 HLoadNamedField* BuildLoadNamedField(HValue* object, |
| 777 Property* expr, | 785 Property* expr, |
| 778 Handle<Map> type, | 786 Handle<Map> type, |
| 779 LookupResult* result, | 787 LookupResult* result, |
| 780 bool smi_and_map_check); | 788 bool smi_and_map_check); |
| 781 HInstruction* BuildLoadNamedGeneric(HValue* object, Property* expr); | 789 HInstruction* BuildLoadNamedGeneric(HValue* object, Property* expr); |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1057 const char* filename_; | 1065 const char* filename_; |
| 1058 HeapStringAllocator string_allocator_; | 1066 HeapStringAllocator string_allocator_; |
| 1059 StringStream trace_; | 1067 StringStream trace_; |
| 1060 int indent_; | 1068 int indent_; |
| 1061 }; | 1069 }; |
| 1062 | 1070 |
| 1063 | 1071 |
| 1064 } } // namespace v8::internal | 1072 } } // namespace v8::internal |
| 1065 | 1073 |
| 1066 #endif // V8_HYDROGEN_H_ | 1074 #endif // V8_HYDROGEN_H_ |
| OLD | NEW |