Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(690)

Side by Side Diff: test/mjsunit/wasm/wasm-module-builder.js

Issue 2591753002: [wasm] Implement correct 2-level namespace for imports. (Closed)
Patch Set: Fix debug tests Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/mjsunit/wasm/unicode-validation.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Used for encoding f32 and double constants to bits. 5 // Used for encoding f32 and double constants to bits.
6 let __buffer = new ArrayBuffer(8); 6 let __buffer = new ArrayBuffer(8);
7 let byte_view = new Int8Array(__buffer); 7 let byte_view = new Int8Array(__buffer);
8 let f32_view = new Float32Array(__buffer); 8 let f32_view = new Float32Array(__buffer);
9 let f64_view = new Float64Array(__buffer); 9 let f64_view = new Float64Array(__buffer);
10 10
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 } 172 }
173 173
174 addFunction(name, type) { 174 addFunction(name, type) {
175 let type_index = (typeof type) == "number" ? type : this.addType(type); 175 let type_index = (typeof type) == "number" ? type : this.addType(type);
176 let func = new WasmFunctionBuilder(this, name, type_index); 176 let func = new WasmFunctionBuilder(this, name, type_index);
177 func.index = this.functions.length + this.num_imported_funcs; 177 func.index = this.functions.length + this.num_imported_funcs;
178 this.functions.push(func); 178 this.functions.push(func);
179 return func; 179 return func;
180 } 180 }
181 181
182 addImportWithModule(module, name, type) { 182 addImport(module = "", name, type) {
183 let type_index = (typeof type) == "number" ? type : this.addType(type); 183 let type_index = (typeof type) == "number" ? type : this.addType(type);
184 this.imports.push({module: module, name: name, kind: kExternalFunction, 184 this.imports.push({module: module, name: name, kind: kExternalFunction,
185 type: type_index}); 185 type: type_index});
186 return this.num_imported_funcs++; 186 return this.num_imported_funcs++;
187 } 187 }
188 188
189 addImport(name, type) { 189 addImportedGlobal(module = "", name, type) {
190 return this.addImportWithModule(name, undefined, type);
191 }
192
193 addImportedGlobal(module, name, type) {
194 let o = {module: module, name: name, kind: kExternalGlobal, type: type, 190 let o = {module: module, name: name, kind: kExternalGlobal, type: type,
195 mutable: false} 191 mutable: false}
196 this.imports.push(o); 192 this.imports.push(o);
197 return this.num_imported_globals++; 193 return this.num_imported_globals++;
198 } 194 }
199 195
200 addImportedMemory(module, name, initial = 0, maximum) { 196 addImportedMemory(module = "", name, initial = 0, maximum) {
201 let o = {module: module, name: name, kind: kExternalMemory, 197 let o = {module: module, name: name, kind: kExternalMemory,
202 initial: initial, maximum: maximum}; 198 initial: initial, maximum: maximum};
203 this.imports.push(o); 199 this.imports.push(o);
204 return this; 200 return this;
205 } 201 }
206 202
207 addImportedTable(module, name, initial, maximum) { 203 addImportedTable(module = "", name, initial, maximum) {
208 let o = {module: module, name: name, kind: kExternalTable, initial: initial, 204 let o = {module: module, name: name, kind: kExternalTable, initial: initial,
209 maximum: maximum}; 205 maximum: maximum};
210 this.imports.push(o); 206 this.imports.push(o);
211 } 207 }
212 208
213 addExport(name, index) { 209 addExport(name, index) {
214 this.exports.push({name: name, kind: kExternalFunction, index: index}); 210 this.exports.push({name: name, kind: kExternalFunction, index: index});
215 return this; 211 return this;
216 } 212 }
217 213
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 } 546 }
551 return buffer; 547 return buffer;
552 } 548 }
553 549
554 instantiate(...args) { 550 instantiate(...args) {
555 let module = new WebAssembly.Module(this.toBuffer()); 551 let module = new WebAssembly.Module(this.toBuffer());
556 let instance = new WebAssembly.Instance(module, ...args); 552 let instance = new WebAssembly.Instance(module, ...args);
557 return instance; 553 return instance;
558 } 554 }
559 } 555 }
OLDNEW
« no previous file with comments | « test/mjsunit/wasm/unicode-validation.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698