| Index: src/mips64/macro-assembler-mips64.cc
|
| diff --git a/src/mips64/macro-assembler-mips64.cc b/src/mips64/macro-assembler-mips64.cc
|
| index 72f2e16b75fae2a2975efeea385eb64fc2b603a5..5fbace4b25fcc9aa92278b51c26d5cf57f57af01 100644
|
| --- a/src/mips64/macro-assembler-mips64.cc
|
| +++ b/src/mips64/macro-assembler-mips64.cc
|
| @@ -512,6 +512,7 @@ void MacroAssembler::CheckAccessGlobalProxy(Register holder_reg,
|
| Register scratch,
|
| Label* miss) {
|
| Label same_contexts;
|
| + Register temporary = t8;
|
|
|
| DCHECK(!holder_reg.is(scratch));
|
| DCHECK(!holder_reg.is(at));
|
| @@ -524,9 +525,10 @@ void MacroAssembler::CheckAccessGlobalProxy(Register holder_reg,
|
| mov(at, fp);
|
| bind(&load_context);
|
| ld(scratch, MemOperand(at, CommonFrameConstants::kContextOrFrameTypeOffset));
|
| - JumpIfNotSmi(scratch, &has_context);
|
| + // Passing temporary register, otherwise JumpIfNotSmi modifies register at.
|
| + JumpIfNotSmi(scratch, &has_context, temporary);
|
| ld(at, MemOperand(at, CommonFrameConstants::kCallerFPOffset));
|
| - b(&load_context);
|
| + Branch(&load_context);
|
| bind(&has_context);
|
|
|
| // In debug mode, make sure the lexical context is set.
|
|
|