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 903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
914 HInstruction* BuildUncheckedMonomorphicElementAccess( | 914 HInstruction* BuildUncheckedMonomorphicElementAccess( |
915 HValue* object, | 915 HValue* object, |
916 HValue* key, | 916 HValue* key, |
917 HValue* val, | 917 HValue* val, |
918 HCheckMaps* mapcheck, | 918 HCheckMaps* mapcheck, |
919 bool is_js_array, | 919 bool is_js_array, |
920 ElementsKind elements_kind, | 920 ElementsKind elements_kind, |
921 bool is_store, | 921 bool is_store, |
922 Representation checked_index_representation = Representation::None()); | 922 Representation checked_index_representation = Representation::None()); |
923 | 923 |
| 924 HInstruction* BuildFastArrayLengthLoad(HValue* object, HValue* typecheck); |
| 925 |
924 HInstruction* BuildStoreMap(HValue* object, HValue* map, BailoutId id); | 926 HInstruction* BuildStoreMap(HValue* object, HValue* map, BailoutId id); |
925 HInstruction* BuildStoreMap(HValue* object, Handle<Map> map, BailoutId id); | 927 HInstruction* BuildStoreMap(HValue* object, Handle<Map> map, BailoutId id); |
926 | 928 |
927 class CheckBuilder { | 929 class CheckBuilder { |
928 public: | 930 public: |
929 CheckBuilder(HGraphBuilder* builder, BailoutId id); | 931 CheckBuilder(HGraphBuilder* builder, BailoutId id); |
930 ~CheckBuilder() { | 932 ~CheckBuilder() { |
931 if (!finished_) End(); | 933 if (!finished_) End(); |
932 } | 934 } |
933 | 935 |
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1304 HValue* value, | 1306 HValue* value, |
1305 int position, | 1307 int position, |
1306 BailoutId ast_id); | 1308 BailoutId ast_id); |
1307 | 1309 |
1308 void HandlePropertyAssignment(Assignment* expr); | 1310 void HandlePropertyAssignment(Assignment* expr); |
1309 void HandleCompoundAssignment(Assignment* expr); | 1311 void HandleCompoundAssignment(Assignment* expr); |
1310 void HandlePolymorphicLoadNamedField(Property* expr, | 1312 void HandlePolymorphicLoadNamedField(Property* expr, |
1311 HValue* object, | 1313 HValue* object, |
1312 SmallMapList* types, | 1314 SmallMapList* types, |
1313 Handle<String> name); | 1315 Handle<String> name); |
| 1316 bool HandlePolymorphicArrayLengthLoad(Property* expr, |
| 1317 HValue* object, |
| 1318 SmallMapList* types, |
| 1319 Handle<String> name); |
1314 void HandlePolymorphicStoreNamedField(Assignment* expr, | 1320 void HandlePolymorphicStoreNamedField(Assignment* expr, |
1315 HValue* object, | 1321 HValue* object, |
1316 HValue* value, | 1322 HValue* value, |
1317 SmallMapList* types, | 1323 SmallMapList* types, |
1318 Handle<String> name); | 1324 Handle<String> name); |
1319 void HandlePolymorphicCallNamed(Call* expr, | 1325 void HandlePolymorphicCallNamed(Call* expr, |
1320 HValue* receiver, | 1326 HValue* receiver, |
1321 SmallMapList* types, | 1327 SmallMapList* types, |
1322 Handle<String> name); | 1328 Handle<String> name); |
1323 void HandleLiteralCompareTypeof(CompareOperation* expr, | 1329 void HandleLiteralCompareTypeof(CompareOperation* expr, |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1376 Property* expr); | 1382 Property* expr); |
1377 HInstruction* BuildCallGetter(HValue* object, | 1383 HInstruction* BuildCallGetter(HValue* object, |
1378 Handle<Map> map, | 1384 Handle<Map> map, |
1379 Handle<JSFunction> getter, | 1385 Handle<JSFunction> getter, |
1380 Handle<JSObject> holder); | 1386 Handle<JSObject> holder); |
1381 HInstruction* BuildLoadNamedMonomorphic(HValue* object, | 1387 HInstruction* BuildLoadNamedMonomorphic(HValue* object, |
1382 Handle<String> name, | 1388 Handle<String> name, |
1383 Property* expr, | 1389 Property* expr, |
1384 Handle<Map> map); | 1390 Handle<Map> map); |
1385 | 1391 |
| 1392 void AddCheckMap(HValue* object, Handle<Map> map); |
| 1393 |
1386 void AddCheckMapsWithTransitions(HValue* object, | 1394 void AddCheckMapsWithTransitions(HValue* object, |
1387 Handle<Map> map); | 1395 Handle<Map> map); |
1388 | 1396 |
1389 HInstruction* BuildStoreNamedField(HValue* object, | 1397 HInstruction* BuildStoreNamedField(HValue* object, |
1390 Handle<String> name, | 1398 Handle<String> name, |
1391 HValue* value, | 1399 HValue* value, |
1392 Handle<Map> map, | 1400 Handle<Map> map, |
1393 LookupResult* lookup); | 1401 LookupResult* lookup); |
1394 HInstruction* BuildStoreNamedGeneric(HValue* object, | 1402 HInstruction* BuildStoreNamedGeneric(HValue* object, |
1395 Handle<String> name, | 1403 Handle<String> name, |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1679 EmbeddedVector<char, 64> filename_; | 1687 EmbeddedVector<char, 64> filename_; |
1680 HeapStringAllocator string_allocator_; | 1688 HeapStringAllocator string_allocator_; |
1681 StringStream trace_; | 1689 StringStream trace_; |
1682 int indent_; | 1690 int indent_; |
1683 }; | 1691 }; |
1684 | 1692 |
1685 | 1693 |
1686 } } // namespace v8::internal | 1694 } } // namespace v8::internal |
1687 | 1695 |
1688 #endif // V8_HYDROGEN_H_ | 1696 #endif // V8_HYDROGEN_H_ |
OLD | NEW |