V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
asm-js.h
1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef V8_ASMJS_ASM_JS_H_
6 #define V8_ASMJS_ASM_JS_H_
7 
8 // Clients of this interface shouldn't depend on lots of asmjs internals.
9 // Do not include anything from src/asmjs here!
10 #include "src/globals.h"
11 
12 namespace v8 {
13 namespace internal {
14 
15 class AccountingAllocator;
16 class AsmWasmData;
17 class FunctionLiteral;
18 class JSArrayBuffer;
19 class ParseInfo;
20 class SharedFunctionInfo;
21 class UnoptimizedCompilationJob;
22 
23 // Interface to compile and instantiate for asm.js modules.
24 class AsmJs {
25  public:
26  static UnoptimizedCompilationJob* NewCompilationJob(
27  ParseInfo* parse_info, FunctionLiteral* literal,
28  AccountingAllocator* allocator);
29  static MaybeHandle<Object> InstantiateAsmWasm(Isolate* isolate,
31  Handle<AsmWasmData> wasm_data,
32  Handle<JSReceiver> stdlib,
33  Handle<JSReceiver> foreign,
34  Handle<JSArrayBuffer> memory);
35 
36  // Special export name used to indicate that the module exports a single
37  // function instead of a JavaScript object holding multiple functions.
38  static const char* const kSingleFunctionName;
39 };
40 
41 } // namespace internal
42 } // namespace v8
43 
44 #endif // V8_ASMJS_ASM_JS_H_
Definition: libplatform.h:13