#include "src/wasm/wasm-module-builder.h"
#include "test/cctest/cctest.h"
#include "test/cctest/wasm/wasm-run-utils.h"
#include "test/common/wasm/test-signatures.h"
#include "test/common/wasm/wasm-macro-gen.h"
namespace v8 {
namespace internal {
namespace wasm {
namespace test_run_wasm_bulk_memory {
namespace {
void CheckMemoryEquals(TestingModuleBuilder* builder, size_t index,
const std::vector<uint8_t>& expected) { … }
void CheckMemoryEqualsZero(TestingModuleBuilder* builder, size_t index,
size_t length) { … }
void CheckMemoryEqualsFollowedByZeroes(TestingModuleBuilder* builder,
const std::vector<uint8_t>& expected) { … }
}
WASM_EXEC_TEST(MemoryInit) { … }
WASM_EXEC_TEST(MemoryInitOutOfBoundsData) { … }
WASM_EXEC_TEST(MemoryInitOutOfBounds) { … }
WASM_EXEC_TEST(MemoryCopy) { … }
WASM_EXEC_TEST(MemoryCopyOverlapping) { … }
WASM_EXEC_TEST(MemoryCopyOutOfBoundsData) { … }
WASM_EXEC_TEST(MemoryCopyOutOfBounds) { … }
WASM_EXEC_TEST(MemoryFill) { … }
WASM_EXEC_TEST(MemoryFillValueWrapsToByte) { … }
WASM_EXEC_TEST(MemoryFillOutOfBoundsData) { … }
WASM_EXEC_TEST(MemoryFillOutOfBounds) { … }
WASM_EXEC_TEST(DataDropTwice) { … }
WASM_EXEC_TEST(DataDropThenMemoryInit) { … }
void TestTableCopyInbounds(TestExecutionTier execution_tier, int table_dst,
int table_src) { … }
WASM_COMPILED_EXEC_TEST(TableCopyInboundsFrom0To0) { … }
WASM_COMPILED_EXEC_TEST(TableCopyInboundsFrom3To0) { … }
WASM_COMPILED_EXEC_TEST(TableCopyInboundsFrom5To9) { … }
WASM_COMPILED_EXEC_TEST(TableCopyInboundsFrom6To6) { … }
namespace {
template <typename... Args>
void CheckTable(Isolate* isolate, DirectHandle<WasmTableObject> table,
Args... args) { … }
template <typename WasmRunner, typename... Args>
void CheckTableCall(Isolate* isolate, DirectHandle<WasmTableObject> table,
WasmRunner* r, uint32_t function_index, Args... args) { … }
}
void TestTableCopyElems(TestExecutionTier execution_tier, int table_dst,
int table_src) { … }
WASM_COMPILED_EXEC_TEST(TableCopyElemsFrom0To0) { … }
WASM_COMPILED_EXEC_TEST(TableCopyElemsFrom3To0) { … }
WASM_COMPILED_EXEC_TEST(TableCopyElemsFrom5To9) { … }
WASM_COMPILED_EXEC_TEST(TableCopyElemsFrom6To6) { … }
void TestTableCopyCalls(TestExecutionTier execution_tier, int table_dst,
int table_src) { … }
WASM_COMPILED_EXEC_TEST(TableCopyCallsTo0From0) { … }
WASM_COMPILED_EXEC_TEST(TableCopyCallsTo3From0) { … }
WASM_COMPILED_EXEC_TEST(TableCopyCallsTo5From9) { … }
WASM_COMPILED_EXEC_TEST(TableCopyCallsTo6From6) { … }
void TestTableCopyOobWrites(TestExecutionTier execution_tier, int table_dst,
int table_src) { … }
WASM_COMPILED_EXEC_TEST(TableCopyOobWritesFrom0To0) { … }
WASM_COMPILED_EXEC_TEST(TableCopyOobWritesFrom3To0) { … }
WASM_COMPILED_EXEC_TEST(TableCopyOobWritesFrom5To9) { … }
WASM_COMPILED_EXEC_TEST(TableCopyOobWritesFrom6To6) { … }
void TestTableCopyOob1(TestExecutionTier execution_tier, int table_dst,
int table_src) { … }
WASM_COMPILED_EXEC_TEST(TableCopyOob1From0To0) { … }
WASM_COMPILED_EXEC_TEST(TableCopyOob1From3To0) { … }
WASM_COMPILED_EXEC_TEST(TableCopyOob1From5To9) { … }
WASM_COMPILED_EXEC_TEST(TableCopyOob1From6To6) { … }
}
}
}
}