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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 4586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4597 | 4597 |
4598 __ bind(&miss); | 4598 __ bind(&miss); |
4599 KeyedLoadIC::GenerateMiss(masm); | 4599 KeyedLoadIC::GenerateMiss(masm); |
4600 | 4600 |
4601 __ bind(&load_smi_map); | 4601 __ bind(&load_smi_map); |
4602 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex); | 4602 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex); |
4603 __ jmp(&compare_map); | 4603 __ jmp(&compare_map); |
4604 } | 4604 } |
4605 | 4605 |
4606 | 4606 |
| 4607 void VectorStoreICTrampolineStub::Generate(MacroAssembler* masm) { |
| 4608 EmitLoadTypeFeedbackVector(masm, VectorStoreICDescriptor::VectorRegister()); |
| 4609 VectorStoreICStub stub(isolate(), state()); |
| 4610 stub.GenerateForTrampoline(masm); |
| 4611 } |
| 4612 |
| 4613 |
| 4614 void VectorKeyedStoreICTrampolineStub::Generate(MacroAssembler* masm) { |
| 4615 EmitLoadTypeFeedbackVector(masm, VectorStoreICDescriptor::VectorRegister()); |
| 4616 VectorKeyedStoreICStub stub(isolate(), state()); |
| 4617 stub.GenerateForTrampoline(masm); |
| 4618 } |
| 4619 |
| 4620 |
| 4621 void VectorStoreICStub::Generate(MacroAssembler* masm) { |
| 4622 GenerateImpl(masm, false); |
| 4623 } |
| 4624 |
| 4625 |
| 4626 void VectorStoreICStub::GenerateForTrampoline(MacroAssembler* masm) { |
| 4627 GenerateImpl(masm, true); |
| 4628 } |
| 4629 |
| 4630 |
| 4631 void VectorStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) { |
| 4632 Label miss; |
| 4633 |
| 4634 // TODO(mvstanton): Implement. |
| 4635 __ bind(&miss); |
| 4636 StoreIC::GenerateMiss(masm); |
| 4637 } |
| 4638 |
| 4639 |
| 4640 void VectorKeyedStoreICStub::Generate(MacroAssembler* masm) { |
| 4641 GenerateImpl(masm, false); |
| 4642 } |
| 4643 |
| 4644 |
| 4645 void VectorKeyedStoreICStub::GenerateForTrampoline(MacroAssembler* masm) { |
| 4646 GenerateImpl(masm, true); |
| 4647 } |
| 4648 |
| 4649 |
| 4650 void VectorKeyedStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) { |
| 4651 Label miss; |
| 4652 |
| 4653 // TODO(mvstanton): Implement. |
| 4654 __ bind(&miss); |
| 4655 KeyedStoreIC::GenerateMiss(masm); |
| 4656 } |
| 4657 |
| 4658 |
4607 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) { | 4659 void ProfileEntryHookStub::MaybeCallEntryHook(MacroAssembler* masm) { |
4608 if (masm->isolate()->function_entry_hook() != NULL) { | 4660 if (masm->isolate()->function_entry_hook() != NULL) { |
4609 ProfileEntryHookStub stub(masm->isolate()); | 4661 ProfileEntryHookStub stub(masm->isolate()); |
4610 int code_size = masm->CallStubSize(&stub) + 2 * Assembler::kInstrSize; | 4662 int code_size = masm->CallStubSize(&stub) + 2 * Assembler::kInstrSize; |
4611 PredictableCodeSizeScope predictable(masm, code_size); | 4663 PredictableCodeSizeScope predictable(masm, code_size); |
4612 __ push(lr); | 4664 __ push(lr); |
4613 __ CallStub(&stub); | 4665 __ CallStub(&stub); |
4614 __ pop(lr); | 4666 __ pop(lr); |
4615 } | 4667 } |
4616 } | 4668 } |
(...skipping 688 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5305 kStackUnwindSpace, NULL, | 5357 kStackUnwindSpace, NULL, |
5306 MemOperand(fp, 6 * kPointerSize), NULL); | 5358 MemOperand(fp, 6 * kPointerSize), NULL); |
5307 } | 5359 } |
5308 | 5360 |
5309 | 5361 |
5310 #undef __ | 5362 #undef __ |
5311 | 5363 |
5312 } } // namespace v8::internal | 5364 } } // namespace v8::internal |
5313 | 5365 |
5314 #endif // V8_TARGET_ARCH_ARM | 5366 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |