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() { ...@@ -249,9 +249,9 @@ UnoptimizedCompilationJob::Status AsmJsCompilationJob::ExecuteJobImpl() {
return FAILED; return FAILED;
} }
module_ = new (compile_zone) wasm::ZoneBuffer(compile_zone); 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); 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(); stdlib_uses_ = *parser.stdlib_uses();
size_t compile_zone_size = size_t compile_zone_size =
......
This diff is collapsed.
...@@ -187,10 +187,9 @@ class V8_EXPORT_PRIVATE WasmFunctionBuilder : public ZoneObject { ...@@ -187,10 +187,9 @@ class V8_EXPORT_PRIVATE WasmFunctionBuilder : public ZoneObject {
} }
void DeleteCodeAfter(size_t position); void DeleteCodeAfter(size_t position);
void WriteSignature(ZoneBuffer& buffer) const; // NOLINT(runtime/references) void WriteSignature(ZoneBuffer* buffer) const;
void WriteBody(ZoneBuffer& buffer) const; // NOLINT(runtime/references) void WriteBody(ZoneBuffer* buffer) const;
void WriteAsmWasmOffsetTable( void WriteAsmWasmOffsetTable(ZoneBuffer* buffer) const;
ZoneBuffer& buffer) const; // NOLINT(runtime/references)
WasmModuleBuilder* builder() const { return builder_; } WasmModuleBuilder* builder() const { return builder_; }
uint32_t func_index() { return func_index_; } uint32_t func_index() { return func_index_; }
...@@ -247,9 +246,8 @@ class V8_EXPORT_PRIVATE WasmModuleBuilder : public ZoneObject { ...@@ -247,9 +246,8 @@ class V8_EXPORT_PRIVATE WasmModuleBuilder : public ZoneObject {
void SetHasSharedMemory(); void SetHasSharedMemory();
// Writing methods. // Writing methods.
void WriteTo(ZoneBuffer& buffer) const; // NOLINT(runtime/references) void WriteTo(ZoneBuffer* buffer) const;
void WriteAsmJsOffsetTable( void WriteAsmJsOffsetTable(ZoneBuffer* buffer) const;
ZoneBuffer& buffer) const; // NOLINT(runtime/references)
Zone* zone() { return zone_; } Zone* zone() { return zone_; }
......
...@@ -43,7 +43,7 @@ void Cleanup(Isolate* isolate = CcTest::InitIsolateOnce()) { ...@@ -43,7 +43,7 @@ void Cleanup(Isolate* isolate = CcTest::InitIsolateOnce()) {
void TestModule(Zone* zone, WasmModuleBuilder* builder, void TestModule(Zone* zone, WasmModuleBuilder* builder,
int32_t expected_result) { int32_t expected_result) {
ZoneBuffer buffer(zone); ZoneBuffer buffer(zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce(); Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate); HandleScope scope(isolate);
...@@ -55,7 +55,7 @@ void TestModule(Zone* zone, WasmModuleBuilder* builder, ...@@ -55,7 +55,7 @@ void TestModule(Zone* zone, WasmModuleBuilder* builder,
void TestModuleException(Zone* zone, WasmModuleBuilder* builder) { void TestModuleException(Zone* zone, WasmModuleBuilder* builder) {
ZoneBuffer buffer(zone); ZoneBuffer buffer(zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce(); Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate); HandleScope scope(isolate);
...@@ -117,7 +117,7 @@ TEST(Run_WasmModule_CompilationHintsLazy) { ...@@ -117,7 +117,7 @@ TEST(Run_WasmModule_CompilationHintsLazy) {
// Compile module. No function is actually compiled as the function is lazy. // Compile module. No function is actually compiled as the function is lazy.
ZoneBuffer buffer(&zone); ZoneBuffer buffer(&zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce(); Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate); HandleScope scope(isolate);
testing::SetupIsolateForWasmModule(isolate); testing::SetupIsolateForWasmModule(isolate);
...@@ -178,7 +178,7 @@ TEST(Run_WasmModule_CompilationHintsNoTiering) { ...@@ -178,7 +178,7 @@ TEST(Run_WasmModule_CompilationHintsNoTiering) {
// Compile module. // Compile module.
ZoneBuffer buffer(&zone); ZoneBuffer buffer(&zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce(); Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate); HandleScope scope(isolate);
testing::SetupIsolateForWasmModule(isolate); testing::SetupIsolateForWasmModule(isolate);
...@@ -224,7 +224,7 @@ TEST(Run_WasmModule_CompilationHintsTierUp) { ...@@ -224,7 +224,7 @@ TEST(Run_WasmModule_CompilationHintsTierUp) {
// Compile module. // Compile module.
ZoneBuffer buffer(&zone); ZoneBuffer buffer(&zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce(); Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate); HandleScope scope(isolate);
testing::SetupIsolateForWasmModule(isolate); testing::SetupIsolateForWasmModule(isolate);
...@@ -290,7 +290,7 @@ TEST(Run_WasmModule_CompilationHintsLazyBaselineEagerTopTier) { ...@@ -290,7 +290,7 @@ TEST(Run_WasmModule_CompilationHintsLazyBaselineEagerTopTier) {
// Compile module. // Compile module.
ZoneBuffer buffer(&zone); ZoneBuffer buffer(&zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
Isolate* isolate = CcTest::InitIsolateOnce(); Isolate* isolate = CcTest::InitIsolateOnce();
HandleScope scope(isolate); HandleScope scope(isolate);
testing::SetupIsolateForWasmModule(isolate); testing::SetupIsolateForWasmModule(isolate);
...@@ -568,7 +568,7 @@ TEST(TestInterruptLoop) { ...@@ -568,7 +568,7 @@ TEST(TestInterruptLoop) {
WASM_I32V(121)}; WASM_I32V(121)};
EMIT_CODE_WITH_END(f, code); EMIT_CODE_WITH_END(f, code);
ZoneBuffer buffer(&zone); ZoneBuffer buffer(&zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
HandleScope scope(isolate); HandleScope scope(isolate);
testing::SetupIsolateForWasmModule(isolate); testing::SetupIsolateForWasmModule(isolate);
...@@ -652,7 +652,7 @@ TEST(Run_WasmModule_GrowMemOobFixedIndex) { ...@@ -652,7 +652,7 @@ TEST(Run_WasmModule_GrowMemOobFixedIndex) {
HandleScope scope(isolate); HandleScope scope(isolate);
ZoneBuffer buffer(&zone); ZoneBuffer buffer(&zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
testing::SetupIsolateForWasmModule(isolate); testing::SetupIsolateForWasmModule(isolate);
ErrorThrower thrower(isolate, "Test"); ErrorThrower thrower(isolate, "Test");
...@@ -699,7 +699,7 @@ TEST(Run_WasmModule_GrowMemOobVariableIndex) { ...@@ -699,7 +699,7 @@ TEST(Run_WasmModule_GrowMemOobVariableIndex) {
HandleScope scope(isolate); HandleScope scope(isolate);
ZoneBuffer buffer(&zone); ZoneBuffer buffer(&zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
testing::SetupIsolateForWasmModule(isolate); testing::SetupIsolateForWasmModule(isolate);
ErrorThrower thrower(isolate, "Test"); ErrorThrower thrower(isolate, "Test");
...@@ -986,7 +986,7 @@ TEST(Run_WasmModule_Buffer_Externalized_GrowMem) { ...@@ -986,7 +986,7 @@ TEST(Run_WasmModule_Buffer_Externalized_GrowMem) {
EMIT_CODE_WITH_END(f, code); EMIT_CODE_WITH_END(f, code);
ZoneBuffer buffer(&zone); ZoneBuffer buffer(&zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
testing::SetupIsolateForWasmModule(isolate); testing::SetupIsolateForWasmModule(isolate);
ErrorThrower thrower(isolate, "Test"); ErrorThrower thrower(isolate, "Test");
const Handle<WasmInstanceObject> instance = const Handle<WasmInstanceObject> instance =
...@@ -1112,7 +1112,7 @@ TEST(AtomicOpDisassembly) { ...@@ -1112,7 +1112,7 @@ TEST(AtomicOpDisassembly) {
HandleScope scope(isolate); HandleScope scope(isolate);
ZoneBuffer buffer(&zone); ZoneBuffer buffer(&zone);
builder->WriteTo(buffer); builder->WriteTo(&buffer);
testing::SetupIsolateForWasmModule(isolate); testing::SetupIsolateForWasmModule(isolate);
ErrorThrower thrower(isolate, "Test"); ErrorThrower thrower(isolate, "Test");
......
...@@ -207,7 +207,7 @@ ZoneBuffer GetValidModuleBytes(Zone* zone) { ...@@ -207,7 +207,7 @@ ZoneBuffer GetValidModuleBytes(Zone* zone) {
uint8_t code[] = {kExprGetLocal, 2, kExprEnd}; uint8_t code[] = {kExprGetLocal, 2, kExprEnd};
f->EmitCode(code, arraysize(code)); f->EmitCode(code, arraysize(code));
} }
builder.WriteTo(buffer); builder.WriteTo(&buffer);
return buffer; return buffer;
} }
...@@ -330,7 +330,7 @@ ZoneBuffer GetModuleWithInvalidSection(Zone* zone) { ...@@ -330,7 +330,7 @@ ZoneBuffer GetModuleWithInvalidSection(Zone* zone) {
uint8_t code[] = {kExprGetLocal, 2, kExprEnd}; uint8_t code[] = {kExprGetLocal, 2, kExprEnd};
f->EmitCode(code, arraysize(code)); f->EmitCode(code, arraysize(code));
} }
builder.WriteTo(buffer); builder.WriteTo(&buffer);
return buffer; return buffer;
} }
...@@ -1019,7 +1019,7 @@ STREAM_TEST(TestModuleWithImportedFunction) { ...@@ -1019,7 +1019,7 @@ STREAM_TEST(TestModuleWithImportedFunction) {
uint8_t code[] = {kExprGetLocal, 0, kExprEnd}; uint8_t code[] = {kExprGetLocal, 0, kExprEnd};
f->EmitCode(code, arraysize(code)); f->EmitCode(code, arraysize(code));
} }
builder.WriteTo(buffer); builder.WriteTo(&buffer);
tester.OnBytesReceived(buffer.begin(), buffer.end() - buffer.begin()); tester.OnBytesReceived(buffer.begin(), buffer.end() - buffer.begin());
tester.FinishStream(); tester.FinishStream();
......
...@@ -54,7 +54,7 @@ CallbackFn Callback[kNumTestValues] = {nullptr, FalseCallback, TrueCallback}; ...@@ -54,7 +54,7 @@ CallbackFn Callback[kNumTestValues] = {nullptr, FalseCallback, TrueCallback};
void BuildTrivialModule(Zone* zone, ZoneBuffer* buffer) { void BuildTrivialModule(Zone* zone, ZoneBuffer* buffer) {
WasmModuleBuilder* builder = new (zone) WasmModuleBuilder(zone); WasmModuleBuilder* builder = new (zone) WasmModuleBuilder(zone);
builder->WriteTo(*buffer); builder->WriteTo(buffer);
} }
bool TestModule(Isolate* isolate, v8::MemorySpan<const uint8_t> wire_bytes) { bool TestModule(Isolate* isolate, v8::MemorySpan<const uint8_t> wire_bytes) {
......
...@@ -61,7 +61,7 @@ class WasmSerializationTest { ...@@ -61,7 +61,7 @@ class WasmSerializationTest {
EMIT_CODE_WITH_END(f, code); EMIT_CODE_WITH_END(f, code);
builder->AddExport(CStrVector(kFunctionName), f); builder->AddExport(CStrVector(kFunctionName), f);
builder->WriteTo(*buffer); builder->WriteTo(buffer);
} }
void ClearSerializedData() { serialized_bytes_ = {nullptr, 0}; } void ClearSerializedData() { serialized_bytes_ = {nullptr, 0}; }
......
...@@ -138,7 +138,7 @@ ZoneBuffer* BuildReturnConstantModule(Zone* zone, int constant) { ...@@ -138,7 +138,7 @@ ZoneBuffer* BuildReturnConstantModule(Zone* zone, int constant) {
byte code[] = {WASM_I32V_2(constant)}; byte code[] = {WASM_I32V_2(constant)};
f->EmitCode(code, sizeof(code)); f->EmitCode(code, sizeof(code));
f->Emit(kExprEnd); f->Emit(kExprEnd);
builder->WriteTo(*buffer); builder->WriteTo(buffer);
return buffer; return buffer;
} }
......
...@@ -33,7 +33,7 @@ class WasmCodeFuzzer : public WasmExecutionFuzzer { ...@@ -33,7 +33,7 @@ class WasmCodeFuzzer : public WasmExecutionFuzzer {
builder.AddExport(CStrVector("main"), f); builder.AddExport(CStrVector("main"), f);
builder.SetMaxMemorySize(32); builder.SetMaxMemorySize(32);
builder.WriteTo(buffer); builder.WriteTo(&buffer);
num_args = 3; num_args = 3;
interpreter_args.reset( interpreter_args.reset(
new WasmValue[3]{WasmValue(1), WasmValue(2), WasmValue(3)}); new WasmValue[3]{WasmValue(1), WasmValue(2), WasmValue(3)});
......
...@@ -867,7 +867,7 @@ class WasmCompileFuzzer : public WasmExecutionFuzzer { ...@@ -867,7 +867,7 @@ class WasmCompileFuzzer : public WasmExecutionFuzzer {
} }
builder.SetMaxMemorySize(32); builder.SetMaxMemorySize(32);
builder.WriteTo(buffer); builder.WriteTo(&buffer);
num_args = 3; num_args = 3;
interpreter_args.reset( interpreter_args.reset(
......
...@@ -29,7 +29,7 @@ class WasmTextTest : public TestWithIsolateAndZone { ...@@ -29,7 +29,7 @@ class WasmTextTest : public TestWithIsolateAndZone {
fb->Emit(kExprEnd); fb->Emit(kExprEnd);
ZoneBuffer buffer(zone()); ZoneBuffer buffer(zone());
mb.WriteTo(buffer); mb.WriteTo(&buffer);
ModuleWireBytes wire_bytes( ModuleWireBytes wire_bytes(
Vector<const byte>(buffer.begin(), buffer.size())); Vector<const byte>(buffer.begin(), buffer.size()));
......
...@@ -62,7 +62,7 @@ class WasmCapiTest : public ::testing::Test { ...@@ -62,7 +62,7 @@ class WasmCapiTest : public ::testing::Test {
void Compile() { void Compile() {
ZoneBuffer buffer(&zone_); ZoneBuffer buffer(&zone_);
builder_.WriteTo(buffer); builder_.WriteTo(&buffer);
size_t size = buffer.end() - buffer.begin(); size_t size = buffer.end() - buffer.begin();
vec<byte_t> binary = vec<byte_t>::make( vec<byte_t> binary = vec<byte_t>::make(
size, reinterpret_cast<byte_t*>(const_cast<byte*>(buffer.begin()))); 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