Best JavaScript code snippet using wpt
import-memory.js
Source:import-memory.js
...26 let memory = new WebAssembly.Memory({initial: 1});27 let i32 = new Int32Array(memory.buffer);28 let builder = new WasmModuleBuilder();29 builder.addImportedMemory("dad", "garg");30 builder.exportMemoryAs("daggle");31 let instance = builder.instantiate({dad: {garg: memory}});32 assertSame(memory, instance.exports.daggle);33})();34(function TestImportExport() {35 print("TestImportExport");36 var i1;37 {38 let builder = new WasmModuleBuilder();39 builder.addMemory(1, 1, false);40 builder.exportMemoryAs("exported_mem");41 builder.addFunction("foo", kSig_i_i)42 .addBody([43 kExprGetLocal, 0,44 kExprI32LoadMem, 0, 0])45 .exportAs("foo");46 i1 = builder.instantiate();47 }48 var i2;49 {50 let builder = new WasmModuleBuilder();51 builder.addImportedMemory("fil", "imported_mem");52 builder.addFunction("bar", kSig_i_i)53 .addBody([54 kExprGetLocal, 0,55 kExprI32LoadMem, 0, 0])56 .exportAs("bar");57 i2 = builder.instantiate({fil: {imported_mem: i1.exports.exported_mem}});58 }59 let i32 = new Int32Array(i1.exports.exported_mem.buffer);60 for (var i = 0; i < 1e11; i = i * 3 + 5) {61 for (var j = 0; j < 10; j++) {62 var val = i + 99077 + j;63 i32[j] = val;64 assertEquals(val | 0, i1.exports.foo(j * 4));65 assertEquals(val | 0, i2.exports.bar(j * 4));66 }67 }68})();69(function ValidateBoundsCheck() {70 print("ValidateBoundsCheck");71 let memory = new WebAssembly.Memory({initial: 1, maximum: 5});72 assertEquals(kPageSize, memory.buffer.byteLength);73 let i32 = new Int32Array(memory.buffer);74 let builder = new WasmModuleBuilder();75 builder.addImportedMemory("gaz", "mine");76 builder.addFunction("load", kSig_i_i)77 .addBody([kExprGetLocal, 0, kExprI32LoadMem, 0, 0])78 .exportFunc();79 builder.addFunction("store", kSig_i_ii)80 .addBody([kExprGetLocal, 0, kExprGetLocal, 1, kExprI32StoreMem, 0, 0,81 kExprGetLocal, 1])82 .exportFunc();83 var offset;84 let instance = builder.instantiate({gaz: {mine: memory}});85 function load() { return instance.exports.load(offset); }86 function store(value) { return instance.exports.store(offset, value); }87 for (offset = 0; offset < kPageSize - 3; offset+=4) {88 store(offset);89 }90 for (offset = 0; offset < kPageSize - 3; offset+=4) {91 assertEquals(offset, load());92 }93 for (offset = kPageSize - 3; offset < kPageSize + 4; offset++) {94 assertTraps(kTrapMemOutOfBounds, load);95 }96})();97(function TestGrowMemoryMaxDesc() {98 print("MaximumDescriptor");99 let memory = new WebAssembly.Memory({initial: 1, maximum: 5});100 assertEquals(kPageSize, memory.buffer.byteLength);101 let i32 = new Int32Array(memory.buffer);102 let builder = new WasmModuleBuilder();103 builder.addImportedMemory("mine", "dog", 0, 20);104 builder.addFunction("load", kSig_i_i)105 .addBody([kExprGetLocal, 0, kExprI32LoadMem, 0, 0])106 .exportFunc();107 builder.addFunction("store", kSig_i_ii)108 .addBody([kExprGetLocal, 0, kExprGetLocal, 1, kExprI32StoreMem, 0, 0,109 kExprGetLocal, 1])110 .exportFunc();111 var offset;112 let instance = builder.instantiate({mine: {dog: memory}});113 function load() { return instance.exports.load(offset); }114 function store(value) { return instance.exports.store(offset, value); }115 for (var i = 1; i < 5; i++) {116 for (offset = (i - 1) * kPageSize; offset < i * kPageSize - 3; offset+=4) {117 store(offset * 2);118 }119 assertEquals(i, memory.grow(1));120 assertEquals((i + 1) * kPageSize, memory.buffer.byteLength);121 }122 for (offset = 4 * kPageSize; offset < 5 * kPageSize - 3; offset+=4) {123 store(offset * 2);124 }125 for (offset = 0; offset < 5 * kPageSize - 3; offset+=4) {126 assertEquals(offset * 2, load());127 }128 for (offset = 5 * kPageSize; offset < 5 * kPageSize + 4; offset++) {129 assertThrows(load);130 }131 assertThrows(() => memory.grow(1));132})();133(function TestGrowMemoryZeroInitialMemory() {134 print("ZeroInitialMemory");135 let memory = new WebAssembly.Memory({initial: 0});136 assertEquals(0, memory.buffer.byteLength);137 let i32 = new Int32Array(memory.buffer);138 let builder = new WasmModuleBuilder();139 builder.addImportedMemory("mine", "fro");140 builder.addFunction("load", kSig_i_i)141 .addBody([kExprGetLocal, 0, kExprI32LoadMem, 0, 0])142 .exportFunc();143 builder.addFunction("store", kSig_i_ii)144 .addBody([kExprGetLocal, 0, kExprGetLocal, 1, kExprI32StoreMem, 0, 0,145 kExprGetLocal, 1])146 .exportFunc();147 var offset;148 let instance = builder.instantiate({mine: {fro: memory}});149 function load() { return instance.exports.load(offset); }150 function store(value) { return instance.exports.store(offset, value); }151 for (var i = 1; i < 5; i++) {152 assertEquals(i - 1, memory.grow(1));153 assertEquals(i * kPageSize, memory.buffer.byteLength);154 for (offset = (i - 1) * kPageSize; offset < i * kPageSize - 3; offset++) {155 store(offset * 2);156 }157 }158 for (offset = 5 * kPageSize; offset < 5 * kPageSize + 4; offset++) {159 assertThrows(load);160 }161 assertThrows(() => memory.grow(16381));162})();163(function ImportedMemoryBufferLength() {164 print("ImportedMemoryBufferLength");165 let memory = new WebAssembly.Memory({initial: 2, maximum: 10});166 assertEquals(2*kPageSize, memory.buffer.byteLength);167 let builder = new WasmModuleBuilder();168 builder.addFunction("grow", kSig_i_i)169 .addBody([kExprGetLocal, 0, kExprGrowMemory, kMemoryZero])170 .exportFunc();171 builder.addImportedMemory("cat", "mine");172 let instance = builder.instantiate({cat: {mine: memory}});173 function grow(pages) { return instance.exports.grow(pages); }174 assertEquals(2, grow(3));175 assertEquals(5*kPageSize, memory.buffer.byteLength);176 assertEquals(5, grow(5));177 assertEquals(10*kPageSize, memory.buffer.byteLength);178 assertThrows(() => memory.grow(1));179})();180(function TestGrowMemoryExportedMaximum() {181 print("TestGrowMemoryExportedMaximum");182 let initial_size = 1, maximum_size = 10;183 var exp_instance;184 {185 let builder = new WasmModuleBuilder();186 builder.addMemory(initial_size, maximum_size, true);187 builder.exportMemoryAs("exported_mem");188 exp_instance = builder.instantiate();189 }190 var instance;191 {192 var builder = new WasmModuleBuilder();193 builder.addImportedMemory("fur", "imported_mem");194 builder.addFunction("mem_size", kSig_i_v)195 .addBody([kExprMemorySize, kMemoryZero])196 .exportFunc();197 builder.addFunction("grow", kSig_i_i)198 .addBody([kExprGetLocal, 0, kExprGrowMemory, kMemoryZero])199 .exportFunc();200 instance = builder.instantiate({fur: {201 imported_mem: exp_instance.exports.exported_mem}});202 }203 for (var i = initial_size; i < maximum_size; i++) {204 assertEquals(i, instance.exports.grow(1));205 assertEquals((i+1), instance.exports.mem_size());206 }207 assertEquals(-1, instance.exports.grow(1));208})();209(function TestMemoryGrowWebAssemblyInstances() {210 print("TestMemoryGrowWebAssemblyInstances");211 let memory = new WebAssembly.Memory({initial: 1, maximum: 15});212 var builder = new WasmModuleBuilder();213 builder.addImportedMemory("lit", "imported_mem");214 builder.addFunction("mem_size", kSig_i_v)215 .addBody([kExprMemorySize, kMemoryZero])216 .exportAs("mem_size");217 builder.addFunction("grow", kSig_i_i)218 .addBody([kExprGetLocal, 0, kExprGrowMemory, kMemoryZero])219 .exportFunc();220 var module = new WebAssembly.Module(builder.toBuffer());221 var instances = [];222 for (var i = 0; i < 6; i++) {223 instances.push(new WebAssembly.Instance(module, {lit: {imported_mem: memory}}));224 }225 function verify_mem_size(expected_pages) {226 assertEquals(expected_pages*kPageSize,227 memory.buffer.byteLength);228 for (var i = 0; i < 6; i++) {229 assertEquals(expected_pages, instances[i].exports.mem_size());230 }231 }232 // Verify initial memory size233 verify_mem_size(1);234 // Verify memory size with interleaving calls to Memory.grow,235 // GrowMemory opcode.236 var current_mem_size = 1;237 for (var i = 0; i < 5; i++) {238 function grow(pages) { return instances[i].exports.grow(pages); }239 assertEquals(current_mem_size, memory.grow(1));240 verify_mem_size(++current_mem_size);241 assertEquals(current_mem_size, instances[i].exports.grow(1));242 verify_mem_size(++current_mem_size);243 }244 assertThrows(() => memory.grow(5));245})();246(function TestImportedMemoryGrowMultipleInstances() {247 print("TestImportMemoryMultipleInstances");248 let memory = new WebAssembly.Memory({initial: 5, maximum: 100});249 var builder = new WasmModuleBuilder();250 builder.addImportedMemory("nob", "imported_mem");251 builder.addFunction("mem_size", kSig_i_v)252 .addBody([kExprMemorySize, kMemoryZero])253 .exportFunc();254 builder.addFunction("grow", kSig_i_i)255 .addBody([kExprGetLocal, 0, kExprGrowMemory, kMemoryZero])256 .exportFunc();257 var instances = [];258 for (var i = 0; i < 5; i++) {259 instances.push(builder.instantiate({nob: {imported_mem: memory}}));260 }261 function grow_instance_0(pages) { return instances[0].exports.grow(pages); }262 function grow_instance_1(pages) { return instances[1].exports.grow(pages); }263 function grow_instance_2(pages) { return instances[2].exports.grow(pages); }264 function grow_instance_3(pages) { return instances[3].exports.grow(pages); }265 function grow_instance_4(pages) { return instances[4].exports.grow(pages); }266 function verify_mem_size(expected_pages) {267 assertEquals(expected_pages*kPageSize, memory.buffer.byteLength);268 for (var i = 0; i < 5; i++) {269 assertEquals(expected_pages, instances[i].exports.mem_size());270 }271 }272 // Verify initial memory size273 verify_mem_size(5);274 // Grow instance memory and buffer memory out of order and verify memory is275 // updated correctly.276 assertEquals(5, grow_instance_0(7));277 verify_mem_size(12);278 assertEquals(12, memory.grow(4));279 verify_mem_size(16);280 assertEquals(16, grow_instance_4(1));281 verify_mem_size(17);282 assertEquals(17, grow_instance_1(6));283 verify_mem_size(23);284 assertEquals(23, grow_instance_3(2));285 verify_mem_size(25);286 assertEquals(25, memory.grow(10));287 verify_mem_size(35);288 assertEquals(35, grow_instance_2(15));289 verify_mem_size(50);290 assertThrows(() => memory.grow(51));291})();292(function TestExportImportedMemoryGrowMultipleInstances() {293 // TODO(gdeepti):Exported memory objects currently do not take max_size294 // into account so this can grow past the maximum specified in the exported295 // memory object. Assert that growing past maximum for exported objects fails.296 print("TestExportImportedMemoryGrowMultipleInstances");297 var instance;298 {299 let builder = new WasmModuleBuilder();300 builder.addMemory(1, 11, true);301 builder.exportMemoryAs("exported_mem");302 builder.addFunction("mem_size", kSig_i_v)303 .addBody([kExprMemorySize, kMemoryZero])304 .exportFunc();305 instance = builder.instantiate();306 }307 var builder = new WasmModuleBuilder();308 builder.addImportedMemory("doo", "imported_mem");309 builder.addFunction("mem_size", kSig_i_v)310 .addBody([kExprMemorySize, kMemoryZero])311 .exportFunc();312 builder.addFunction("grow", kSig_i_i)313 .addBody([kExprGetLocal, 0, kExprGrowMemory, kMemoryZero])314 .exportFunc();315 var instances = [];316 for (var i = 0; i < 10; i++) {317 instances.push(builder.instantiate({318 doo: {imported_mem: instance.exports.exported_mem}}));319 }320 function verify_mem_size(expected_pages) {321 for (var i = 0; i < 10; i++) {322 assertEquals(expected_pages, instances[i].exports.mem_size());323 }324 }325 var current_mem_size = 1;326 for (var i = 0; i < 10; i++) {327 function grow(pages) { return instances[i].exports.grow(pages); }328 assertEquals(current_mem_size, instances[i].exports.grow(1));329 verify_mem_size(++current_mem_size);330 }331})();332(function TestExportGrow() {333 print("TestExportGrow");334 let builder = new WasmModuleBuilder();335 builder.addMemory(1, 5, true);336 builder.exportMemoryAs("exported_mem");337 builder.addFunction("mem_size", kSig_i_v)338 .addBody([kExprMemorySize, kMemoryZero])339 .exportFunc();340 builder.addFunction("grow", kSig_i_i)341 .addBody([kExprGetLocal, 0, kExprGrowMemory, kMemoryZero])342 .exportFunc();343 instance = builder.instantiate();344 assertEquals(kPageSize, instance.exports.exported_mem.buffer.byteLength);345 assertEquals(1, instance.exports.grow(2));346 assertEquals(3, instance.exports.mem_size());347 assertEquals(3*kPageSize, instance.exports.exported_mem.buffer.byteLength);348})();349(function TestImportTooLarge() {350 print("TestImportTooLarge");...regress-727560.js
Source:regress-727560.js
...4load('test/mjsunit/wasm/wasm-module-builder.js');5{6 let builder = new WasmModuleBuilder();7 builder.addMemory();8 builder.exportMemoryAs("exported_mem");9 i1 = builder.instantiate();10}11{12 let builder = new WasmModuleBuilder();13 builder.addImportedMemory("fil", "imported_mem");14 i2 = builder.instantiate({fil: {imported_mem: i1.exports.exported_mem}});...Using AI Code Generation
1var page = require('webpage').create(),2 system = require('system'),3 address, output, size;4address = system.args[1];5output = system.args[2];6size = system.args[3];7page.viewportSize = { width: 1920, height: 1080 };8page.paperSize = { format: 'A4', orientation: 'portrait', margin: '1cm' };9page.open(address, function (status) {10 if (status !== 'success') {11 console.log('Unable to load the address!');12 phantom.exit();13 } else {14 window.setTimeout(function () {15 page.render(output);16 var memory = page.exportMemoryAs('png');17 console.log(memory);18 phantom.exit();19 }, 200);20 }21});Using AI Code Generation
1var wptools = require('wptools');2var wiki = wptools.page('Albert Einstein');3wiki.get(function(err, data) {4 console.log(data);5 wiki.exportMemoryAs('json', 'einstein.json');6});Using AI Code Generation
1var wpt = require('webpagetest');2var client = wpt('www.webpagetest.org');3 console.log(data.data.runs[1].firstView);4 console.log(data);5 });6});Using AI Code Generation
1var wptoolkit = require('wptoolkit');2var fs = require('fs');3var buffer = new Buffer(100);4buffer.write("Hello World", 0, 11, "ascii");5var result = wptoolkit.exportMemoryAs(buffer, 0, 11, "ascii");6console.log(result);7fs.writeFileSync("test.txt", result); Using AI Code Generation
1var wptools = require('wptools');2var fs = require('fs');3var wp = new wptools();4var memory = wp.createMemory('test');5memory.addContent('This is a test of the exportMemoryAs method of wptools');6memory.exportMemoryAs('test.pdf', 'pdf', function(err, result){7 if(err){8 console.log(err);9 }10 else{11 console.log(result);12 }13});Using AI Code Generation
1var wpt = require('webpagetest');2var webpagetest = new wpt('A.9d9d2a9c8e2e2b0f0f1a1d1f1c1d1e1d');3var options = {4};5webpagetest.runTest(options, function (err, data) {6 if (err) {7 console.log('Error: ' + err);8 } else {9 console.log('Test Submitted');10 console.log('Test ID: ' + data.data.testId);11 console.log('View Test: ' + data.data.userUrl);12 webpagetest.getTestResults(data.data.testId, function (err, data) {13 if (err) {14 console.log('Error: ' + err);15 } else {16 console.log('Test Status: ' + data.data.statusText);17 console.log('Test Results: ' + data.data.summary);18 console.log('First View: ' + data.data.median.firstView);19 console.log('Repeat View: ' + data.data.median.repeatView);20 webpagetest.exportMemoryAs(data.data.testId, 'timeline', function (err, data) {21 if (err) {22 console.log('Error: ' + err);23 } else {24 console.log('Test Status: ' + data.data.statusText);25 console.log('Test Results: ' + data.data.summary);26 console.log('First View: ' + data.data.median.firstView);27 console.log('Repeat View: ' + data.data.median.repeatView);28 }29 });30 }31 });32 }33});Using AI Code Generation
1var wpt = require('webpagetest');2var options = {3};4var test = new wpt('www.webpagetest.org', options);5}, function (err, data) {6 if (err) return console.error(err);7 console.log('Test Status: ' + data.data.statusText);8 console.log('Test ID: ' + data.data.testId);9 test.getTestResults(data.data.testId, function (err, data) {10 if (err) return console.error(err);11 console.log('Test Status: ' + data.data.statusText);12 test.getTestVideo(data.data.testId, function (err, data) {13 if (err) return console.error(err);14 console.log('Test Video: ' + data);15 test.exportMemoryAs(data.data.testId, 'trace.json', function (err, data) {16 if (err) return console.error(err);17 console.log('Exported Memory: ' + data);18 });19 });20 });21});22