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 Register receiver = LoadIC::kReceiverRegister; | 1225 static Register registers[] = { rax, rcx, rdx, rbx, rdi, r8 }; |
1226 Register name = LoadIC::kNameRegister; | |
1227 static Register registers[] = { receiver, name, rdx, rbx, rdi, r8 }; | |
1228 return registers; | 1226 return registers; |
1229 } | 1227 } |
1230 | 1228 |
1231 | 1229 |
1232 Register* KeyedLoadStubCompiler::registers() { | 1230 Register* KeyedLoadStubCompiler::registers() { |
1233 // receiver, name, scratch1, scratch2, scratch3, scratch4. | 1231 // receiver, name, scratch1, scratch2, scratch3, scratch4. |
1234 Register receiver = KeyedLoadIC::kReceiverRegister; | 1232 static Register registers[] = { rdx, rax, rbx, rcx, rdi, r8 }; |
1235 Register name = KeyedLoadIC::kNameRegister; | |
1236 static Register registers[] = { receiver, name, rbx, rcx, rdi, r8 }; | |
1237 return registers; | 1233 return registers; |
1238 } | 1234 } |
1239 | 1235 |
1240 | 1236 |
1241 Register StoreStubCompiler::value() { | 1237 Register StoreStubCompiler::value() { |
1242 return rax; | 1238 return rax; |
1243 } | 1239 } |
1244 | 1240 |
1245 | 1241 |
1246 Register* StoreStubCompiler::registers() { | 1242 Register* StoreStubCompiler::registers() { |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1431 // ----------------------------------- | 1427 // ----------------------------------- |
1432 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 1428 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |
1433 } | 1429 } |
1434 | 1430 |
1435 | 1431 |
1436 #undef __ | 1432 #undef __ |
1437 | 1433 |
1438 } } // namespace v8::internal | 1434 } } // namespace v8::internal |
1439 | 1435 |
1440 #endif // V8_TARGET_ARCH_X64 | 1436 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |