chromium/v8/test/cctest/wasm/test-wasm-shared-engine.cc

// Copyright 2018 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <memory>

#include "src/execution/microtask-queue.h"
#include "src/objects/objects-inl.h"
#include "src/wasm/function-compiler.h"
#include "src/wasm/wasm-engine.h"
#include "src/wasm/wasm-module-builder.h"
#include "src/wasm/wasm-module.h"
#include "src/wasm/wasm-objects-inl.h"

#include "test/cctest/cctest.h"
#include "test/common/wasm/test-signatures.h"
#include "test/common/wasm/wasm-macro-gen.h"
#include "test/common/wasm/wasm-module-runner.h"

namespace v8 {
namespace internal {
namespace wasm {
namespace test_wasm_shared_engine {

// Helper type definition representing a WebAssembly module shared between
// multiple Isolates with implicit reference counting.
SharedModule;

// Helper class representing an Isolate that uses the process-wide (shared) wasm
// engine.
class SharedEngineIsolate {};

// Helper class representing a Thread running its own instance of an Isolate
// with a shared WebAssembly engine available at construction time.
class SharedEngineThread : public v8::base::Thread {};

namespace {

ZoneBuffer* BuildReturnConstantModule(Zone* zone, int constant) {}

class MockInstantiationResolver : public InstantiationResultResolver {};

class MockCompilationResolver : public CompilationResultResolver {};

void PumpMessageLoop(SharedEngineIsolate* isolate) {}

Handle<WasmInstanceObject> CompileAndInstantiateAsync(
    SharedEngineIsolate* isolate, ZoneBuffer* buffer) {}

}  // namespace

TEST(SharedEngineRunSeparated) {}

TEST(SharedEngineRunImported) {}

TEST(SharedEngineRunThreadedBuildingSync) {}

TEST(SharedEngineRunThreadedBuildingAsync) {}

TEST(SharedEngineRunThreadedExecution) {}

TEST(SharedEngineRunThreadedTierUp) {}

}  // namespace test_wasm_shared_engine
}  // namespace wasm
}  // namespace internal
}  // namespace v8