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 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
287 class MajorKeyBits: public BitField<uint32_t, 0, kStubMajorKeyBits> {}; | 287 class MajorKeyBits: public BitField<uint32_t, 0, kStubMajorKeyBits> {}; |
288 class MinorKeyBits: public BitField<uint32_t, | 288 class MinorKeyBits: public BitField<uint32_t, |
289 kStubMajorKeyBits, kStubMinorKeyBits> {}; // NOLINT | 289 kStubMajorKeyBits, kStubMinorKeyBits> {}; // NOLINT |
290 | 290 |
291 friend class BreakPointIterator; | 291 friend class BreakPointIterator; |
292 | 292 |
293 Isolate* isolate_; | 293 Isolate* isolate_; |
294 }; | 294 }; |
295 | 295 |
296 | 296 |
| 297 // TODO(svenpanne) This class is only used to construct a more or less sensible |
| 298 // CompilationInfo for testing purposes, basically pretending that we are |
| 299 // currently compiling some kind of code stub. Remove this when the pipeline and |
| 300 // testing machinery is restructured in such a way that we don't have to come up |
| 301 // with a CompilationInfo out of thin air, although we only need a few parts of |
| 302 // it. |
| 303 struct FakeStubForTesting : public CodeStub { |
| 304 explicit FakeStubForTesting(Isolate* isolate) : CodeStub(isolate) {} |
| 305 |
| 306 // Only used by pipeline.cc's GetDebugName in DEBUG mode. |
| 307 Major MajorKey() const OVERRIDE { return CodeStub::NoCache; } |
| 308 |
| 309 CallInterfaceDescriptor GetCallInterfaceDescriptor() OVERRIDE { |
| 310 UNREACHABLE(); |
| 311 return CallInterfaceDescriptor(); |
| 312 } |
| 313 |
| 314 Handle<Code> GenerateCode() OVERRIDE { |
| 315 UNREACHABLE(); |
| 316 return Handle<Code>(); |
| 317 } |
| 318 }; |
| 319 |
| 320 |
297 #define DEFINE_CODE_STUB_BASE(NAME, SUPER) \ | 321 #define DEFINE_CODE_STUB_BASE(NAME, SUPER) \ |
298 public: \ | 322 public: \ |
299 NAME(uint32_t key, Isolate* isolate) : SUPER(key, isolate) {} \ | 323 NAME(uint32_t key, Isolate* isolate) : SUPER(key, isolate) {} \ |
300 \ | 324 \ |
301 private: \ | 325 private: \ |
302 DISALLOW_COPY_AND_ASSIGN(NAME) | 326 DISALLOW_COPY_AND_ASSIGN(NAME) |
303 | 327 |
304 | 328 |
305 #define DEFINE_CODE_STUB(NAME, SUPER) \ | 329 #define DEFINE_CODE_STUB(NAME, SUPER) \ |
306 protected: \ | 330 protected: \ |
(...skipping 2383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2690 | 2714 |
2691 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR | 2715 #undef DEFINE_CALL_INTERFACE_DESCRIPTOR |
2692 #undef DEFINE_PLATFORM_CODE_STUB | 2716 #undef DEFINE_PLATFORM_CODE_STUB |
2693 #undef DEFINE_HANDLER_CODE_STUB | 2717 #undef DEFINE_HANDLER_CODE_STUB |
2694 #undef DEFINE_HYDROGEN_CODE_STUB | 2718 #undef DEFINE_HYDROGEN_CODE_STUB |
2695 #undef DEFINE_CODE_STUB | 2719 #undef DEFINE_CODE_STUB |
2696 #undef DEFINE_CODE_STUB_BASE | 2720 #undef DEFINE_CODE_STUB_BASE |
2697 } } // namespace v8::internal | 2721 } } // namespace v8::internal |
2698 | 2722 |
2699 #endif // V8_CODE_STUBS_H_ | 2723 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |