| Index: src/code-stub-assembler.cc
|
| diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc
|
| index 474858a8b4d43063f0ac47b3bc9ad8131bd023b8..9e5c2372b319c7028db065444ee3560df1f06e5d 100644
|
| --- a/src/code-stub-assembler.cc
|
| +++ b/src/code-stub-assembler.cc
|
| @@ -2047,6 +2047,21 @@ Node* CodeStubAssembler::AllocateNameDictionary(Node* at_least_space_for) {
|
| return result;
|
| }
|
|
|
| +Node* CodeStubAssembler::CopyNameDictionary(Node* dictionary,
|
| + Label* large_object_fallback) {
|
| + Comment("Copy boilerplate property dict");
|
| + Label done(this);
|
| + Node* length = SmiUntag(LoadFixedArrayBaseLength(dictionary));
|
| + GotoIf(
|
| + IntPtrGreaterThan(length, IntPtrConstant(FixedArray::kMaxRegularLength)),
|
| + large_object_fallback);
|
| + Node* properties =
|
| + AllocateNameDictionary(SmiUntag(GetCapacity<NameDictionary>(dictionary)));
|
| + CopyFixedArrayElements(FAST_ELEMENTS, dictionary, properties, length,
|
| + SKIP_WRITE_BARRIER, INTPTR_PARAMETERS);
|
| + return properties;
|
| +}
|
| +
|
| Node* CodeStubAssembler::AllocateJSObjectFromMap(Node* map, Node* properties,
|
| Node* elements,
|
| AllocationFlags flags) {
|
|
|