| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #if V8_TARGET_ARCH_MIPS64 | 5 #if V8_TARGET_ARCH_MIPS64 | 
| 6 | 6 | 
| 7 // Note on Mips implementation: | 7 // Note on Mips implementation: | 
| 8 // | 8 // | 
| 9 // The result_register() for mips is the 'v0' register, which is defined | 9 // The result_register() for mips is the 'v0' register, which is defined | 
| 10 // by the ABI to contain function return values. However, the first | 10 // by the ABI to contain function return values. However, the first | 
| (...skipping 1809 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1820   __ ld(a1, FieldMemOperand(v0, JSGeneratorObject::kResumeModeOffset)); | 1820   __ ld(a1, FieldMemOperand(v0, JSGeneratorObject::kResumeModeOffset)); | 
| 1821   __ ld(v0, FieldMemOperand(v0, JSGeneratorObject::kInputOrDebugPosOffset)); | 1821   __ ld(v0, FieldMemOperand(v0, JSGeneratorObject::kInputOrDebugPosOffset)); | 
| 1822   __ Branch(&resume, eq, a1, Operand(Smi::FromInt(JSGeneratorObject::kNext))); | 1822   __ Branch(&resume, eq, a1, Operand(Smi::FromInt(JSGeneratorObject::kNext))); | 
| 1823   __ Push(result_register()); | 1823   __ Push(result_register()); | 
| 1824   __ Branch(&exception, eq, a1, | 1824   __ Branch(&exception, eq, a1, | 
| 1825             Operand(Smi::FromInt(JSGeneratorObject::kThrow))); | 1825             Operand(Smi::FromInt(JSGeneratorObject::kThrow))); | 
| 1826   EmitCreateIteratorResult(true); | 1826   EmitCreateIteratorResult(true); | 
| 1827   EmitUnwindAndReturn(); | 1827   EmitUnwindAndReturn(); | 
| 1828 | 1828 | 
| 1829   __ bind(&exception); | 1829   __ bind(&exception); | 
| 1830   __ CallRuntime(Runtime::kThrow); | 1830   __ CallRuntime(expr->rethrow_on_exception() ? Runtime::kReThrow | 
|  | 1831                                               : Runtime::kThrow); | 
| 1831 | 1832 | 
| 1832   __ bind(&suspend); | 1833   __ bind(&suspend); | 
| 1833   OperandStackDepthIncrement(1);  // Not popped on this path. | 1834   OperandStackDepthIncrement(1);  // Not popped on this path. | 
| 1834   VisitForAccumulatorValue(expr->generator_object()); | 1835   VisitForAccumulatorValue(expr->generator_object()); | 
| 1835   DCHECK(continuation.pos() > 0 && Smi::IsValid(continuation.pos())); | 1836   DCHECK(continuation.pos() > 0 && Smi::IsValid(continuation.pos())); | 
| 1836   __ li(a1, Operand(Smi::FromInt(continuation.pos()))); | 1837   __ li(a1, Operand(Smi::FromInt(continuation.pos()))); | 
| 1837   __ sd(a1, FieldMemOperand(v0, JSGeneratorObject::kContinuationOffset)); | 1838   __ sd(a1, FieldMemOperand(v0, JSGeneratorObject::kContinuationOffset)); | 
| 1838   __ sd(cp, FieldMemOperand(v0, JSGeneratorObject::kContextOffset)); | 1839   __ sd(cp, FieldMemOperand(v0, JSGeneratorObject::kContextOffset)); | 
| 1839   __ mov(a1, cp); | 1840   __ mov(a1, cp); | 
| 1840   __ RecordWriteField(v0, JSGeneratorObject::kContextOffset, a1, a2, | 1841   __ RecordWriteField(v0, JSGeneratorObject::kContextOffset, a1, a2, | 
| (...skipping 1946 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3787          reinterpret_cast<uint64_t>( | 3788          reinterpret_cast<uint64_t>( | 
| 3788              isolate->builtins()->OnStackReplacement()->entry())); | 3789              isolate->builtins()->OnStackReplacement()->entry())); | 
| 3789   return ON_STACK_REPLACEMENT; | 3790   return ON_STACK_REPLACEMENT; | 
| 3790 } | 3791 } | 
| 3791 | 3792 | 
| 3792 | 3793 | 
| 3793 }  // namespace internal | 3794 }  // namespace internal | 
| 3794 }  // namespace v8 | 3795 }  // namespace v8 | 
| 3795 | 3796 | 
| 3796 #endif  // V8_TARGET_ARCH_MIPS64 | 3797 #endif  // V8_TARGET_ARCH_MIPS64 | 
| OLD | NEW | 
|---|