| 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 #include "src/crankshaft/mips64/lithium-codegen-mips64.h" | 5 #include "src/crankshaft/mips64/lithium-codegen-mips64.h" |
| 6 | 6 |
| 7 #include "src/code-factory.h" | 7 #include "src/code-factory.h" |
| 8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
| 9 #include "src/crankshaft/hydrogen-osr.h" | 9 #include "src/crankshaft/hydrogen-osr.h" |
| 10 #include "src/crankshaft/mips64/lithium-gap-resolver-mips64.h" | 10 #include "src/crankshaft/mips64/lithium-gap-resolver-mips64.h" |
| (...skipping 3991 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4002 scratch2, | 4002 scratch2, |
| 4003 GetRAState(), | 4003 GetRAState(), |
| 4004 kSaveFPRegs, | 4004 kSaveFPRegs, |
| 4005 EMIT_REMEMBERED_SET, | 4005 EMIT_REMEMBERED_SET, |
| 4006 instr->hydrogen()->SmiCheckForWriteBarrier(), | 4006 instr->hydrogen()->SmiCheckForWriteBarrier(), |
| 4007 instr->hydrogen()->PointersToHereCheckForValue()); | 4007 instr->hydrogen()->PointersToHereCheckForValue()); |
| 4008 } | 4008 } |
| 4009 } | 4009 } |
| 4010 | 4010 |
| 4011 | 4011 |
| 4012 void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) { | |
| 4013 DCHECK(ToRegister(instr->context()).is(cp)); | |
| 4014 DCHECK(ToRegister(instr->object()).is(StoreDescriptor::ReceiverRegister())); | |
| 4015 DCHECK(ToRegister(instr->value()).is(StoreDescriptor::ValueRegister())); | |
| 4016 | |
| 4017 EmitVectorStoreICRegisters<LStoreNamedGeneric>(instr); | |
| 4018 | |
| 4019 __ li(StoreDescriptor::NameRegister(), Operand(instr->name())); | |
| 4020 Handle<Code> ic = | |
| 4021 CodeFactory::StoreICInOptimizedCode(isolate(), instr->language_mode()) | |
| 4022 .code(); | |
| 4023 CallCode(ic, RelocInfo::CODE_TARGET, instr); | |
| 4024 } | |
| 4025 | |
| 4026 | |
| 4027 void LCodeGen::DoBoundsCheck(LBoundsCheck* instr) { | 4012 void LCodeGen::DoBoundsCheck(LBoundsCheck* instr) { |
| 4028 Condition cc = instr->hydrogen()->allow_equality() ? hi : hs; | 4013 Condition cc = instr->hydrogen()->allow_equality() ? hi : hs; |
| 4029 Operand operand((int64_t)0); | 4014 Operand operand((int64_t)0); |
| 4030 Register reg; | 4015 Register reg; |
| 4031 if (instr->index()->IsConstantOperand()) { | 4016 if (instr->index()->IsConstantOperand()) { |
| 4032 operand = ToOperand(instr->index()); | 4017 operand = ToOperand(instr->index()); |
| 4033 reg = ToRegister(instr->length()); | 4018 reg = ToRegister(instr->length()); |
| 4034 cc = CommuteCondition(cc); | 4019 cc = CommuteCondition(cc); |
| 4035 } else { | 4020 } else { |
| 4036 reg = ToRegister(instr->index()); | 4021 reg = ToRegister(instr->index()); |
| (...skipping 1706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5743 __ ld(result, FieldMemOperand(scratch, | 5728 __ ld(result, FieldMemOperand(scratch, |
| 5744 FixedArray::kHeaderSize - kPointerSize)); | 5729 FixedArray::kHeaderSize - kPointerSize)); |
| 5745 __ bind(deferred->exit()); | 5730 __ bind(deferred->exit()); |
| 5746 __ bind(&done); | 5731 __ bind(&done); |
| 5747 } | 5732 } |
| 5748 | 5733 |
| 5749 #undef __ | 5734 #undef __ |
| 5750 | 5735 |
| 5751 } // namespace internal | 5736 } // namespace internal |
| 5752 } // namespace v8 | 5737 } // namespace v8 |
| OLD | NEW |