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 842 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
853 ParameterMode mode = INTPTR_PARAMETERS, | 853 ParameterMode mode = INTPTR_PARAMETERS, |
854 ForEachDirection direction = ForEachDirection::kReverse); | 854 ForEachDirection direction = ForEachDirection::kReverse); |
855 | 855 |
856 compiler::Node* GetFixedArrayAllocationSize(compiler::Node* element_count, | 856 compiler::Node* GetFixedArrayAllocationSize(compiler::Node* element_count, |
857 ElementsKind kind, | 857 ElementsKind kind, |
858 ParameterMode mode) { | 858 ParameterMode mode) { |
859 return ElementOffsetFromIndex(element_count, kind, mode, | 859 return ElementOffsetFromIndex(element_count, kind, mode, |
860 FixedArray::kHeaderSize); | 860 FixedArray::kHeaderSize); |
861 } | 861 } |
862 | 862 |
| 863 enum RelationalComparisonMode { |
| 864 kLessThan, |
| 865 kLessThanOrEqual, |
| 866 kGreaterThan, |
| 867 kGreaterThanOrEqual |
| 868 }; |
| 869 |
| 870 compiler::Node* RelationalComparison(RelationalComparisonMode mode, |
| 871 compiler::Node* lhs, compiler::Node* rhs, |
| 872 compiler::Node* context); |
| 873 |
| 874 enum ResultMode { kDontNegateResult, kNegateResult }; |
| 875 |
| 876 compiler::Node* Equal(ResultMode mode, compiler::Node* lhs, |
| 877 compiler::Node* rhs, compiler::Node* context); |
| 878 |
| 879 compiler::Node* StrictEqual(ResultMode mode, compiler::Node* lhs, |
| 880 compiler::Node* rhs, compiler::Node* context); |
| 881 |
| 882 compiler::Node* HasProperty( |
| 883 compiler::Node* object, compiler::Node* key, compiler::Node* context, |
| 884 Runtime::FunctionId fallback_runtime_function_id = Runtime::kHasProperty); |
| 885 compiler::Node* ForInFilter(compiler::Node* key, compiler::Node* object, |
| 886 compiler::Node* context); |
| 887 |
| 888 compiler::Node* Typeof(compiler::Node* value, compiler::Node* context); |
| 889 |
| 890 compiler::Node* InstanceOf(compiler::Node* object, compiler::Node* callable, |
| 891 compiler::Node* context); |
| 892 |
863 private: | 893 private: |
864 enum ElementSupport { kOnlyProperties, kSupportElements }; | 894 enum ElementSupport { kOnlyProperties, kSupportElements }; |
865 | 895 |
866 void DescriptorLookupLinear(compiler::Node* unique_name, | 896 void DescriptorLookupLinear(compiler::Node* unique_name, |
867 compiler::Node* descriptors, compiler::Node* nof, | 897 compiler::Node* descriptors, compiler::Node* nof, |
868 Label* if_found, Variable* var_name_index, | 898 Label* if_found, Variable* var_name_index, |
869 Label* if_not_found); | 899 Label* if_not_found); |
870 compiler::Node* CallGetterIfAccessor(compiler::Node* value, | 900 compiler::Node* CallGetterIfAccessor(compiler::Node* value, |
871 compiler::Node* details, | 901 compiler::Node* details, |
872 compiler::Node* context, | 902 compiler::Node* context, |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
922 Label* bailout); | 952 Label* bailout); |
923 | 953 |
924 static const int kElementLoopUnrollThreshold = 8; | 954 static const int kElementLoopUnrollThreshold = 8; |
925 }; | 955 }; |
926 | 956 |
927 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 957 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
928 | 958 |
929 } // namespace internal | 959 } // namespace internal |
930 } // namespace v8 | 960 } // namespace v8 |
931 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 961 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |