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_ARM | 5 #if V8_TARGET_ARCH_ARM |
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 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 __ Ret(); | 434 __ Ret(); |
435 | 435 |
436 __ bind(&index_name); | 436 __ bind(&index_name); |
437 __ IndexFromHash(r3, key); | 437 __ IndexFromHash(r3, key); |
438 // Now jump to the place where smi keys are handled. | 438 // Now jump to the place where smi keys are handled. |
439 __ jmp(&index_smi); | 439 __ jmp(&index_smi); |
440 } | 440 } |
441 | 441 |
442 | 442 |
443 static void StoreIC_PushArgs(MacroAssembler* masm) { | 443 static void StoreIC_PushArgs(MacroAssembler* masm) { |
444 __ Push(StoreDescriptor::ReceiverRegister(), StoreDescriptor::NameRegister(), | 444 __ Push(StoreWithVectorDescriptor::ValueRegister(), |
445 StoreDescriptor::ValueRegister(), | |
446 StoreWithVectorDescriptor::SlotRegister(), | 445 StoreWithVectorDescriptor::SlotRegister(), |
447 StoreWithVectorDescriptor::VectorRegister()); | 446 StoreWithVectorDescriptor::VectorRegister(), |
| 447 StoreWithVectorDescriptor::ReceiverRegister(), |
| 448 StoreWithVectorDescriptor::NameRegister()); |
448 } | 449 } |
449 | 450 |
450 | 451 |
451 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { | 452 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { |
452 StoreIC_PushArgs(masm); | 453 StoreIC_PushArgs(masm); |
453 | 454 |
454 __ TailCallRuntime(Runtime::kKeyedStoreIC_Miss); | 455 __ TailCallRuntime(Runtime::kKeyedStoreIC_Miss); |
455 } | 456 } |
456 | 457 |
457 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) { | 458 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) { |
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
863 patcher.EmitCondition(ne); | 864 patcher.EmitCondition(ne); |
864 } else { | 865 } else { |
865 DCHECK(Assembler::GetCondition(branch_instr) == ne); | 866 DCHECK(Assembler::GetCondition(branch_instr) == ne); |
866 patcher.EmitCondition(eq); | 867 patcher.EmitCondition(eq); |
867 } | 868 } |
868 } | 869 } |
869 } // namespace internal | 870 } // namespace internal |
870 } // namespace v8 | 871 } // namespace v8 |
871 | 872 |
872 #endif // V8_TARGET_ARCH_ARM | 873 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |