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 717 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
728 } | 728 } |
729 | 729 |
730 // Generators for inline runtime functions. | 730 // Generators for inline runtime functions. |
731 #define INLINE_FUNCTION_GENERATOR_DECLARATION(Name, argc, ressize) \ | 731 #define INLINE_FUNCTION_GENERATOR_DECLARATION(Name, argc, ressize) \ |
732 void Generate##Name(CallRuntime* call); | 732 void Generate##Name(CallRuntime* call); |
733 | 733 |
734 INLINE_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION) | 734 INLINE_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION) |
735 INLINE_RUNTIME_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION) | 735 INLINE_RUNTIME_FUNCTION_LIST(INLINE_FUNCTION_GENERATOR_DECLARATION) |
736 #undef INLINE_FUNCTION_GENERATOR_DECLARATION | 736 #undef INLINE_FUNCTION_GENERATOR_DECLARATION |
737 | 737 |
| 738 void VisitDelete(UnaryOperation* expr); |
| 739 void VisitVoid(UnaryOperation* expr); |
| 740 void VisitTypeof(UnaryOperation* expr); |
| 741 void VisitAdd(UnaryOperation* expr); |
| 742 void VisitSub(UnaryOperation* expr); |
| 743 void VisitBitNot(UnaryOperation* expr); |
| 744 void VisitNot(UnaryOperation* expr); |
| 745 |
| 746 void VisitComma(BinaryOperation* expr); |
| 747 void VisitAndOr(BinaryOperation* expr, bool is_logical_and); |
| 748 void VisitCommon(BinaryOperation* expr); |
| 749 |
738 void PreProcessOsrEntry(IterationStatement* statement); | 750 void PreProcessOsrEntry(IterationStatement* statement); |
739 // True iff. we are compiling for OSR and the statement is the entry. | 751 // True iff. we are compiling for OSR and the statement is the entry. |
740 bool HasOsrEntryAt(IterationStatement* statement); | 752 bool HasOsrEntryAt(IterationStatement* statement); |
741 | 753 |
742 HBasicBlock* CreateJoin(HBasicBlock* first, | 754 HBasicBlock* CreateJoin(HBasicBlock* first, |
743 HBasicBlock* second, | 755 HBasicBlock* second, |
744 int join_id); | 756 int join_id); |
745 | 757 |
746 // Create a back edge in the flow graph. body_exit is the predecessor | 758 // Create a back edge in the flow graph. body_exit is the predecessor |
747 // block and loop_entry is the successor block. loop_successor is the | 759 // block and loop_entry is the successor block. loop_successor is the |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
841 void HandlePolymorphicCallNamed(Call* expr, | 853 void HandlePolymorphicCallNamed(Call* expr, |
842 HValue* receiver, | 854 HValue* receiver, |
843 ZoneMapList* types, | 855 ZoneMapList* types, |
844 Handle<String> name); | 856 Handle<String> name); |
845 | 857 |
846 HStringCharCodeAt* BuildStringCharCodeAt(HValue* string, | 858 HStringCharCodeAt* BuildStringCharCodeAt(HValue* string, |
847 HValue* index); | 859 HValue* index); |
848 HInstruction* BuildBinaryOperation(BinaryOperation* expr, | 860 HInstruction* BuildBinaryOperation(BinaryOperation* expr, |
849 HValue* left, | 861 HValue* left, |
850 HValue* right); | 862 HValue* right); |
| 863 HInstruction* BuildBinaryOperation(Token::Value op, |
| 864 HValue* left, |
| 865 HValue* right, |
| 866 TypeInfo info); |
851 HInstruction* BuildIncrement(HValue* value, | 867 HInstruction* BuildIncrement(HValue* value, |
852 bool increment, | 868 bool increment, |
853 CountOperation* expr); | 869 CountOperation* expr); |
854 HLoadNamedField* BuildLoadNamedField(HValue* object, | 870 HLoadNamedField* BuildLoadNamedField(HValue* object, |
855 Property* expr, | 871 Property* expr, |
856 Handle<Map> type, | 872 Handle<Map> type, |
857 LookupResult* result, | 873 LookupResult* result, |
858 bool smi_and_map_check); | 874 bool smi_and_map_check); |
859 HInstruction* BuildLoadNamedGeneric(HValue* object, Property* expr); | 875 HInstruction* BuildLoadNamedGeneric(HValue* object, Property* expr); |
860 HInstruction* BuildLoadKeyedFastElement(HValue* object, | 876 HInstruction* BuildLoadKeyedFastElement(HValue* object, |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1158 const char* filename_; | 1174 const char* filename_; |
1159 HeapStringAllocator string_allocator_; | 1175 HeapStringAllocator string_allocator_; |
1160 StringStream trace_; | 1176 StringStream trace_; |
1161 int indent_; | 1177 int indent_; |
1162 }; | 1178 }; |
1163 | 1179 |
1164 | 1180 |
1165 } } // namespace v8::internal | 1181 } } // namespace v8::internal |
1166 | 1182 |
1167 #endif // V8_HYDROGEN_H_ | 1183 #endif // V8_HYDROGEN_H_ |
OLD | NEW |