OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 | 90 |
91 // List of code stubs only used on MIPS platforms. | 91 // List of code stubs only used on MIPS platforms. |
92 #ifdef V8_TARGET_ARCH_MIPS | 92 #ifdef V8_TARGET_ARCH_MIPS |
93 #define CODE_STUB_LIST_MIPS(V) \ | 93 #define CODE_STUB_LIST_MIPS(V) \ |
94 V(RegExpCEntry) \ | 94 V(RegExpCEntry) \ |
95 V(DirectCEntry) | 95 V(DirectCEntry) |
96 #else | 96 #else |
97 #define CODE_STUB_LIST_MIPS(V) | 97 #define CODE_STUB_LIST_MIPS(V) |
98 #endif | 98 #endif |
99 | 99 |
| 100 // List of code stubs only used on SH4 platforms |
| 101 #ifdef V8_TARGET_ARCH_SH4 |
| 102 # define CODE_STUB_LIST_SH4(V) \ |
| 103 V(RegExpCEntry) \ |
| 104 V(DirectCEntry) |
| 105 #else |
| 106 #define CODE_STUB_LIST_SH4(V) |
| 107 #endif |
| 108 |
100 // Combined list of code stubs. | 109 // Combined list of code stubs. |
101 #define CODE_STUB_LIST(V) \ | 110 #define CODE_STUB_LIST(V) \ |
102 CODE_STUB_LIST_ALL_PLATFORMS(V) \ | 111 CODE_STUB_LIST_ALL_PLATFORMS(V) \ |
103 CODE_STUB_LIST_ARM(V) \ | 112 CODE_STUB_LIST_ARM(V) \ |
104 CODE_STUB_LIST_MIPS(V) | 113 CODE_STUB_LIST_MIPS(V) \ |
| 114 CODE_STUB_LIST_SH4(V) |
105 | 115 |
106 // Mode to overwrite BinaryExpression values. | 116 // Mode to overwrite BinaryExpression values. |
107 enum OverwriteMode { NO_OVERWRITE, OVERWRITE_LEFT, OVERWRITE_RIGHT }; | 117 enum OverwriteMode { NO_OVERWRITE, OVERWRITE_LEFT, OVERWRITE_RIGHT }; |
108 enum UnaryOverwriteMode { UNARY_OVERWRITE, UNARY_NO_OVERWRITE }; | 118 enum UnaryOverwriteMode { UNARY_OVERWRITE, UNARY_NO_OVERWRITE }; |
109 | 119 |
110 | 120 |
111 // Stub is base classes of all stubs. | 121 // Stub is base classes of all stubs. |
112 class CodeStub BASE_EMBEDDED { | 122 class CodeStub BASE_EMBEDDED { |
113 public: | 123 public: |
114 enum Major { | 124 enum Major { |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 } } // namespace v8::internal | 259 } } // namespace v8::internal |
250 | 260 |
251 #if V8_TARGET_ARCH_IA32 | 261 #if V8_TARGET_ARCH_IA32 |
252 #include "ia32/code-stubs-ia32.h" | 262 #include "ia32/code-stubs-ia32.h" |
253 #elif V8_TARGET_ARCH_X64 | 263 #elif V8_TARGET_ARCH_X64 |
254 #include "x64/code-stubs-x64.h" | 264 #include "x64/code-stubs-x64.h" |
255 #elif V8_TARGET_ARCH_ARM | 265 #elif V8_TARGET_ARCH_ARM |
256 #include "arm/code-stubs-arm.h" | 266 #include "arm/code-stubs-arm.h" |
257 #elif V8_TARGET_ARCH_MIPS | 267 #elif V8_TARGET_ARCH_MIPS |
258 #include "mips/code-stubs-mips.h" | 268 #include "mips/code-stubs-mips.h" |
| 269 #elif V8_TARGET_ARCH_SH4 |
| 270 #include "sh4/code-stubs-sh4.h" |
259 #else | 271 #else |
260 #error Unsupported target architecture. | 272 #error Unsupported target architecture. |
261 #endif | 273 #endif |
262 | 274 |
263 namespace v8 { | 275 namespace v8 { |
264 namespace internal { | 276 namespace internal { |
265 | 277 |
266 | 278 |
267 // RuntimeCallHelper implementation used in stubs: enters/leaves a | 279 // RuntimeCallHelper implementation used in stubs: enters/leaves a |
268 // newly created internal frame before/after the runtime call. | 280 // newly created internal frame before/after the runtime call. |
(...skipping 913 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1182 | 1194 |
1183 // The current function entry hook. | 1195 // The current function entry hook. |
1184 static FunctionEntryHook entry_hook_; | 1196 static FunctionEntryHook entry_hook_; |
1185 | 1197 |
1186 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); | 1198 DISALLOW_COPY_AND_ASSIGN(ProfileEntryHookStub); |
1187 }; | 1199 }; |
1188 | 1200 |
1189 } } // namespace v8::internal | 1201 } } // namespace v8::internal |
1190 | 1202 |
1191 #endif // V8_CODE_STUBS_H_ | 1203 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |