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" |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 V(StoreRegistersState) | 160 V(StoreRegistersState) |
161 #elif V8_TARGET_ARCH_MIPS64 | 161 #elif V8_TARGET_ARCH_MIPS64 |
162 #define CODE_STUB_LIST_MIPS(V) \ | 162 #define CODE_STUB_LIST_MIPS(V) \ |
163 V(DirectCEntry) \ | 163 V(DirectCEntry) \ |
164 V(RestoreRegistersState) \ | 164 V(RestoreRegistersState) \ |
165 V(StoreRegistersState) | 165 V(StoreRegistersState) |
166 #else | 166 #else |
167 #define CODE_STUB_LIST_MIPS(V) | 167 #define CODE_STUB_LIST_MIPS(V) |
168 #endif | 168 #endif |
169 | 169 |
| 170 // List of code stubs only used on S390 platforms. |
| 171 #ifdef V8_TARGET_ARCH_S390 |
| 172 #define CODE_STUB_LIST_S390(V) \ |
| 173 V(DirectCEntry) \ |
| 174 V(StoreRegistersState) \ |
| 175 V(RestoreRegistersState) |
| 176 #else |
| 177 #define CODE_STUB_LIST_S390(V) |
| 178 #endif |
| 179 |
170 // Combined list of code stubs. | 180 // Combined list of code stubs. |
171 #define CODE_STUB_LIST(V) \ | 181 #define CODE_STUB_LIST(V) \ |
172 CODE_STUB_LIST_ALL_PLATFORMS(V) \ | 182 CODE_STUB_LIST_ALL_PLATFORMS(V) \ |
173 CODE_STUB_LIST_ARM(V) \ | 183 CODE_STUB_LIST_ARM(V) \ |
174 CODE_STUB_LIST_ARM64(V) \ | 184 CODE_STUB_LIST_ARM64(V) \ |
175 CODE_STUB_LIST_PPC(V) \ | 185 CODE_STUB_LIST_PPC(V) \ |
176 CODE_STUB_LIST_MIPS(V) | 186 CODE_STUB_LIST_MIPS(V) \ |
| 187 CODE_STUB_LIST_S390(V) |
177 | 188 |
178 static const int kHasReturnedMinusZeroSentinel = 1; | 189 static const int kHasReturnedMinusZeroSentinel = 1; |
179 | 190 |
180 // Stub is base classes of all stubs. | 191 // Stub is base classes of all stubs. |
181 class CodeStub BASE_EMBEDDED { | 192 class CodeStub BASE_EMBEDDED { |
182 public: | 193 public: |
183 enum Major { | 194 enum Major { |
184 // TODO(mvstanton): eliminate the NoCache key by getting rid | 195 // TODO(mvstanton): eliminate the NoCache key by getting rid |
185 // of the non-monomorphic-cache. | 196 // of the non-monomorphic-cache. |
186 NoCache = 0, // marker for stubs that do custom caching] | 197 NoCache = 0, // marker for stubs that do custom caching] |
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
586 #elif V8_TARGET_ARCH_ARM64 | 597 #elif V8_TARGET_ARCH_ARM64 |
587 #include "src/arm64/code-stubs-arm64.h" | 598 #include "src/arm64/code-stubs-arm64.h" |
588 #elif V8_TARGET_ARCH_ARM | 599 #elif V8_TARGET_ARCH_ARM |
589 #include "src/arm/code-stubs-arm.h" | 600 #include "src/arm/code-stubs-arm.h" |
590 #elif V8_TARGET_ARCH_PPC | 601 #elif V8_TARGET_ARCH_PPC |
591 #include "src/ppc/code-stubs-ppc.h" | 602 #include "src/ppc/code-stubs-ppc.h" |
592 #elif V8_TARGET_ARCH_MIPS | 603 #elif V8_TARGET_ARCH_MIPS |
593 #include "src/mips/code-stubs-mips.h" | 604 #include "src/mips/code-stubs-mips.h" |
594 #elif V8_TARGET_ARCH_MIPS64 | 605 #elif V8_TARGET_ARCH_MIPS64 |
595 #include "src/mips64/code-stubs-mips64.h" | 606 #include "src/mips64/code-stubs-mips64.h" |
| 607 #elif V8_TARGET_ARCH_S390 |
| 608 #include "src/s390/code-stubs-s390.h" |
596 #elif V8_TARGET_ARCH_X87 | 609 #elif V8_TARGET_ARCH_X87 |
597 #include "src/x87/code-stubs-x87.h" | 610 #include "src/x87/code-stubs-x87.h" |
598 #else | 611 #else |
599 #error Unsupported target architecture. | 612 #error Unsupported target architecture. |
600 #endif | 613 #endif |
601 | 614 |
602 namespace v8 { | 615 namespace v8 { |
603 namespace internal { | 616 namespace internal { |
604 | 617 |
605 | 618 |
(...skipping 2341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2947 #undef DEFINE_HYDROGEN_CODE_STUB | 2960 #undef DEFINE_HYDROGEN_CODE_STUB |
2948 #undef DEFINE_CODE_STUB | 2961 #undef DEFINE_CODE_STUB |
2949 #undef DEFINE_CODE_STUB_BASE | 2962 #undef DEFINE_CODE_STUB_BASE |
2950 | 2963 |
2951 extern Representation RepresentationFromType(Type* type); | 2964 extern Representation RepresentationFromType(Type* type); |
2952 | 2965 |
2953 } // namespace internal | 2966 } // namespace internal |
2954 } // namespace v8 | 2967 } // namespace v8 |
2955 | 2968 |
2956 #endif // V8_CODE_STUBS_H_ | 2969 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |