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 #ifndef V8_CODE_STUBS_H_ | 5 #ifndef V8_CODE_STUBS_H_ |
6 #define V8_CODE_STUBS_H_ | 6 #define V8_CODE_STUBS_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
11 #include "src/globals.h" | 11 #include "src/globals.h" |
12 #include "src/ic/ic.h" | 12 #include "src/ic/ic.h" |
| 13 #include "src/ic/ic-conventions.h" |
13 #include "src/macro-assembler.h" | 14 #include "src/macro-assembler.h" |
14 #include "src/ostreams.h" | 15 #include "src/ostreams.h" |
15 | 16 |
16 namespace v8 { | 17 namespace v8 { |
17 namespace internal { | 18 namespace internal { |
18 | 19 |
19 // List of code stubs used on all platforms. | 20 // List of code stubs used on all platforms. |
20 #define CODE_STUB_LIST_ALL_PLATFORMS(V) \ | 21 #define CODE_STUB_LIST_ALL_PLATFORMS(V) \ |
21 V(CallFunction) \ | 22 V(CallFunction) \ |
22 V(CallConstruct) \ | 23 V(CallConstruct) \ |
(...skipping 2412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2435 // Parameters accessed via CodeStubGraphBuilder::GetParameter() | 2436 // Parameters accessed via CodeStubGraphBuilder::GetParameter() |
2436 enum ParameterIndices { | 2437 enum ParameterIndices { |
2437 kValueIndex, | 2438 kValueIndex, |
2438 kMapIndex, | 2439 kMapIndex, |
2439 kKeyIndex, | 2440 kKeyIndex, |
2440 kObjectIndex, | 2441 kObjectIndex, |
2441 kParameterCount | 2442 kParameterCount |
2442 }; | 2443 }; |
2443 | 2444 |
2444 static const Register ValueRegister() { | 2445 static const Register ValueRegister() { |
2445 return KeyedStoreIC::ValueRegister(); | 2446 return StoreConvention::ValueRegister(); |
2446 } | 2447 } |
2447 static const Register MapRegister() { return KeyedStoreIC::MapRegister(); } | 2448 static const Register MapRegister() { return StoreConvention::MapRegister(); } |
2448 static const Register KeyRegister() { return KeyedStoreIC::NameRegister(); } | 2449 static const Register KeyRegister() { |
| 2450 return StoreConvention::NameRegister(); |
| 2451 } |
2449 static const Register ObjectRegister() { | 2452 static const Register ObjectRegister() { |
2450 return KeyedStoreIC::ReceiverRegister(); | 2453 return StoreConvention::ReceiverRegister(); |
2451 } | 2454 } |
2452 | 2455 |
2453 private: | 2456 private: |
2454 class FromBits: public BitField<ElementsKind, 0, 8> {}; | 2457 class FromBits: public BitField<ElementsKind, 0, 8> {}; |
2455 class ToBits: public BitField<ElementsKind, 8, 8> {}; | 2458 class ToBits: public BitField<ElementsKind, 8, 8> {}; |
2456 class IsJSArrayBits: public BitField<bool, 16, 1> {}; | 2459 class IsJSArrayBits: public BitField<bool, 16, 1> {}; |
2457 class StoreModeBits: public BitField<KeyedAccessStoreMode, 17, 4> {}; | 2460 class StoreModeBits: public BitField<KeyedAccessStoreMode, 17, 4> {}; |
2458 | 2461 |
2459 Major MajorKey() const { return ElementsTransitionAndStore; } | 2462 Major MajorKey() const { return ElementsTransitionAndStore; } |
2460 int NotMissMinorKey() const { | 2463 int NotMissMinorKey() const { |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2537 | 2540 |
2538 | 2541 |
2539 class CallDescriptors { | 2542 class CallDescriptors { |
2540 public: | 2543 public: |
2541 static void InitializeForIsolate(Isolate* isolate); | 2544 static void InitializeForIsolate(Isolate* isolate); |
2542 }; | 2545 }; |
2543 | 2546 |
2544 } } // namespace v8::internal | 2547 } } // namespace v8::internal |
2545 | 2548 |
2546 #endif // V8_CODE_STUBS_H_ | 2549 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |