Index: src/code-stub-assembler.h |
diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h |
index d34f58c4854681062a2afb882b9eaaf3590182b7..8a0fe27bb7360d20436573cb31bbf0c2660d0a70 100644 |
--- a/src/code-stub-assembler.h |
+++ b/src/code-stub-assembler.h |
@@ -72,6 +72,8 @@ class CodeStubAssembler : public compiler::CodeAssembler { |
compiler::Node* BooleanMapConstant(); |
compiler::Node* EmptyStringConstant(); |
+ compiler::Node* FixedArrayMapConstant(); |
+ compiler::Node* FixedCowArrayMapConstant(); |
compiler::Node* HeapNumberMapConstant(); |
compiler::Node* NoContextConstant(); |
compiler::Node* NanConstant(); |
@@ -210,6 +212,8 @@ class CodeStubAssembler : public compiler::CodeAssembler { |
compiler::Node* LoadProperties(compiler::Node* object); |
// Load the elements backing store of a JSObject. |
compiler::Node* LoadElements(compiler::Node* object); |
+ // Load the length of a JSArray instance. |
+ compiler::Node* LoadJSArrayLength(compiler::Node* array); |
// Load the length of a fixed array base instance. |
compiler::Node* LoadFixedArrayBaseLength(compiler::Node* array); |
// Load the length of a fixed array base instance. |
@@ -317,12 +321,18 @@ class CodeStubAssembler : public compiler::CodeAssembler { |
compiler::Node* AllocateSeqTwoByteString(int length); |
compiler::Node* AllocateSeqTwoByteString(compiler::Node* context, |
compiler::Node* length); |
- // Allocated an JSArray |
- compiler::Node* AllocateJSArray(ElementsKind kind, compiler::Node* array_map, |
- compiler::Node* capacity, |
- compiler::Node* length, |
- compiler::Node* allocation_site = nullptr, |
- ParameterMode mode = INTEGER_PARAMETERS); |
+ // Allocate a JSArray and its elements if capacity is not null. |
+ // Also initializes JSArray header fields. |
+ compiler::Node* AllocateEmptyJSArray( |
+ ElementsKind kind, compiler::Node* array_map, compiler::Node* length, |
+ compiler::Node* allocation_site = nullptr, |
+ ParameterMode mode = INTEGER_PARAMETERS, |
+ compiler::Node* capacity = nullptr); |
+ // Allocate a JSArray and fill elements with zero. |
+ compiler::Node* AllocateFilledJSArray( |
+ ElementsKind kind, compiler::Node* array_map, compiler::Node* capacity, |
+ compiler::Node* length, compiler::Node* allocation_site = nullptr, |
+ ParameterMode mode = INTEGER_PARAMETERS); |
compiler::Node* AllocateFixedArray(ElementsKind kind, |
compiler::Node* capacity, |