| 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_X64 | 7 #if V8_TARGET_ARCH_X64 |
| 8 | 8 |
| 9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
| 10 #include "src/ic-inl.h" | 10 #include "src/ic-inl.h" |
| (...skipping 998 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1009 ASSERT(FLAG_vector_ics); | 1009 ASSERT(FLAG_vector_ics); |
| 1010 return rbx; | 1010 return rbx; |
| 1011 } | 1011 } |
| 1012 | 1012 |
| 1013 | 1013 |
| 1014 const Register StoreIC::ReceiverRegister() { return rdx; } | 1014 const Register StoreIC::ReceiverRegister() { return rdx; } |
| 1015 const Register StoreIC::NameRegister() { return rcx; } | 1015 const Register StoreIC::NameRegister() { return rcx; } |
| 1016 const Register StoreIC::ValueRegister() { return rax; } | 1016 const Register StoreIC::ValueRegister() { return rax; } |
| 1017 | 1017 |
| 1018 | 1018 |
| 1019 const Register KeyedStoreIC::ReceiverRegister() { | |
| 1020 return StoreIC::ReceiverRegister(); | |
| 1021 } | |
| 1022 | |
| 1023 | |
| 1024 const Register KeyedStoreIC::NameRegister() { | |
| 1025 return StoreIC::NameRegister(); | |
| 1026 } | |
| 1027 | |
| 1028 | |
| 1029 const Register KeyedStoreIC::ValueRegister() { | |
| 1030 return StoreIC::ValueRegister(); | |
| 1031 } | |
| 1032 | |
| 1033 | |
| 1034 const Register KeyedStoreIC::MapRegister() { | 1019 const Register KeyedStoreIC::MapRegister() { |
| 1035 return rbx; | 1020 return rbx; |
| 1036 } | 1021 } |
| 1037 | 1022 |
| 1038 | 1023 |
| 1039 void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) { | 1024 void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) { |
| 1040 // The return address is on the stack. | 1025 // The return address is on the stack. |
| 1041 | 1026 |
| 1042 __ PopReturnAddressTo(KeyedLoadIC_TempRegister()); | 1027 __ PopReturnAddressTo(KeyedLoadIC_TempRegister()); |
| 1043 __ Push(ReceiverRegister()); // receiver | 1028 __ Push(ReceiverRegister()); // receiver |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1243 Condition cc = (check == ENABLE_INLINED_SMI_CHECK) | 1228 Condition cc = (check == ENABLE_INLINED_SMI_CHECK) |
| 1244 ? (*jmp_address == Assembler::kJncShortOpcode ? not_zero : zero) | 1229 ? (*jmp_address == Assembler::kJncShortOpcode ? not_zero : zero) |
| 1245 : (*jmp_address == Assembler::kJnzShortOpcode ? not_carry : carry); | 1230 : (*jmp_address == Assembler::kJnzShortOpcode ? not_carry : carry); |
| 1246 *jmp_address = static_cast<byte>(Assembler::kJccShortPrefix | cc); | 1231 *jmp_address = static_cast<byte>(Assembler::kJccShortPrefix | cc); |
| 1247 } | 1232 } |
| 1248 | 1233 |
| 1249 | 1234 |
| 1250 } } // namespace v8::internal | 1235 } } // namespace v8::internal |
| 1251 | 1236 |
| 1252 #endif // V8_TARGET_ARCH_X64 | 1237 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |