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 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
822 compiler::Node* CreateAllocationSiteInFeedbackVector( | 822 compiler::Node* CreateAllocationSiteInFeedbackVector( |
823 compiler::Node* feedback_vector, compiler::Node* slot); | 823 compiler::Node* feedback_vector, compiler::Node* slot); |
824 | 824 |
825 compiler::Node* GetFixedArrayAllocationSize(compiler::Node* element_count, | 825 compiler::Node* GetFixedArrayAllocationSize(compiler::Node* element_count, |
826 ElementsKind kind, | 826 ElementsKind kind, |
827 ParameterMode mode) { | 827 ParameterMode mode) { |
828 return ElementOffsetFromIndex(element_count, kind, mode, | 828 return ElementOffsetFromIndex(element_count, kind, mode, |
829 FixedArray::kHeaderSize); | 829 FixedArray::kHeaderSize); |
830 } | 830 } |
831 | 831 |
| 832 enum RelationalComparisonMode { |
| 833 kLessThan, |
| 834 kLessThanOrEqual, |
| 835 kGreaterThan, |
| 836 kGreaterThanOrEqual |
| 837 }; |
| 838 |
| 839 compiler::Node* RelationalComparison(RelationalComparisonMode mode, |
| 840 compiler::Node* lhs, compiler::Node* rhs, |
| 841 compiler::Node* context); |
| 842 |
| 843 enum ResultMode { kDontNegateResult, kNegateResult }; |
| 844 |
| 845 compiler::Node* Equal(ResultMode mode, compiler::Node* lhs, |
| 846 compiler::Node* rhs, compiler::Node* context); |
| 847 |
| 848 compiler::Node* StrictEqual(ResultMode mode, compiler::Node* lhs, |
| 849 compiler::Node* rhs, compiler::Node* context); |
| 850 |
| 851 compiler::Node* HasProperty(compiler::Node* object, compiler::Node* key, |
| 852 compiler::Node* context, |
| 853 Runtime::FunctionId fallback_runtime_function_id); |
| 854 compiler::Node* ForInFilter(compiler::Node* key, compiler::Node* object, |
| 855 compiler::Node* context); |
| 856 |
| 857 compiler::Node* Typeof(compiler::Node* value, compiler::Node* context); |
| 858 |
| 859 compiler::Node* InstanceOf(compiler::Node* object, compiler::Node* callable, |
| 860 compiler::Node* context); |
| 861 |
832 private: | 862 private: |
833 enum ElementSupport { kOnlyProperties, kSupportElements }; | 863 enum ElementSupport { kOnlyProperties, kSupportElements }; |
834 | 864 |
835 void DescriptorLookupLinear(compiler::Node* unique_name, | 865 void DescriptorLookupLinear(compiler::Node* unique_name, |
836 compiler::Node* descriptors, compiler::Node* nof, | 866 compiler::Node* descriptors, compiler::Node* nof, |
837 Label* if_found, Variable* var_name_index, | 867 Label* if_found, Variable* var_name_index, |
838 Label* if_not_found); | 868 Label* if_not_found); |
839 compiler::Node* CallGetterIfAccessor(compiler::Node* value, | 869 compiler::Node* CallGetterIfAccessor(compiler::Node* value, |
840 compiler::Node* details, | 870 compiler::Node* details, |
841 compiler::Node* context, | 871 compiler::Node* context, |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
891 Label* bailout); | 921 Label* bailout); |
892 | 922 |
893 static const int kElementLoopUnrollThreshold = 8; | 923 static const int kElementLoopUnrollThreshold = 8; |
894 }; | 924 }; |
895 | 925 |
896 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 926 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
897 | 927 |
898 } // namespace internal | 928 } // namespace internal |
899 } // namespace v8 | 929 } // namespace v8 |
900 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 930 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |