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 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
781 FixedArray::kHeaderSize); | 781 FixedArray::kHeaderSize); |
782 } | 782 } |
783 | 783 |
784 private: | 784 private: |
785 enum ElementSupport { kOnlyProperties, kSupportElements }; | 785 enum ElementSupport { kOnlyProperties, kSupportElements }; |
786 | 786 |
787 void DescriptorLookupLinear(compiler::Node* unique_name, | 787 void DescriptorLookupLinear(compiler::Node* unique_name, |
788 compiler::Node* descriptors, compiler::Node* nof, | 788 compiler::Node* descriptors, compiler::Node* nof, |
789 Label* if_found, Variable* var_name_index, | 789 Label* if_found, Variable* var_name_index, |
790 Label* if_not_found); | 790 Label* if_not_found); |
| 791 compiler::Node* CallGetterIfAccessor(compiler::Node* value, |
| 792 compiler::Node* details, |
| 793 compiler::Node* context, |
| 794 compiler::Node* receiver, |
| 795 Label* if_bailout); |
791 | 796 |
792 void HandleLoadICHandlerCase( | 797 void HandleLoadICHandlerCase( |
793 const LoadICParameters* p, compiler::Node* handler, Label* miss, | 798 const LoadICParameters* p, compiler::Node* handler, Label* miss, |
794 ElementSupport support_elements = kOnlyProperties); | 799 ElementSupport support_elements = kOnlyProperties); |
795 compiler::Node* TryToIntptr(compiler::Node* key, Label* miss); | 800 compiler::Node* TryToIntptr(compiler::Node* key, Label* miss); |
796 void EmitFastElementsBoundsCheck(compiler::Node* object, | 801 void EmitFastElementsBoundsCheck(compiler::Node* object, |
797 compiler::Node* elements, | 802 compiler::Node* elements, |
798 compiler::Node* intptr_index, | 803 compiler::Node* intptr_index, |
799 compiler::Node* is_jsarray_condition, | 804 compiler::Node* is_jsarray_condition, |
800 Label* miss); | 805 Label* miss); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
838 Label* bailout); | 843 Label* bailout); |
839 | 844 |
840 static const int kElementLoopUnrollThreshold = 8; | 845 static const int kElementLoopUnrollThreshold = 8; |
841 }; | 846 }; |
842 | 847 |
843 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 848 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
844 | 849 |
845 } // namespace internal | 850 } // namespace internal |
846 } // namespace v8 | 851 } // namespace v8 |
847 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 852 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |