| OLD | NEW |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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_CODE_STUB_ASSEMBLER_H_ | 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_ |
| 6 #define V8_CODE_STUB_ASSEMBLER_H_ | 6 #define V8_CODE_STUB_ASSEMBLER_H_ |
| 7 | 7 |
| 8 #include <functional> | 8 #include <functional> |
| 9 | 9 |
| 10 #include "src/compiler/code-assembler.h" | 10 #include "src/compiler/code-assembler.h" |
| (...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 630 void TryProbeStubCacheTable(StubCache* stub_cache, StubCacheTable table_id, | 630 void TryProbeStubCacheTable(StubCache* stub_cache, StubCacheTable table_id, |
| 631 compiler::Node* entry_offset, | 631 compiler::Node* entry_offset, |
| 632 compiler::Node* name, compiler::Node* map, | 632 compiler::Node* name, compiler::Node* map, |
| 633 Label* if_handler, Variable* var_handler, | 633 Label* if_handler, Variable* var_handler, |
| 634 Label* if_miss); | 634 Label* if_miss); |
| 635 | 635 |
| 636 void TryProbeStubCache(StubCache* stub_cache, compiler::Node* receiver, | 636 void TryProbeStubCache(StubCache* stub_cache, compiler::Node* receiver, |
| 637 compiler::Node* name, Label* if_handler, | 637 compiler::Node* name, Label* if_handler, |
| 638 Variable* var_handler, Label* if_miss); | 638 Variable* var_handler, Label* if_miss); |
| 639 | 639 |
| 640 // Extends properties backing store by JSObject::kFieldsAdded elements. |
| 641 void ExtendPropertiesBackingStore(compiler::Node* object); |
| 642 |
| 640 compiler::Node* PrepareValueForWrite(compiler::Node* value, | 643 compiler::Node* PrepareValueForWrite(compiler::Node* value, |
| 641 Representation representation, | 644 Representation representation, |
| 642 Label* bailout); | 645 Label* bailout); |
| 643 | 646 |
| 644 void StoreNamedField(compiler::Node* object, FieldIndex index, | 647 void StoreNamedField(compiler::Node* object, FieldIndex index, |
| 645 Representation representation, compiler::Node* value, | 648 Representation representation, compiler::Node* value, |
| 646 bool transition_to_field); | 649 bool transition_to_field); |
| 647 | 650 |
| 648 // Emits keyed sloppy arguments load. Returns either the loaded value. | 651 // Emits keyed sloppy arguments load. Returns either the loaded value. |
| 649 compiler::Node* LoadKeyedSloppyArguments(compiler::Node* receiver, | 652 compiler::Node* LoadKeyedSloppyArguments(compiler::Node* receiver, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 684 compiler::Node* CopyElementsOnWrite(compiler::Node* object, | 687 compiler::Node* CopyElementsOnWrite(compiler::Node* object, |
| 685 compiler::Node* elements, | 688 compiler::Node* elements, |
| 686 ElementsKind kind, compiler::Node* length, | 689 ElementsKind kind, compiler::Node* length, |
| 687 ParameterMode mode, Label* bailout); | 690 ParameterMode mode, Label* bailout); |
| 688 | 691 |
| 689 void LoadIC(const LoadICParameters* p); | 692 void LoadIC(const LoadICParameters* p); |
| 690 void LoadGlobalIC(const LoadICParameters* p); | 693 void LoadGlobalIC(const LoadICParameters* p); |
| 691 void KeyedLoadIC(const LoadICParameters* p); | 694 void KeyedLoadIC(const LoadICParameters* p); |
| 692 void KeyedLoadICGeneric(const LoadICParameters* p); | 695 void KeyedLoadICGeneric(const LoadICParameters* p); |
| 693 | 696 |
| 697 void TransitionElementsKind(compiler::Node* object, compiler::Node* map, |
| 698 ElementsKind from_kind, ElementsKind to_kind, |
| 699 bool is_jsarray, Label* bailout); |
| 700 |
| 701 void TrapAllocationMemento(compiler::Node* object, Label* memento_found); |
| 702 |
| 703 compiler::Node* PageFromAddress(compiler::Node* address); |
| 704 |
| 694 // Get the enumerable length from |map| and return the result as a Smi. | 705 // Get the enumerable length from |map| and return the result as a Smi. |
| 695 compiler::Node* EnumLength(compiler::Node* map); | 706 compiler::Node* EnumLength(compiler::Node* map); |
| 696 | 707 |
| 697 // Check the cache validity for |receiver|. Branch to |use_cache| if | 708 // Check the cache validity for |receiver|. Branch to |use_cache| if |
| 698 // the cache is valid, otherwise branch to |use_runtime|. | 709 // the cache is valid, otherwise branch to |use_runtime|. |
| 699 void CheckEnumCache(compiler::Node* receiver, | 710 void CheckEnumCache(compiler::Node* receiver, |
| 700 CodeStubAssembler::Label* use_cache, | 711 CodeStubAssembler::Label* use_cache, |
| 701 CodeStubAssembler::Label* use_runtime); | 712 CodeStubAssembler::Label* use_runtime); |
| 702 | 713 |
| 703 // Create a new weak cell with a specified value and install it into a | 714 // Create a new weak cell with a specified value and install it into a |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 762 Label* bailout); | 773 Label* bailout); |
| 763 | 774 |
| 764 static const int kElementLoopUnrollThreshold = 8; | 775 static const int kElementLoopUnrollThreshold = 8; |
| 765 }; | 776 }; |
| 766 | 777 |
| 767 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 778 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
| 768 | 779 |
| 769 } // namespace internal | 780 } // namespace internal |
| 770 } // namespace v8 | 781 } // namespace v8 |
| 771 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 782 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
| OLD | NEW |