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/arguments.h" | 9 #include "src/arguments.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 1204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1215 __ LoadRoot(rax, Heap::kUndefinedValueRootIndex); | 1215 __ LoadRoot(rax, Heap::kUndefinedValueRootIndex); |
1216 __ ret(0); | 1216 __ ret(0); |
1217 | 1217 |
1218 // Return the generated code. | 1218 // Return the generated code. |
1219 return GetCode(kind(), Code::FAST, name); | 1219 return GetCode(kind(), Code::FAST, name); |
1220 } | 1220 } |
1221 | 1221 |
1222 | 1222 |
1223 Register* LoadStubCompiler::registers() { | 1223 Register* LoadStubCompiler::registers() { |
1224 // receiver, name, scratch1, scratch2, scratch3, scratch4. | 1224 // receiver, name, scratch1, scratch2, scratch3, scratch4. |
1225 static Register registers[] = { rax, rcx, rdx, rbx, rdi, r8 }; | 1225 Register receiver = LoadIC::ReceiverRegister(); |
| 1226 Register name = LoadIC::NameRegister(); |
| 1227 static Register registers[] = { receiver, name, rdx, rbx, rdi, r8 }; |
1226 return registers; | 1228 return registers; |
1227 } | 1229 } |
1228 | 1230 |
1229 | 1231 |
1230 Register* KeyedLoadStubCompiler::registers() { | 1232 Register* KeyedLoadStubCompiler::registers() { |
1231 // receiver, name, scratch1, scratch2, scratch3, scratch4. | 1233 // receiver, name, scratch1, scratch2, scratch3, scratch4. |
1232 static Register registers[] = { rdx, rax, rbx, rcx, rdi, r8 }; | 1234 Register receiver = KeyedLoadIC::ReceiverRegister(); |
| 1235 Register name = KeyedLoadIC::NameRegister(); |
| 1236 static Register registers[] = { receiver, name, rbx, rcx, rdi, r8 }; |
1233 return registers; | 1237 return registers; |
1234 } | 1238 } |
1235 | 1239 |
1236 | 1240 |
1237 Register StoreStubCompiler::value() { | 1241 Register StoreStubCompiler::value() { |
1238 return rax; | 1242 return rax; |
1239 } | 1243 } |
1240 | 1244 |
1241 | 1245 |
1242 Register* StoreStubCompiler::registers() { | 1246 Register* StoreStubCompiler::registers() { |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1427 // ----------------------------------- | 1431 // ----------------------------------- |
1428 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 1432 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |
1429 } | 1433 } |
1430 | 1434 |
1431 | 1435 |
1432 #undef __ | 1436 #undef __ |
1433 | 1437 |
1434 } } // namespace v8::internal | 1438 } } // namespace v8::internal |
1435 | 1439 |
1436 #endif // V8_TARGET_ARCH_X64 | 1440 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |