Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(312)

Side by Side Diff: src/wasm/module-compiler.h

Issue 2959963002: [wasm] Move the CallDescriptor creation methods out of ModuleEnv into the compiler. (Closed)
Patch Set: Include wasm-compiler.h from wasm-linkage.cc Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/wasm-linkage.cc ('k') | src/wasm/wasm-module.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 the V8 project authors. All rights reserved. 1 // Copyright 2017 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_WASM_MODULE_COMPILER_H_ 5 #ifndef V8_WASM_MODULE_COMPILER_H_
6 #define V8_WASM_MODULE_COMPILER_H_ 6 #define V8_WASM_MODULE_COMPILER_H_
7 7
8 #include <functional> 8 #include <functional>
9 9
10 #include "src/base/atomic-utils.h" 10 #include "src/base/atomic-utils.h"
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 }; 257 };
258 258
259 // Encapsulates all the state and steps of an asynchronous compilation. 259 // Encapsulates all the state and steps of an asynchronous compilation.
260 // An asynchronous compile job consists of a number of tasks that are executed 260 // An asynchronous compile job consists of a number of tasks that are executed
261 // as foreground and background tasks. Any phase that touches the V8 heap or 261 // as foreground and background tasks. Any phase that touches the V8 heap or
262 // allocates on the V8 heap (e.g. creating the module object) must be a 262 // allocates on the V8 heap (e.g. creating the module object) must be a
263 // foreground task. All other tasks (e.g. decoding and validating, the majority 263 // foreground task. All other tasks (e.g. decoding and validating, the majority
264 // of the work of compilation) can be background tasks. 264 // of the work of compilation) can be background tasks.
265 // TODO(wasm): factor out common parts of this with the synchronous pipeline. 265 // TODO(wasm): factor out common parts of this with the synchronous pipeline.
266 class AsyncCompileJob { 266 class AsyncCompileJob {
267 // TODO(ahaas): Fix https://bugs.chromium.org/p/v8/issues/detail?id=6263 to
268 // make sure that d8 does not shut down before the AsyncCompileJob is
269 // finished.
270 public: 267 public:
271 explicit AsyncCompileJob(Isolate* isolate, std::unique_ptr<byte[]> bytes_copy, 268 explicit AsyncCompileJob(Isolate* isolate, std::unique_ptr<byte[]> bytes_copy,
272 size_t length, Handle<Context> context, 269 size_t length, Handle<Context> context,
273 Handle<JSPromise> promise); 270 Handle<JSPromise> promise);
274 271
275 void Start(); 272 void Start();
276 273
277 ~AsyncCompileJob(); 274 ~AsyncCompileJob();
278 275
279 private: 276 private:
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 328
332 template <typename Task, typename... Args> 329 template <typename Task, typename... Args>
333 void DoAsync(Args&&... args); 330 void DoAsync(Args&&... args);
334 }; 331 };
335 332
336 } // namespace wasm 333 } // namespace wasm
337 } // namespace internal 334 } // namespace internal
338 } // namespace v8 335 } // namespace v8
339 336
340 #endif // V8_WASM_MODULE_COMPILER_H_ 337 #endif // V8_WASM_MODULE_COMPILER_H_
OLDNEW
« no previous file with comments | « src/compiler/wasm-linkage.cc ('k') | src/wasm/wasm-module.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698