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