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/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 2873 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2884 } | 2884 } |
2885 if (no_frame_start != -1) { | 2885 if (no_frame_start != -1) { |
2886 info_->AddNoFrameRange(no_frame_start, masm_->pc_offset()); | 2886 info_->AddNoFrameRange(no_frame_start, masm_->pc_offset()); |
2887 } | 2887 } |
2888 } | 2888 } |
2889 | 2889 |
2890 | 2890 |
2891 template <class T> | 2891 template <class T> |
2892 void LCodeGen::EmitVectorLoadICRegisters(T* instr) { | 2892 void LCodeGen::EmitVectorLoadICRegisters(T* instr) { |
2893 Register vector_register = ToRegister(instr->temp_vector()); | 2893 Register vector_register = ToRegister(instr->temp_vector()); |
2894 Register slot_register = VectorLoadICDescriptor::SlotRegister(); | 2894 Register slot_register = LoadWithVectorDescriptor::SlotRegister(); |
2895 DCHECK(vector_register.is(VectorLoadICDescriptor::VectorRegister())); | 2895 DCHECK(vector_register.is(LoadWithVectorDescriptor::VectorRegister())); |
2896 DCHECK(slot_register.is(rax)); | 2896 DCHECK(slot_register.is(rax)); |
2897 | 2897 |
2898 AllowDeferredHandleDereference vector_structure_check; | 2898 AllowDeferredHandleDereference vector_structure_check; |
2899 Handle<TypeFeedbackVector> vector = instr->hydrogen()->feedback_vector(); | 2899 Handle<TypeFeedbackVector> vector = instr->hydrogen()->feedback_vector(); |
2900 __ Move(vector_register, vector); | 2900 __ Move(vector_register, vector); |
2901 // No need to allocate this register. | 2901 // No need to allocate this register. |
2902 FeedbackVectorICSlot slot = instr->hydrogen()->slot(); | 2902 FeedbackVectorICSlot slot = instr->hydrogen()->slot(); |
2903 int index = vector->GetIndex(slot); | 2903 int index = vector->GetIndex(slot); |
2904 __ Move(slot_register, Smi::FromInt(index)); | 2904 __ Move(slot_register, Smi::FromInt(index)); |
2905 } | 2905 } |
(...skipping 3128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6034 CallRuntime(Runtime::kPushBlockContext, 2, instr); | 6034 CallRuntime(Runtime::kPushBlockContext, 2, instr); |
6035 RecordSafepoint(Safepoint::kNoLazyDeopt); | 6035 RecordSafepoint(Safepoint::kNoLazyDeopt); |
6036 } | 6036 } |
6037 | 6037 |
6038 | 6038 |
6039 #undef __ | 6039 #undef __ |
6040 | 6040 |
6041 } } // namespace v8::internal | 6041 } } // namespace v8::internal |
6042 | 6042 |
6043 #endif // V8_TARGET_ARCH_X64 | 6043 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |