| Index: src/arm/macro-assembler-arm.cc
|
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
|
| index c8fb60dafa93bb614d9afbe3701e00dbcab11b10..41eb798d42341fcf8d14de8fca935e3ca3f4d7a4 100644
|
| --- a/src/arm/macro-assembler-arm.cc
|
| +++ b/src/arm/macro-assembler-arm.cc
|
| @@ -2292,6 +2292,19 @@ void MacroAssembler::LoadWeakValue(Register value, Handle<WeakCell> cell,
|
| }
|
|
|
|
|
| +void MacroAssembler::GetMapConstructor(Register result, Register map,
|
| + Register temp, Register temp2) {
|
| + Label done, loop;
|
| + ldr(result, FieldMemOperand(map, Map::kConstructorOrBackPointerOffset));
|
| + bind(&loop);
|
| + CompareObjectType(result, temp, temp2, MAP_TYPE);
|
| + b(ne, &done);
|
| + ldr(result, FieldMemOperand(result, Map::kConstructorOrBackPointerOffset));
|
| + b(&loop);
|
| + bind(&done);
|
| +}
|
| +
|
| +
|
| void MacroAssembler::TryGetFunctionPrototype(Register function,
|
| Register result,
|
| Register scratch,
|
| @@ -2345,7 +2358,7 @@ void MacroAssembler::TryGetFunctionPrototype(Register function,
|
| // Non-instance prototype: Fetch prototype from constructor field
|
| // in initial map.
|
| bind(&non_instance);
|
| - ldr(result, FieldMemOperand(result, Map::kConstructorOffset));
|
| + ldr(result, FieldMemOperand(result, Map::kConstructorOrBackPointerOffset));
|
| }
|
|
|
| // All done.
|
|
|