Index: src/code-stub-assembler.h |
diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h |
index ec84b38fd73ee4e081ee81842c928fd455e2f760..0a1d7f86cd3961931dc3406d7ecac28efcf87c68 100644 |
--- a/src/code-stub-assembler.h |
+++ b/src/code-stub-assembler.h |
@@ -814,6 +814,27 @@ class CodeStubAssembler : public compiler::CodeAssembler { |
compiler::Node* CreateAllocationSiteInFeedbackVector( |
compiler::Node* feedback_vector, compiler::Node* slot); |
+ enum class IndexAdvanceMode { kPre, kPost }; |
+ |
+ void BuildFastLoop( |
+ MachineRepresentation index_rep, compiler::Node* start_index, |
+ compiler::Node* end_index, |
+ std::function<void(CodeStubAssembler* assembler, compiler::Node* index)> |
+ body, |
+ int increment, IndexAdvanceMode mode = IndexAdvanceMode::kPre); |
+ |
+ enum class ForEachDirection { kForward, kReverse }; |
+ |
+ void BuildFastFixedArrayForEach( |
+ compiler::Node* fixed_array, ElementsKind kind, |
+ compiler::Node* first_element_inclusive, |
+ compiler::Node* last_element_exclusive, |
+ std::function<void(CodeStubAssembler* assembler, |
+ compiler::Node* fixed_array, compiler::Node* offset)> |
+ body, |
+ ParameterMode mode = INTPTR_PARAMETERS, |
+ ForEachDirection direction = ForEachDirection::kReverse); |
+ |
compiler::Node* GetFixedAarrayAllocationSize(compiler::Node* element_count, |
ElementsKind kind, |
ParameterMode mode) { |