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( | |
852 compiler::Node* object, compiler::Node* key, compiler::Node* context, | |
853 Runtime::FunctionId fallback_runtime_function_id = Runtime::kHasProperty); | |
Tobias Tebbi
2016/10/06 11:01:17
@Igor: I also made this argument optional to hide
| |
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 |