bug1791520.js (1642B)
1 function testAtomicsAdd() { 2 var x; 3 for (var i = 0; i < 100; ++i) { 4 var a = new BigInt64Array(2); 5 x = Atomics.add(a, i & 1, 1n); 6 } 7 return x; 8 } 9 10 function testAtomicsSub() { 11 var x; 12 for (var i = 0; i < 100; ++i) { 13 var a = new BigInt64Array(2); 14 x = Atomics.sub(a, i & 1, 1n); 15 } 16 return x; 17 } 18 19 function testAtomicsAnd() { 20 var x; 21 for (var i = 0; i < 100; ++i) { 22 var a = new BigInt64Array(2); 23 x = Atomics.and(a, i & 1, 1n); 24 } 25 return x; 26 } 27 28 function testAtomicsOr() { 29 var x; 30 for (var i = 0; i < 100; ++i) { 31 var a = new BigInt64Array(2); 32 x = Atomics.or(a, i & 1, 1n); 33 } 34 return x; 35 } 36 37 function testAtomicsXor() { 38 var x; 39 for (var i = 0; i < 100; ++i) { 40 var a = new BigInt64Array(2); 41 x = Atomics.xor(a, i & 1, 1n); 42 } 43 return x; 44 } 45 46 function testAtomicsExchange() { 47 var x; 48 for (var i = 0; i < 100; ++i) { 49 var a = new BigInt64Array(2); 50 x = Atomics.exchange(a, i & 1, 0n); 51 } 52 return x; 53 } 54 55 function testAtomicsCompareExchange() { 56 var x; 57 for (var i = 0; i < 100; ++i) { 58 var a = new BigInt64Array(2); 59 x = Atomics.compareExchange(a, i & 1, 0n, 0n); 60 } 61 return x; 62 } 63 64 function testAtomicsLoad() { 65 var x; 66 for (var i = 0; i < 100; ++i) { 67 var a = new BigInt64Array(2); 68 x = Atomics.load(a, i & 1); 69 } 70 return x; 71 } 72 73 function testLoadElement() { 74 var x; 75 for (var i = 0; i < 100; ++i) { 76 var a = new BigInt64Array(2); 77 x = a[i & 1]; 78 } 79 return x; 80 } 81 82 gczeal(14); 83 84 testAtomicsAdd(); 85 testAtomicsSub(); 86 testAtomicsAnd(); 87 testAtomicsOr(); 88 testAtomicsXor(); 89 testAtomicsExchange(); 90 testAtomicsCompareExchange(); 91 testAtomicsLoad(); 92 testLoadElement();