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 2397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2408 Handle<JSFunction> caller, | 2408 Handle<JSFunction> caller, |
2409 const char* failure_reason); | 2409 const char* failure_reason); |
2410 | 2410 |
2411 void HandleGlobalVariableAssignment(Variable* var, | 2411 void HandleGlobalVariableAssignment(Variable* var, |
2412 HValue* value, | 2412 HValue* value, |
2413 BailoutId ast_id); | 2413 BailoutId ast_id); |
2414 | 2414 |
2415 void HandlePropertyAssignment(Assignment* expr); | 2415 void HandlePropertyAssignment(Assignment* expr); |
2416 void HandleCompoundAssignment(Assignment* expr); | 2416 void HandleCompoundAssignment(Assignment* expr); |
2417 void HandlePolymorphicNamedFieldAccess(PropertyAccessType access_type, | 2417 void HandlePolymorphicNamedFieldAccess(PropertyAccessType access_type, |
| 2418 Expression* expr, |
2418 BailoutId ast_id, | 2419 BailoutId ast_id, |
2419 BailoutId return_id, | 2420 BailoutId return_id, |
2420 HValue* object, | 2421 HValue* object, |
2421 HValue* value, | 2422 HValue* value, |
2422 SmallMapList* types, | 2423 SmallMapList* types, |
2423 Handle<String> name); | 2424 Handle<String> name); |
2424 | 2425 |
2425 HValue* BuildAllocateExternalElements( | 2426 HValue* BuildAllocateExternalElements( |
2426 ExternalArrayType array_type, | 2427 ExternalArrayType array_type, |
2427 bool is_zero_byte_offset, | 2428 bool is_zero_byte_offset, |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2585 HValue* index); | 2586 HValue* index); |
2586 | 2587 |
2587 HValue* BuildBinaryOperation( | 2588 HValue* BuildBinaryOperation( |
2588 BinaryOperation* expr, | 2589 BinaryOperation* expr, |
2589 HValue* left, | 2590 HValue* left, |
2590 HValue* right, | 2591 HValue* right, |
2591 PushBeforeSimulateBehavior push_sim_result); | 2592 PushBeforeSimulateBehavior push_sim_result); |
2592 HInstruction* BuildIncrement(bool returns_original_input, | 2593 HInstruction* BuildIncrement(bool returns_original_input, |
2593 CountOperation* expr); | 2594 CountOperation* expr); |
2594 HInstruction* BuildKeyedGeneric(PropertyAccessType access_type, | 2595 HInstruction* BuildKeyedGeneric(PropertyAccessType access_type, |
| 2596 Expression* expr, |
2595 HValue* object, | 2597 HValue* object, |
2596 HValue* key, | 2598 HValue* key, |
2597 HValue* value); | 2599 HValue* value); |
2598 | 2600 |
2599 HInstruction* TryBuildConsolidatedElementLoad(HValue* object, | 2601 HInstruction* TryBuildConsolidatedElementLoad(HValue* object, |
2600 HValue* key, | 2602 HValue* key, |
2601 HValue* val, | 2603 HValue* val, |
2602 SmallMapList* maps); | 2604 SmallMapList* maps); |
2603 | 2605 |
2604 LoadKeyedHoleMode BuildKeyedHoleMode(Handle<Map> map); | 2606 LoadKeyedHoleMode BuildKeyedHoleMode(Handle<Map> map); |
2605 | 2607 |
2606 HInstruction* BuildMonomorphicElementAccess(HValue* object, | 2608 HInstruction* BuildMonomorphicElementAccess(HValue* object, |
2607 HValue* key, | 2609 HValue* key, |
2608 HValue* val, | 2610 HValue* val, |
2609 HValue* dependency, | 2611 HValue* dependency, |
2610 Handle<Map> map, | 2612 Handle<Map> map, |
2611 PropertyAccessType access_type, | 2613 PropertyAccessType access_type, |
2612 KeyedAccessStoreMode store_mode); | 2614 KeyedAccessStoreMode store_mode); |
2613 | 2615 |
2614 HValue* HandlePolymorphicElementAccess(HValue* object, | 2616 HValue* HandlePolymorphicElementAccess(Expression* expr, |
| 2617 HValue* object, |
2615 HValue* key, | 2618 HValue* key, |
2616 HValue* val, | 2619 HValue* val, |
2617 SmallMapList* maps, | 2620 SmallMapList* maps, |
2618 PropertyAccessType access_type, | 2621 PropertyAccessType access_type, |
2619 KeyedAccessStoreMode store_mode, | 2622 KeyedAccessStoreMode store_mode, |
2620 bool* has_side_effects); | 2623 bool* has_side_effects); |
2621 | 2624 |
2622 HValue* HandleKeyedElementAccess(HValue* obj, | 2625 HValue* HandleKeyedElementAccess(HValue* obj, |
2623 HValue* key, | 2626 HValue* key, |
2624 HValue* val, | 2627 HValue* val, |
2625 Expression* expr, | 2628 Expression* expr, |
2626 PropertyAccessType access_type, | 2629 PropertyAccessType access_type, |
2627 bool* has_side_effects); | 2630 bool* has_side_effects); |
2628 | 2631 |
2629 HInstruction* BuildNamedGeneric(PropertyAccessType access, | 2632 HInstruction* BuildNamedGeneric(PropertyAccessType access, |
| 2633 Expression* expr, |
2630 HValue* object, | 2634 HValue* object, |
2631 Handle<String> name, | 2635 Handle<String> name, |
2632 HValue* value, | 2636 HValue* value, |
2633 bool is_uninitialized = false); | 2637 bool is_uninitialized = false); |
2634 | 2638 |
2635 HCheckMaps* AddCheckMap(HValue* object, Handle<Map> map); | 2639 HCheckMaps* AddCheckMap(HValue* object, Handle<Map> map); |
2636 | 2640 |
2637 void BuildLoad(Property* property, | 2641 void BuildLoad(Property* property, |
2638 BailoutId ast_id); | 2642 BailoutId ast_id); |
2639 void PushLoad(Property* property, | 2643 void PushLoad(Property* property, |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2891 } | 2895 } |
2892 | 2896 |
2893 private: | 2897 private: |
2894 HGraphBuilder* builder_; | 2898 HGraphBuilder* builder_; |
2895 }; | 2899 }; |
2896 | 2900 |
2897 | 2901 |
2898 } } // namespace v8::internal | 2902 } } // namespace v8::internal |
2899 | 2903 |
2900 #endif // V8_HYDROGEN_H_ | 2904 #endif // V8_HYDROGEN_H_ |
OLD | NEW |