OLD | NEW |
1 //===- subzero/src/IceGlobalContext.h - Global context defs -----*- C++ -*-===// | 1 //===- subzero/src/IceGlobalContext.h - Global context defs -----*- C++ -*-===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file declares aspects of the compilation that persist across | 10 // This file declares aspects of the compilation that persist across |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 | 413 |
414 ICE_CACHELINE_BOUNDARY; | 414 ICE_CACHELINE_BOUNDARY; |
415 // Managed by getTimers() | 415 // Managed by getTimers() |
416 GlobalLockType TimerLock; | 416 GlobalLockType TimerLock; |
417 TimerList Timers; | 417 TimerList Timers; |
418 | 418 |
419 ICE_CACHELINE_BOUNDARY; | 419 ICE_CACHELINE_BOUNDARY; |
420 // StrLock is a global lock on the dump and emit output streams. | 420 // StrLock is a global lock on the dump and emit output streams. |
421 typedef std::mutex StrLockType; | 421 typedef std::mutex StrLockType; |
422 StrLockType StrLock; | 422 StrLockType StrLock; |
423 Ostream *StrDump; // Stream for dumping / diagnostics | 423 Ostream *StrDump; // Stream for dumping / diagnostics |
424 Ostream *StrEmit; // Stream for code emission | 424 Ostream *StrEmit; // Stream for code emission |
425 Ostream *StrError; // Stream for logging errors. | 425 Ostream *StrError; // Stream for logging errors. |
426 | 426 |
427 ICE_CACHELINE_BOUNDARY; | 427 ICE_CACHELINE_BOUNDARY; |
428 | 428 |
429 Intrinsics IntrinsicsInfo; | 429 Intrinsics IntrinsicsInfo; |
430 const ClFlags &Flags; | 430 const ClFlags &Flags; |
431 RandomNumberGenerator RNG; // TODO(stichnot): Move into Cfg. | 431 RandomNumberGenerator RNG; // TODO(stichnot): Move into Cfg. |
432 std::unique_ptr<ELFObjectWriter> ObjectWriter; | 432 std::unique_ptr<ELFObjectWriter> ObjectWriter; |
433 BoundedProducerConsumerQueue<Cfg> OptQ; | 433 BoundedProducerConsumerQueue<Cfg> OptQ; |
434 BoundedProducerConsumerQueue<EmitterWorkItem> EmitQ; | 434 BoundedProducerConsumerQueue<EmitterWorkItem> EmitQ; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 explicit OstreamLocker(GlobalContext *Ctx) : Ctx(Ctx) { Ctx->lockStr(); } | 510 explicit OstreamLocker(GlobalContext *Ctx) : Ctx(Ctx) { Ctx->lockStr(); } |
511 ~OstreamLocker() { Ctx->unlockStr(); } | 511 ~OstreamLocker() { Ctx->unlockStr(); } |
512 | 512 |
513 private: | 513 private: |
514 GlobalContext *const Ctx; | 514 GlobalContext *const Ctx; |
515 }; | 515 }; |
516 | 516 |
517 } // end of namespace Ice | 517 } // end of namespace Ice |
518 | 518 |
519 #endif // SUBZERO_SRC_ICEGLOBALCONTEXT_H | 519 #endif // SUBZERO_SRC_ICEGLOBALCONTEXT_H |
OLD | NEW |