OLD | NEW |
1 //===- subzero/src/IceBrowserCompileServer.h - Browser server ---*- C++ -*-===// | 1 //===- subzero/src/IceBrowserCompileServer.h - Browser server ---*- 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 the browser-specific compile server. | 10 // This file declares the browser-specific compile server. |
11 // | 11 // |
12 //===----------------------------------------------------------------------===// | 12 //===----------------------------------------------------------------------===// |
13 | 13 |
14 #ifndef SUBZERO_SRC_ICEBROWSERCOMPILESERVER_H | 14 #ifndef SUBZERO_SRC_ICEBROWSERCOMPILESERVER_H |
15 #define SUBZERO_SRC_ICEBROWSERCOMPILESERVER_H | 15 #define SUBZERO_SRC_ICEBROWSERCOMPILESERVER_H |
16 | 16 |
17 #include <thread> | 17 #include <thread> |
18 | 18 |
19 #include "IceClFlags.h" | 19 #include "IceClFlags.h" |
20 #include "IceClFlagsExtra.h" | 20 #include "IceClFlagsExtra.h" |
21 #include "IceCompileServer.h" | 21 #include "IceCompileServer.h" |
22 #include "IceDefs.h" | 22 #include "IceDefs.h" |
23 #include "IceELFStreamer.h" | 23 #include "IceELFStreamer.h" |
24 | 24 |
25 namespace llvm { | 25 namespace llvm { |
26 class QueueStreamer; | 26 class QueueStreamer; |
27 class raw_fd_ostream; | 27 class raw_fd_ostream; |
28 }; | 28 } |
29 | 29 |
30 namespace Ice { | 30 namespace Ice { |
31 | 31 |
32 // The browser variant of the compile server. | 32 // The browser variant of the compile server. |
33 // Compared to the commandline version, this version gets compile | 33 // Compared to the commandline version, this version gets compile |
34 // requests over IPC. Each compile request will have a slimmed down | 34 // requests over IPC. Each compile request will have a slimmed down |
35 // version of argc, argv while other flags are set to defaults that | 35 // version of argc, argv while other flags are set to defaults that |
36 // make sense in the browser case. The output file is specified via | 36 // make sense in the browser case. The output file is specified via |
37 // a posix FD, and input bytes are pushed to the server. | 37 // a posix FD, and input bytes are pushed to the server. |
38 class BrowserCompileServer : public CompileServer { | 38 class BrowserCompileServer : public CompileServer { |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 std::unique_ptr<llvm::raw_fd_ostream> EmitStream; | 86 std::unique_ptr<llvm::raw_fd_ostream> EmitStream; |
87 std::unique_ptr<ELFStreamer> ELFStream; | 87 std::unique_ptr<ELFStreamer> ELFStream; |
88 ClFlags Flags; | 88 ClFlags Flags; |
89 ClFlagsExtra ExtraFlags; | 89 ClFlagsExtra ExtraFlags; |
90 std::thread CompileThread; | 90 std::thread CompileThread; |
91 }; | 91 }; |
92 | 92 |
93 } // end of namespace Ice | 93 } // end of namespace Ice |
94 | 94 |
95 #endif // SUBZERO_SRC_ICEBROWSERCOMPILESERVER_H | 95 #endif // SUBZERO_SRC_ICEBROWSERCOMPILESERVER_H |
OLD | NEW |