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

Side by Side Diff: src/hydrogen.h

Issue 398053002: Introduce FLAG_vector_ics. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Register passed in hydrogen, fixed some test failures. Created 6 years, 5 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 | Annotate | Revision Log
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/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
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698