Index: src/code-stub-assembler.h |
diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h |
index d34f58c4854681062a2afb882b9eaaf3590182b7..b000e8b77fc15d6cbfde93410c7cc62fcd102970 100644 |
--- a/src/code-stub-assembler.h |
+++ b/src/code-stub-assembler.h |
@@ -72,6 +72,9 @@ class CodeStubAssembler : public compiler::CodeAssembler { |
compiler::Node* BooleanMapConstant(); |
compiler::Node* EmptyStringConstant(); |
+ compiler::Node* FixedArrayMapConstant(); |
+ compiler::Node* FixedCowArrayMapConstant(); |
+ compiler::Node* FixedDoubleArrayMapConstant(); |
compiler::Node* HeapNumberMapConstant(); |
compiler::Node* NoContextConstant(); |
compiler::Node* NanConstant(); |
@@ -210,6 +213,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,7 +322,17 @@ class CodeStubAssembler : public compiler::CodeAssembler { |
compiler::Node* AllocateSeqTwoByteString(int length); |
compiler::Node* AllocateSeqTwoByteString(compiler::Node* context, |
compiler::Node* length); |
- // Allocated an JSArray |
+ // Allocate a JSArray without elements and initialize the header fields. |
+ compiler::Node* AllocateUninitializedJSArrayWithoutElements( |
+ ElementsKind kind, compiler::Node* array_map, compiler::Node* length, |
+ compiler::Node* allocation_site); |
+ // Allocate and return a JSArray and if capacity is not null, its elements. |
+ // Also initializes JSArray header fields. |
+ std::pair<compiler::Node*, compiler::Node*> AllocateUninitializedJSArray( |
+ ElementsKind kind, compiler::Node* array_map, compiler::Node* length, |
+ compiler::Node* allocation_site, compiler::Node* capacity = nullptr, |
+ ParameterMode capacity_mode = INTEGER_PARAMETERS); |
+ // Allocate a JSArray and fill elements with zero. |
compiler::Node* AllocateJSArray(ElementsKind kind, compiler::Node* array_map, |
compiler::Node* capacity, |
compiler::Node* length, |