Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(589)

Side by Side Diff: src/hydrogen.h

Issue 1370303004: Distinction between FeedbackVectorICSlot and FeedbackVectorSlot eliminated. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fixed release builds Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/heap/heap-inl.h ('k') | src/hydrogen.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/accessors.h" 8 #include "src/accessors.h"
9 #include "src/allocation.h" 9 #include "src/allocation.h"
10 #include "src/ast.h" 10 #include "src/ast.h"
(...skipping 2465 matching lines...) Expand 10 before | Expand all | Expand 10 after
2476 static bool CanInlineArrayResizeOperation(Handle<Map> receiver_map); 2476 static bool CanInlineArrayResizeOperation(Handle<Map> receiver_map);
2477 2477
2478 // If --trace-inlining, print a line of the inlining trace. Inlining 2478 // If --trace-inlining, print a line of the inlining trace. Inlining
2479 // succeeded if the reason string is NULL and failed if there is a 2479 // succeeded if the reason string is NULL and failed if there is a
2480 // non-NULL reason string. 2480 // non-NULL reason string.
2481 void TraceInline(Handle<JSFunction> target, 2481 void TraceInline(Handle<JSFunction> target,
2482 Handle<JSFunction> caller, 2482 Handle<JSFunction> caller,
2483 const char* failure_reason); 2483 const char* failure_reason);
2484 2484
2485 void HandleGlobalVariableAssignment(Variable* var, HValue* value, 2485 void HandleGlobalVariableAssignment(Variable* var, HValue* value,
2486 FeedbackVectorICSlot ic_slot, 2486 FeedbackVectorSlot slot,
2487 BailoutId ast_id); 2487 BailoutId ast_id);
2488 2488
2489 void HandlePropertyAssignment(Assignment* expr); 2489 void HandlePropertyAssignment(Assignment* expr);
2490 void HandleCompoundAssignment(Assignment* expr); 2490 void HandleCompoundAssignment(Assignment* expr);
2491 void HandlePolymorphicNamedFieldAccess( 2491 void HandlePolymorphicNamedFieldAccess(
2492 PropertyAccessType access_type, Expression* expr, 2492 PropertyAccessType access_type, Expression* expr, FeedbackVectorSlot slot,
2493 FeedbackVectorICSlot slot, BailoutId ast_id, BailoutId return_id, 2493 BailoutId ast_id, BailoutId return_id, HValue* object, HValue* value,
2494 HValue* object, HValue* value, SmallMapList* types, Handle<String> name); 2494 SmallMapList* types, Handle<String> name);
2495 2495
2496 HValue* BuildAllocateExternalElements( 2496 HValue* BuildAllocateExternalElements(
2497 ExternalArrayType array_type, 2497 ExternalArrayType array_type,
2498 bool is_zero_byte_offset, 2498 bool is_zero_byte_offset,
2499 HValue* buffer, HValue* byte_offset, HValue* length); 2499 HValue* buffer, HValue* byte_offset, HValue* length);
2500 HValue* BuildAllocateFixedTypedArray(ExternalArrayType array_type, 2500 HValue* BuildAllocateFixedTypedArray(ExternalArrayType array_type,
2501 size_t element_size, 2501 size_t element_size,
2502 ElementsKind fixed_elements_kind, 2502 ElementsKind fixed_elements_kind,
2503 HValue* byte_length, HValue* length, 2503 HValue* byte_length, HValue* length,
2504 bool initialize); 2504 bool initialize);
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
2733 PropertyDetails details_; 2733 PropertyDetails details_;
2734 }; 2734 };
2735 2735
2736 HValue* BuildMonomorphicAccess(PropertyAccessInfo* info, HValue* object, 2736 HValue* BuildMonomorphicAccess(PropertyAccessInfo* info, HValue* object,
2737 HValue* checked_object, HValue* value, 2737 HValue* checked_object, HValue* value,
2738 BailoutId ast_id, BailoutId return_id, 2738 BailoutId ast_id, BailoutId return_id,
2739 bool can_inline_accessor = true); 2739 bool can_inline_accessor = true);
2740 2740
2741 HValue* BuildNamedAccess(PropertyAccessType access, BailoutId ast_id, 2741 HValue* BuildNamedAccess(PropertyAccessType access, BailoutId ast_id,
2742 BailoutId reutrn_id, Expression* expr, 2742 BailoutId reutrn_id, Expression* expr,
2743 FeedbackVectorICSlot slot, HValue* object, 2743 FeedbackVectorSlot slot, HValue* object,
2744 Handle<String> name, HValue* value, 2744 Handle<String> name, HValue* value,
2745 bool is_uninitialized = false); 2745 bool is_uninitialized = false);
2746 2746
2747 void HandlePolymorphicCallNamed(Call* expr, 2747 void HandlePolymorphicCallNamed(Call* expr,
2748 HValue* receiver, 2748 HValue* receiver,
2749 SmallMapList* types, 2749 SmallMapList* types,
2750 Handle<String> name); 2750 Handle<String> name);
2751 void HandleLiteralCompareTypeof(CompareOperation* expr, 2751 void HandleLiteralCompareTypeof(CompareOperation* expr,
2752 Expression* sub_expr, 2752 Expression* sub_expr,
2753 Handle<String> check); 2753 Handle<String> check);
(...skipping 16 matching lines...) Expand all
2770 HValue* index); 2770 HValue* index);
2771 2771
2772 HValue* BuildBinaryOperation( 2772 HValue* BuildBinaryOperation(
2773 BinaryOperation* expr, 2773 BinaryOperation* expr,
2774 HValue* left, 2774 HValue* left,
2775 HValue* right, 2775 HValue* right,
2776 PushBeforeSimulateBehavior push_sim_result); 2776 PushBeforeSimulateBehavior push_sim_result);
2777 HInstruction* BuildIncrement(bool returns_original_input, 2777 HInstruction* BuildIncrement(bool returns_original_input,
2778 CountOperation* expr); 2778 CountOperation* expr);
2779 HInstruction* BuildKeyedGeneric(PropertyAccessType access_type, 2779 HInstruction* BuildKeyedGeneric(PropertyAccessType access_type,
2780 Expression* expr, FeedbackVectorICSlot slot, 2780 Expression* expr, FeedbackVectorSlot slot,
2781 HValue* object, HValue* key, HValue* value); 2781 HValue* object, HValue* key, HValue* value);
2782 2782
2783 HInstruction* TryBuildConsolidatedElementLoad(HValue* object, 2783 HInstruction* TryBuildConsolidatedElementLoad(HValue* object,
2784 HValue* key, 2784 HValue* key,
2785 HValue* val, 2785 HValue* val,
2786 SmallMapList* maps); 2786 SmallMapList* maps);
2787 2787
2788 LoadKeyedHoleMode BuildKeyedHoleMode(Handle<Map> map); 2788 LoadKeyedHoleMode BuildKeyedHoleMode(Handle<Map> map);
2789 2789
2790 HInstruction* BuildMonomorphicElementAccess(HValue* object, 2790 HInstruction* BuildMonomorphicElementAccess(HValue* object,
2791 HValue* key, 2791 HValue* key,
2792 HValue* val, 2792 HValue* val,
2793 HValue* dependency, 2793 HValue* dependency,
2794 Handle<Map> map, 2794 Handle<Map> map,
2795 PropertyAccessType access_type, 2795 PropertyAccessType access_type,
2796 KeyedAccessStoreMode store_mode); 2796 KeyedAccessStoreMode store_mode);
2797 2797
2798 HValue* HandlePolymorphicElementAccess( 2798 HValue* HandlePolymorphicElementAccess(
2799 Expression* expr, FeedbackVectorICSlot slot, HValue* object, HValue* key, 2799 Expression* expr, FeedbackVectorSlot slot, HValue* object, HValue* key,
2800 HValue* val, SmallMapList* maps, PropertyAccessType access_type, 2800 HValue* val, SmallMapList* maps, PropertyAccessType access_type,
2801 KeyedAccessStoreMode store_mode, bool* has_side_effects); 2801 KeyedAccessStoreMode store_mode, bool* has_side_effects);
2802 2802
2803 HValue* HandleKeyedElementAccess(HValue* obj, HValue* key, HValue* val, 2803 HValue* HandleKeyedElementAccess(HValue* obj, HValue* key, HValue* val,
2804 Expression* expr, FeedbackVectorICSlot slot, 2804 Expression* expr, FeedbackVectorSlot slot,
2805 BailoutId ast_id, BailoutId return_id, 2805 BailoutId ast_id, BailoutId return_id,
2806 PropertyAccessType access_type, 2806 PropertyAccessType access_type,
2807 bool* has_side_effects); 2807 bool* has_side_effects);
2808 2808
2809 HInstruction* BuildNamedGeneric(PropertyAccessType access, Expression* expr, 2809 HInstruction* BuildNamedGeneric(PropertyAccessType access, Expression* expr,
2810 FeedbackVectorICSlot slot, HValue* object, 2810 FeedbackVectorSlot slot, HValue* object,
2811 Handle<Name> name, HValue* value, 2811 Handle<Name> name, HValue* value,
2812 bool is_uninitialized = false); 2812 bool is_uninitialized = false);
2813 2813
2814 HCheckMaps* AddCheckMap(HValue* object, Handle<Map> map); 2814 HCheckMaps* AddCheckMap(HValue* object, Handle<Map> map);
2815 2815
2816 void BuildLoad(Property* property, 2816 void BuildLoad(Property* property,
2817 BailoutId ast_id); 2817 BailoutId ast_id);
2818 void PushLoad(Property* property, 2818 void PushLoad(Property* property,
2819 HValue* object, 2819 HValue* object,
2820 HValue* key); 2820 HValue* key);
2821 2821
2822 void BuildStoreForEffect(Expression* expression, Property* prop, 2822 void BuildStoreForEffect(Expression* expression, Property* prop,
2823 FeedbackVectorICSlot slot, BailoutId ast_id, 2823 FeedbackVectorSlot slot, BailoutId ast_id,
2824 BailoutId return_id, HValue* object, HValue* key, 2824 BailoutId return_id, HValue* object, HValue* key,
2825 HValue* value); 2825 HValue* value);
2826 2826
2827 void BuildStore(Expression* expression, Property* prop, 2827 void BuildStore(Expression* expression, Property* prop,
2828 FeedbackVectorICSlot slot, BailoutId ast_id, 2828 FeedbackVectorSlot slot, BailoutId ast_id,
2829 BailoutId return_id, bool is_uninitialized = false); 2829 BailoutId return_id, bool is_uninitialized = false);
2830 2830
2831 HInstruction* BuildLoadNamedField(PropertyAccessInfo* info, 2831 HInstruction* BuildLoadNamedField(PropertyAccessInfo* info,
2832 HValue* checked_object); 2832 HValue* checked_object);
2833 HInstruction* BuildStoreNamedField(PropertyAccessInfo* info, 2833 HInstruction* BuildStoreNamedField(PropertyAccessInfo* info,
2834 HValue* checked_object, 2834 HValue* checked_object,
2835 HValue* value); 2835 HValue* value);
2836 2836
2837 HValue* BuildContextChainWalk(Variable* var); 2837 HValue* BuildContextChainWalk(Variable* var);
2838 2838
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
3070 3070
3071 private: 3071 private:
3072 HGraphBuilder* builder_; 3072 HGraphBuilder* builder_;
3073 }; 3073 };
3074 3074
3075 3075
3076 } // namespace internal 3076 } // namespace internal
3077 } // namespace v8 3077 } // namespace v8
3078 3078
3079 #endif // V8_HYDROGEN_H_ 3079 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « src/heap/heap-inl.h ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698