| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 985 protected: | 985 protected: |
| 986 virtual bool BuildGraph() = 0; | 986 virtual bool BuildGraph() = 0; |
| 987 | 987 |
| 988 HBasicBlock* CreateBasicBlock(HEnvironment* env); | 988 HBasicBlock* CreateBasicBlock(HEnvironment* env); |
| 989 HBasicBlock* CreateLoopHeaderBlock(); | 989 HBasicBlock* CreateLoopHeaderBlock(); |
| 990 | 990 |
| 991 HValue* BuildCheckNonSmi(HValue* object); | 991 HValue* BuildCheckNonSmi(HValue* object); |
| 992 HValue* BuildCheckMap(HValue* obj, Handle<Map> map); | 992 HValue* BuildCheckMap(HValue* obj, Handle<Map> map); |
| 993 | 993 |
| 994 // Building common constructs | 994 // Building common constructs |
| 995 HLoadNamedField* DoBuildLoadNamedField(HValue* object, | |
| 996 bool inobject, | |
| 997 Representation representation, | |
| 998 int offset); | |
| 999 | |
| 1000 HInstruction* BuildExternalArrayElementAccess( | 995 HInstruction* BuildExternalArrayElementAccess( |
| 1001 HValue* external_elements, | 996 HValue* external_elements, |
| 1002 HValue* checked_key, | 997 HValue* checked_key, |
| 1003 HValue* val, | 998 HValue* val, |
| 1004 HValue* dependency, | 999 HValue* dependency, |
| 1005 ElementsKind elements_kind, | 1000 ElementsKind elements_kind, |
| 1006 bool is_store); | 1001 bool is_store); |
| 1007 | 1002 |
| 1008 HInstruction* BuildFastElementAccess( | 1003 HInstruction* BuildFastElementAccess( |
| 1009 HValue* elements, | 1004 HValue* elements, |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1032 HValue* key, | 1027 HValue* key, |
| 1033 HValue* val, | 1028 HValue* val, |
| 1034 HCheckMaps* mapcheck, | 1029 HCheckMaps* mapcheck, |
| 1035 bool is_js_array, | 1030 bool is_js_array, |
| 1036 ElementsKind elements_kind, | 1031 ElementsKind elements_kind, |
| 1037 bool is_store, | 1032 bool is_store, |
| 1038 LoadKeyedHoleMode load_mode, | 1033 LoadKeyedHoleMode load_mode, |
| 1039 KeyedAccessStoreMode store_mode, | 1034 KeyedAccessStoreMode store_mode, |
| 1040 Representation checked_index_representation = Representation::None()); | 1035 Representation checked_index_representation = Representation::None()); |
| 1041 | 1036 |
| 1042 HInstruction* BuildStoreMap(HValue* object, HValue* map); | 1037 HLoadNamedField* AddLoad( |
| 1043 HInstruction* BuildStoreMap(HValue* object, Handle<Map> map); | 1038 HValue *object, |
| 1039 HObjectAccess access, |
| 1040 HValue *typecheck = NULL, |
| 1041 Representation representation = Representation::Tagged()); |
| 1042 |
| 1043 HLoadNamedField* BuildLoadNamedField( |
| 1044 HValue* object, |
| 1045 HObjectAccess access, |
| 1046 Representation representation); |
| 1047 |
| 1048 HStoreNamedField* AddStore( |
| 1049 HValue *object, |
| 1050 HObjectAccess access, |
| 1051 HValue *val, |
| 1052 Representation representation = Representation::Tagged()); |
| 1053 |
| 1054 HStoreNamedField* AddStoreMapConstant(HValue *object, Handle<Map>); |
| 1044 | 1055 |
| 1045 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck = NULL); | 1056 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck = NULL); |
| 1046 | 1057 |
| 1047 class IfBuilder { | 1058 class IfBuilder { |
| 1048 public: | 1059 public: |
| 1049 explicit IfBuilder(HGraphBuilder* builder, | 1060 explicit IfBuilder(HGraphBuilder* builder, |
| 1050 int position = RelocInfo::kNoPosition); | 1061 int position = RelocInfo::kNoPosition); |
| 1051 IfBuilder(HGraphBuilder* builder, | 1062 IfBuilder(HGraphBuilder* builder, |
| 1052 HIfContinuation* continuation); | 1063 HIfContinuation* continuation); |
| 1053 | 1064 |
| (...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1685 | 1696 |
| 1686 HValue* HandleKeyedElementAccess(HValue* obj, | 1697 HValue* HandleKeyedElementAccess(HValue* obj, |
| 1687 HValue* key, | 1698 HValue* key, |
| 1688 HValue* val, | 1699 HValue* val, |
| 1689 Expression* expr, | 1700 Expression* expr, |
| 1690 BailoutId ast_id, | 1701 BailoutId ast_id, |
| 1691 int position, | 1702 int position, |
| 1692 bool is_store, | 1703 bool is_store, |
| 1693 bool* has_side_effects); | 1704 bool* has_side_effects); |
| 1694 | 1705 |
| 1695 HLoadNamedField* BuildLoadNamedField(HValue* object, | |
| 1696 Handle<Map> map, | |
| 1697 LookupResult* result); | |
| 1698 HInstruction* BuildLoadNamedGeneric(HValue* object, | 1706 HInstruction* BuildLoadNamedGeneric(HValue* object, |
| 1699 Handle<String> name, | 1707 Handle<String> name, |
| 1700 Property* expr); | 1708 Property* expr); |
| 1701 HInstruction* BuildCallGetter(HValue* object, | 1709 HInstruction* BuildCallGetter(HValue* object, |
| 1702 Handle<Map> map, | 1710 Handle<Map> map, |
| 1703 Handle<JSFunction> getter, | 1711 Handle<JSFunction> getter, |
| 1704 Handle<JSObject> holder); | 1712 Handle<JSObject> holder); |
| 1705 HInstruction* BuildLoadNamedMonomorphic(HValue* object, | 1713 HInstruction* BuildLoadNamedMonomorphic(HValue* object, |
| 1706 Handle<String> name, | 1714 Handle<String> name, |
| 1707 Property* expr, | 1715 Property* expr, |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2025 EmbeddedVector<char, 64> filename_; | 2033 EmbeddedVector<char, 64> filename_; |
| 2026 HeapStringAllocator string_allocator_; | 2034 HeapStringAllocator string_allocator_; |
| 2027 StringStream trace_; | 2035 StringStream trace_; |
| 2028 int indent_; | 2036 int indent_; |
| 2029 }; | 2037 }; |
| 2030 | 2038 |
| 2031 | 2039 |
| 2032 } } // namespace v8::internal | 2040 } } // namespace v8::internal |
| 2033 | 2041 |
| 2034 #endif // V8_HYDROGEN_H_ | 2042 #endif // V8_HYDROGEN_H_ |
| OLD | NEW |