OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_HYDROGEN_H_ | 5 #ifndef V8_HYDROGEN_H_ |
6 #define V8_HYDROGEN_H_ | 6 #define V8_HYDROGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
(...skipping 2384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2395 Handle<JSFunction> caller, | 2395 Handle<JSFunction> caller, |
2396 const char* failure_reason); | 2396 const char* failure_reason); |
2397 | 2397 |
2398 void HandleGlobalVariableAssignment(Variable* var, | 2398 void HandleGlobalVariableAssignment(Variable* var, |
2399 HValue* value, | 2399 HValue* value, |
2400 BailoutId ast_id); | 2400 BailoutId ast_id); |
2401 | 2401 |
2402 void HandlePropertyAssignment(Assignment* expr); | 2402 void HandlePropertyAssignment(Assignment* expr); |
2403 void HandleCompoundAssignment(Assignment* expr); | 2403 void HandleCompoundAssignment(Assignment* expr); |
2404 void HandlePolymorphicNamedFieldAccess(PropertyAccessType access_type, | 2404 void HandlePolymorphicNamedFieldAccess(PropertyAccessType access_type, |
| 2405 Expression* expr, |
2405 BailoutId ast_id, | 2406 BailoutId ast_id, |
2406 BailoutId return_id, | 2407 BailoutId return_id, |
2407 HValue* object, | 2408 HValue* object, |
2408 HValue* value, | 2409 HValue* value, |
2409 SmallMapList* types, | 2410 SmallMapList* types, |
2410 Handle<String> name); | 2411 Handle<String> name); |
2411 | 2412 |
2412 HValue* BuildAllocateExternalElements( | 2413 HValue* BuildAllocateExternalElements( |
2413 ExternalArrayType array_type, | 2414 ExternalArrayType array_type, |
2414 bool is_zero_byte_offset, | 2415 bool is_zero_byte_offset, |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2588 HValue* index); | 2589 HValue* index); |
2589 | 2590 |
2590 HValue* BuildBinaryOperation( | 2591 HValue* BuildBinaryOperation( |
2591 BinaryOperation* expr, | 2592 BinaryOperation* expr, |
2592 HValue* left, | 2593 HValue* left, |
2593 HValue* right, | 2594 HValue* right, |
2594 PushBeforeSimulateBehavior push_sim_result); | 2595 PushBeforeSimulateBehavior push_sim_result); |
2595 HInstruction* BuildIncrement(bool returns_original_input, | 2596 HInstruction* BuildIncrement(bool returns_original_input, |
2596 CountOperation* expr); | 2597 CountOperation* expr); |
2597 HInstruction* BuildKeyedGeneric(PropertyAccessType access_type, | 2598 HInstruction* BuildKeyedGeneric(PropertyAccessType access_type, |
| 2599 Expression* expr, |
2598 HValue* object, | 2600 HValue* object, |
2599 HValue* key, | 2601 HValue* key, |
2600 HValue* value); | 2602 HValue* value); |
2601 | 2603 |
2602 HInstruction* TryBuildConsolidatedElementLoad(HValue* object, | 2604 HInstruction* TryBuildConsolidatedElementLoad(HValue* object, |
2603 HValue* key, | 2605 HValue* key, |
2604 HValue* val, | 2606 HValue* val, |
2605 SmallMapList* maps); | 2607 SmallMapList* maps); |
2606 | 2608 |
2607 LoadKeyedHoleMode BuildKeyedHoleMode(Handle<Map> map); | 2609 LoadKeyedHoleMode BuildKeyedHoleMode(Handle<Map> map); |
2608 | 2610 |
2609 HInstruction* BuildMonomorphicElementAccess(HValue* object, | 2611 HInstruction* BuildMonomorphicElementAccess(HValue* object, |
2610 HValue* key, | 2612 HValue* key, |
2611 HValue* val, | 2613 HValue* val, |
2612 HValue* dependency, | 2614 HValue* dependency, |
2613 Handle<Map> map, | 2615 Handle<Map> map, |
2614 PropertyAccessType access_type, | 2616 PropertyAccessType access_type, |
2615 KeyedAccessStoreMode store_mode); | 2617 KeyedAccessStoreMode store_mode); |
2616 | 2618 |
2617 HValue* HandlePolymorphicElementAccess(HValue* object, | 2619 HValue* HandlePolymorphicElementAccess(Expression* expr, |
| 2620 HValue* object, |
2618 HValue* key, | 2621 HValue* key, |
2619 HValue* val, | 2622 HValue* val, |
2620 SmallMapList* maps, | 2623 SmallMapList* maps, |
2621 PropertyAccessType access_type, | 2624 PropertyAccessType access_type, |
2622 KeyedAccessStoreMode store_mode, | 2625 KeyedAccessStoreMode store_mode, |
2623 bool* has_side_effects); | 2626 bool* has_side_effects); |
2624 | 2627 |
2625 HValue* HandleKeyedElementAccess(HValue* obj, | 2628 HValue* HandleKeyedElementAccess(HValue* obj, |
2626 HValue* key, | 2629 HValue* key, |
2627 HValue* val, | 2630 HValue* val, |
2628 Expression* expr, | 2631 Expression* expr, |
2629 PropertyAccessType access_type, | 2632 PropertyAccessType access_type, |
2630 bool* has_side_effects); | 2633 bool* has_side_effects); |
2631 | 2634 |
2632 HInstruction* BuildNamedGeneric(PropertyAccessType access, | 2635 HInstruction* BuildNamedGeneric(PropertyAccessType access, |
| 2636 Expression* expr, |
2633 HValue* object, | 2637 HValue* object, |
2634 Handle<String> name, | 2638 Handle<String> name, |
2635 HValue* value, | 2639 HValue* value, |
2636 bool is_uninitialized = false); | 2640 bool is_uninitialized = false); |
2637 | 2641 |
2638 HCheckMaps* AddCheckMap(HValue* object, Handle<Map> map); | 2642 HCheckMaps* AddCheckMap(HValue* object, Handle<Map> map); |
2639 | 2643 |
2640 void BuildLoad(Property* property, | 2644 void BuildLoad(Property* property, |
2641 BailoutId ast_id); | 2645 BailoutId ast_id); |
2642 void PushLoad(Property* property, | 2646 void PushLoad(Property* property, |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2894 } | 2898 } |
2895 | 2899 |
2896 private: | 2900 private: |
2897 HGraphBuilder* builder_; | 2901 HGraphBuilder* builder_; |
2898 }; | 2902 }; |
2899 | 2903 |
2900 | 2904 |
2901 } } // namespace v8::internal | 2905 } } // namespace v8::internal |
2902 | 2906 |
2903 #endif // V8_HYDROGEN_H_ | 2907 #endif // V8_HYDROGEN_H_ |
OLD | NEW |