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