| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_X64 | 7 #if V8_TARGET_ARCH_X64 |
| 8 | 8 |
| 9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 4557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4568 | 4568 |
| 4569 __ bind(&miss); | 4569 __ bind(&miss); |
| 4570 KeyedLoadIC::GenerateMiss(masm); | 4570 KeyedLoadIC::GenerateMiss(masm); |
| 4571 | 4571 |
| 4572 __ bind(&load_smi_map); | 4572 __ bind(&load_smi_map); |
| 4573 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex); | 4573 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex); |
| 4574 __ jmp(&compare_map); | 4574 __ jmp(&compare_map); |
| 4575 } | 4575 } |
| 4576 | 4576 |
| 4577 | 4577 |
| 4578 void VectorStoreICTrampolineStub::Generate(MacroAssembler* masm) { |
| 4579 EmitLoadTypeFeedbackVector(masm, VectorStoreICDescriptor::VectorRegister()); |
| 4580 VectorStoreICStub stub(isolate(), state()); |
| 4581 stub.GenerateForTrampoline(masm); |
| 4582 } |
| 4583 |
| 4584 |
| 4585 void VectorKeyedStoreICTrampolineStub::Generate(MacroAssembler* masm) { |
| 4586 EmitLoadTypeFeedbackVector(masm, VectorStoreICDescriptor::VectorRegister()); |
| 4587 VectorKeyedStoreICStub stub(isolate(), state()); |
| 4588 stub.GenerateForTrampoline(masm); |
| 4589 } |
| 4590 |
| 4591 |
| 4592 void VectorStoreICStub::Generate(MacroAssembler* masm) { |
| 4593 GenerateImpl(masm, false); |
| 4594 } |
| 4595 |
| 4596 |
| 4597 void VectorStoreICStub::GenerateForTrampoline(MacroAssembler* masm) { |
| 4598 GenerateImpl(masm, true); |
| 4599 } |
| 4600 |
| 4601 |
| 4602 void VectorStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) { |
| 4603 Label miss; |
| 4604 |
| 4605 // TODO(mvstanton): Implement. |
| 4606 __ bind(&miss); |
| 4607 StoreIC::GenerateMiss(masm); |
| 4608 } |
| 4609 |
| 4610 |
| 4611 void VectorKeyedStoreICStub::Generate(MacroAssembler* masm) { |
| 4612 GenerateImpl(masm, false); |
| 4613 } |
| 4614 |
| 4615 |
| 4616 void VectorKeyedStoreICStub::GenerateForTrampoline(MacroAssembler* masm) { |
| 4617 GenerateImpl(masm, true); |
| 4618 } |
| 4619 |
| 4620 |
| 4621 void VectorKeyedStoreICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) { |
| 4622 Label miss; |
| 4623 |
| 4624 // TODO(mvstanton): Implement. |
| 4625 __ bind(&miss); |
| 4626 KeyedStoreIC::GenerateMiss(masm); |
| 4627 } |
| 4628 |
| 4629 |
| 4578 void CallICTrampolineStub::Generate(MacroAssembler* masm) { | 4630 void CallICTrampolineStub::Generate(MacroAssembler* masm) { |
| 4579 EmitLoadTypeFeedbackVector(masm, rbx); | 4631 EmitLoadTypeFeedbackVector(masm, rbx); |
| 4580 CallICStub stub(isolate(), state()); | 4632 CallICStub stub(isolate(), state()); |
| 4581 __ jmp(stub.GetCode(), RelocInfo::CODE_TARGET); | 4633 __ jmp(stub.GetCode(), RelocInfo::CODE_TARGET); |
| 4582 } | 4634 } |
| 4583 | 4635 |
| 4584 | 4636 |
| 4585 void CallIC_ArrayTrampolineStub::Generate(MacroAssembler* masm) { | 4637 void CallIC_ArrayTrampolineStub::Generate(MacroAssembler* masm) { |
| 4586 EmitLoadTypeFeedbackVector(masm, rbx); | 4638 EmitLoadTypeFeedbackVector(masm, rbx); |
| 4587 CallIC_ArrayStub stub(isolate(), state()); | 4639 CallIC_ArrayStub stub(isolate(), state()); |
| (...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5371 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, getter_arg, | 5423 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, getter_arg, |
| 5372 kStackSpace, nullptr, return_value_operand, NULL); | 5424 kStackSpace, nullptr, return_value_operand, NULL); |
| 5373 } | 5425 } |
| 5374 | 5426 |
| 5375 | 5427 |
| 5376 #undef __ | 5428 #undef __ |
| 5377 | 5429 |
| 5378 } } // namespace v8::internal | 5430 } } // namespace v8::internal |
| 5379 | 5431 |
| 5380 #endif // V8_TARGET_ARCH_X64 | 5432 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |