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

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

Issue 2456193006: Revert of [wasm] Support for restricted table imports. (Closed)
Patch Set: Created 4 years, 1 month 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/indirect-tables.js ('k') | test/unittests/wasm/module-decoder-unittest.cc » ('j') | 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 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 return this.num_imported_globals++; 197 return this.num_imported_globals++;
198 } 198 }
199 199
200 addImportedMemory(module, name, initial = 0, maximum) { 200 addImportedMemory(module, name, initial = 0, maximum) {
201 let o = {module: module, name: name, kind: kExternalMemory, 201 let o = {module: module, name: name, kind: kExternalMemory,
202 initial: initial, maximum: maximum}; 202 initial: initial, maximum: maximum};
203 this.imports.push(o); 203 this.imports.push(o);
204 return this; 204 return this;
205 } 205 }
206 206
207 addImportedTable(module, name, initial, maximum) {
208 let o = {module: module, name: name, kind: kExternalTable, initial: initial,
209 maximum: maximum};
210 this.imports.push(o);
211 }
212
213 addExport(name, index) { 207 addExport(name, index) {
214 this.exports.push({name: name, kind: kExternalFunction, index: index}); 208 this.exports.push({name: name, kind: kExternalFunction, index: index});
215 return this; 209 return this;
216 } 210 }
217 211
218 addExportOfKind(name, kind, index) { 212 addExportOfKind(name, kind, index) {
219 this.exports.push({name: name, kind: kind, index: index}); 213 this.exports.push({name: name, kind: kind, index: index});
220 return this; 214 return this;
221 } 215 }
222 216
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 section.emit_u8(imp.kind); 281 section.emit_u8(imp.kind);
288 if (imp.kind == kExternalFunction) { 282 if (imp.kind == kExternalFunction) {
289 section.emit_u32v(imp.type); 283 section.emit_u32v(imp.type);
290 } else if (imp.kind == kExternalGlobal) { 284 } else if (imp.kind == kExternalGlobal) {
291 section.emit_u32v(imp.type); 285 section.emit_u32v(imp.type);
292 section.emit_u8(imp.mutable); 286 section.emit_u8(imp.mutable);
293 } else if (imp.kind == kExternalMemory) { 287 } else if (imp.kind == kExternalMemory) {
294 var has_max = (typeof imp.maximum) != "undefined"; 288 var has_max = (typeof imp.maximum) != "undefined";
295 section.emit_u8(has_max ? 1 : 0); // flags 289 section.emit_u8(has_max ? 1 : 0); // flags
296 section.emit_u32v(imp.initial); // initial 290 section.emit_u32v(imp.initial); // initial
297 if (has_max) section.emit_u32v(imp.maximum); // maximum
298 } else if (imp.kind == kExternalTable) {
299 section.emit_u8(kWasmAnyFunctionTypeForm);
300 var has_max = (typeof imp.maximum) != "undefined";
301 section.emit_u8(has_max ? 1 : 0); // flags
302 section.emit_u32v(imp.initial); // initial
303 if (has_max) section.emit_u32v(imp.maximum); // maximum 291 if (has_max) section.emit_u32v(imp.maximum); // maximum
304 } else { 292 } else {
305 throw new Error("unknown/unsupported import kind " + imp.kind); 293 throw new Error("unknown/unsupported import kind " + imp.kind);
306 } 294 }
307 } 295 }
308 }); 296 });
309 } 297 }
310 298
311 // Add functions declarations 299 // Add functions declarations
312 let has_names = false; 300 let has_names = false;
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 } 533 }
546 return buffer; 534 return buffer;
547 } 535 }
548 536
549 instantiate(...args) { 537 instantiate(...args) {
550 let module = new WebAssembly.Module(this.toBuffer()); 538 let module = new WebAssembly.Module(this.toBuffer());
551 let instance = new WebAssembly.Instance(module, ...args); 539 let instance = new WebAssembly.Instance(module, ...args);
552 return instance; 540 return instance;
553 } 541 }
554 } 542 }
OLDNEW
« no previous file with comments | « test/mjsunit/wasm/indirect-tables.js ('k') | test/unittests/wasm/module-decoder-unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698