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_MIPS | 5 #if V8_TARGET_ARCH_MIPS |
6 | 6 |
7 #include "src/codegen.h" | 7 #include "src/codegen.h" |
8 #include "src/ic/ic.h" | 8 #include "src/ic/ic.h" |
9 #include "src/ic/ic-compiler.h" | 9 #include "src/ic/ic-compiler.h" |
10 #include "src/ic/stub-cache.h" | 10 #include "src/ic/stub-cache.h" |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 static void LoadIC_PushArgs(MacroAssembler* masm) { | 299 static void LoadIC_PushArgs(MacroAssembler* masm) { |
300 Register receiver = LoadDescriptor::ReceiverRegister(); | 300 Register receiver = LoadDescriptor::ReceiverRegister(); |
301 Register name = LoadDescriptor::NameRegister(); | 301 Register name = LoadDescriptor::NameRegister(); |
302 Register slot = LoadDescriptor::SlotRegister(); | 302 Register slot = LoadDescriptor::SlotRegister(); |
303 Register vector = LoadWithVectorDescriptor::VectorRegister(); | 303 Register vector = LoadWithVectorDescriptor::VectorRegister(); |
304 | 304 |
305 __ Push(receiver, name, slot, vector); | 305 __ Push(receiver, name, slot, vector); |
306 } | 306 } |
307 | 307 |
308 | 308 |
309 void LoadIC::GenerateMiss(MacroAssembler* masm) { | 309 void LoadIC::GenerateMiss(MacroAssembler* masm, int stress) { |
310 // The return address is in ra. | 310 // The return address is in ra. |
311 Isolate* isolate = masm->isolate(); | 311 Isolate* isolate = masm->isolate(); |
312 | 312 |
313 DCHECK(!AreAliased(t0, t1, LoadWithVectorDescriptor::SlotRegister(), | 313 DCHECK(!AreAliased(t0, t1, LoadWithVectorDescriptor::SlotRegister(), |
314 LoadWithVectorDescriptor::VectorRegister())); | 314 LoadWithVectorDescriptor::VectorRegister())); |
315 __ IncrementCounter(isolate->counters()->load_miss(), 1, t0, t1); | 315 __ IncrementCounter(isolate->counters()->load_miss(), 1, t0, t1); |
316 | 316 |
317 LoadIC_PushArgs(masm); | 317 LoadIC_PushArgs(masm); |
318 | 318 |
319 // Perform tail call to the entry. | 319 // Perform tail call to the entry. |
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
906 patcher.ChangeBranchCondition(ne); | 906 patcher.ChangeBranchCondition(ne); |
907 } else { | 907 } else { |
908 DCHECK(Assembler::IsBne(branch_instr)); | 908 DCHECK(Assembler::IsBne(branch_instr)); |
909 patcher.ChangeBranchCondition(eq); | 909 patcher.ChangeBranchCondition(eq); |
910 } | 910 } |
911 } | 911 } |
912 } // namespace internal | 912 } // namespace internal |
913 } // namespace v8 | 913 } // namespace v8 |
914 | 914 |
915 #endif // V8_TARGET_ARCH_MIPS | 915 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |