Commit bcdf2e2a authored by Clemens Hammacher's avatar Clemens Hammacher Committed by Commit Bot

[wasm] Remove non-const arguments from module builder

R=ahaas@chromium.org

Bug: v8:9429, v8:9396
Change-Id: I2a66142c04b2ec0e3ed57ea2392dda6d17d53b38
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1687895
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62554}
parent 7fc00d8a
......@@ -249,9 +249,9 @@ UnoptimizedCompilationJob::Status AsmJsCompilationJob::ExecuteJobImpl() {
return FAILED;
}
module_ = new (compile_zone) wasm::ZoneBuffer(compile_zone);
parser.module_builder()->WriteTo(*module_);
parser.module_builder()->WriteTo(module_);
asm_offsets_ = new (compile_zone) wasm::ZoneBuffer(compile_zone);
parser.module_builder()->WriteAsmJsOffsetTable(*asm_offsets_);
parser.module_builder()->WriteAsmJsOffsetTable(asm_offsets_);
stdlib_uses_ = *parser.stdlib_uses();
size_t compile_zone_size =
......
This diff is collapsed.
......@@ -187,10 +187,9 @@ class V8_EXPORT_PRIVATE WasmFunctionBuilder : public ZoneObject {
}
void DeleteCodeAfter(size_t position);
void WriteSignature(ZoneBuffer& buffer) const; // NOLINT(runtime/references)
void WriteBody(ZoneBuffer& buffer) const; // NOLINT(runtime/references)
void WriteAsmWasmOffsetTable(
ZoneBuffer& buffer) const; // NOLINT(runtime/references)
void WriteSignature(ZoneBuffer* buffer) const;
void WriteBody(ZoneBuffer* buffer) const;
void WriteAsmWasmOffsetTable(ZoneBuffer* buffer) const;
WasmModuleBuilder* builder() const { return builder_; }
uint32_t func_index() { return func_index_; }
......@@ -247,9 +246,8 @@ class V8_EXPORT_PRIVATE WasmModuleBuilder : public ZoneObject {
void SetHasSharedMemory();
// Writing methods.
void WriteTo(ZoneBuffer& buffer) const; // NOLINT(runtime/references)
void WriteAsmJsOffsetTable(
ZoneBuffer& buffer) const; // NOLINT(runtime/references)
void WriteTo(ZoneBuffer* buffer) const;
void WriteAsmJsOffsetTable(ZoneBuffer* buffer) const;
Zone* zone() { return zone_; }
......
......@@ -43,7 +43,7 @@ void Cleanup(Isolate* isolate = CcTest::InitIsolateOnce()) {
void TestModule(Zone* zone, WasmModuleBuilder* builder,
int32_t expected_result) {
ZoneBuffer buffer(zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate);
......@@ -55,7 +55,7 @@ void TestModule(Zone* zone, WasmModuleBuilder* builder,
void TestModuleException(Zone* zone, WasmModuleBuilder* builder) {
ZoneBuffer buffer(zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate);
......@@ -117,7 +117,7 @@ TEST(Run_WasmModule_CompilationHintsLazy) {
// Compile module. No function is actually compiled as the function is lazy.
ZoneBuffer buffer(&zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate);
testing::SetupIsolateForWasmModule(isolate);
......@@ -178,7 +178,7 @@ TEST(Run_WasmModule_CompilationHintsNoTiering) {
// Compile module.
ZoneBuffer buffer(&zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate);
testing::SetupIsolateForWasmModule(isolate);
......@@ -224,7 +224,7 @@ TEST(Run_WasmModule_CompilationHintsTierUp) {
// Compile module.
ZoneBuffer buffer(&zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate);
testing::SetupIsolateForWasmModule(isolate);
......@@ -290,7 +290,7 @@ TEST(Run_WasmModule_CompilationHintsLazyBaselineEagerTopTier) {
// Compile module.
ZoneBuffer buffer(&zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate);
testing::SetupIsolateForWasmModule(isolate);
......@@ -568,7 +568,7 @@ TEST(TestInterruptLoop) {
WASM_I32V(121)};
EMIT_CODE_WITH_END(f, code);
ZoneBuffer buffer(&zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
HandleScope scope(isolate);
testing::SetupIsolateForWasmModule(isolate);
......@@ -652,7 +652,7 @@ TEST(Run_WasmModule_GrowMemOobFixedIndex) {
HandleScope scope(isolate);
ZoneBuffer buffer(&zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
testing::SetupIsolateForWasmModule(isolate);
ErrorThrower thrower(isolate, "Test");
......@@ -699,7 +699,7 @@ TEST(Run_WasmModule_GrowMemOobVariableIndex) {
HandleScope scope(isolate);
ZoneBuffer buffer(&zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
testing::SetupIsolateForWasmModule(isolate);
ErrorThrower thrower(isolate, "Test");
......@@ -986,7 +986,7 @@ TEST(Run_WasmModule_Buffer_Externalized_GrowMem) {
EMIT_CODE_WITH_END(f, code);
ZoneBuffer buffer(&zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
testing::SetupIsolateForWasmModule(isolate);
ErrorThrower thrower(isolate, "Test");
const Handle<WasmInstanceObject> instance =
......@@ -1112,7 +1112,7 @@ TEST(AtomicOpDisassembly) {
HandleScope scope(isolate);
ZoneBuffer buffer(&zone);
builder->WriteTo(buffer);
builder->WriteTo(&buffer);
testing::SetupIsolateForWasmModule(isolate);
ErrorThrower thrower(isolate, "Test");
......
......@@ -207,7 +207,7 @@ ZoneBuffer GetValidModuleBytes(Zone* zone) {
uint8_t code[] = {kExprGetLocal, 2, kExprEnd};
f->EmitCode(code, arraysize(code));
}
builder.WriteTo(buffer);
builder.WriteTo(&buffer);
return buffer;
}
......@@ -330,7 +330,7 @@ ZoneBuffer GetModuleWithInvalidSection(Zone* zone) {
uint8_t code[] = {kExprGetLocal, 2, kExprEnd};
f->EmitCode(code, arraysize(code));
}
builder.WriteTo(buffer);
builder.WriteTo(&buffer);
return buffer;
}
......@@ -1019,7 +1019,7 @@ STREAM_TEST(TestModuleWithImportedFunction) {
uint8_t code[] = {kExprGetLocal, 0, kExprEnd};
f->EmitCode(code, arraysize(code));
}
builder.WriteTo(buffer);
builder.WriteTo(&buffer);
tester.OnBytesReceived(buffer.begin(), buffer.end() - buffer.begin());
tester.FinishStream();
......
......@@ -54,7 +54,7 @@ CallbackFn Callback[kNumTestValues] = {nullptr, FalseCallback, TrueCallback};
void BuildTrivialModule(Zone* zone, ZoneBuffer* buffer) {
WasmModuleBuilder* builder = new (zone) WasmModuleBuilder(zone);
builder->WriteTo(*buffer);
builder->WriteTo(buffer);
}
bool TestModule(Isolate* isolate, v8::MemorySpan<const uint8_t> wire_bytes) {
......
......@@ -61,7 +61,7 @@ class WasmSerializationTest {
EMIT_CODE_WITH_END(f, code);
builder->AddExport(CStrVector(kFunctionName), f);
builder->WriteTo(*buffer);
builder->WriteTo(buffer);
}
void ClearSerializedData() { serialized_bytes_ = {nullptr, 0}; }
......
......@@ -138,7 +138,7 @@ ZoneBuffer* BuildReturnConstantModule(Zone* zone, int constant) {
byte code[] = {WASM_I32V_2(constant)};
f->EmitCode(code, sizeof(code));
f->Emit(kExprEnd);
builder->WriteTo(*buffer);
builder->WriteTo(buffer);
return buffer;
}
......
......@@ -33,7 +33,7 @@ class WasmCodeFuzzer : public WasmExecutionFuzzer {
builder.AddExport(CStrVector("main"), f);
builder.SetMaxMemorySize(32);
builder.WriteTo(buffer);
builder.WriteTo(&buffer);
num_args = 3;
interpreter_args.reset(
new WasmValue[3]{WasmValue(1), WasmValue(2), WasmValue(3)});
......
......@@ -867,7 +867,7 @@ class WasmCompileFuzzer : public WasmExecutionFuzzer {
}
builder.SetMaxMemorySize(32);
builder.WriteTo(buffer);
builder.WriteTo(&buffer);
num_args = 3;
interpreter_args.reset(
......
......@@ -29,7 +29,7 @@ class WasmTextTest : public TestWithIsolateAndZone {
fb->Emit(kExprEnd);
ZoneBuffer buffer(zone());
mb.WriteTo(buffer);
mb.WriteTo(&buffer);
ModuleWireBytes wire_bytes(
Vector<const byte>(buffer.begin(), buffer.size()));
......
......@@ -62,7 +62,7 @@ class WasmCapiTest : public ::testing::Test {
void Compile() {
ZoneBuffer buffer(&zone_);
builder_.WriteTo(buffer);
builder_.WriteTo(&buffer);
size_t size = buffer.end() - buffer.begin();
vec<byte_t> binary = vec<byte_t>::make(
size, reinterpret_cast<byte_t*>(const_cast<byte*>(buffer.begin())));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment