fix $.agent to $262.agent (#876)

Fixes #875
This commit is contained in:
Leo Balter 2017-03-02 12:00:16 -05:00 committed by GitHub
parent 2871a9c8ed
commit ea45caf046
17 changed files with 124 additions and 124 deletions

View File

@ -8,26 +8,26 @@ description: >
includes: [atomicsHelper.js]
---*/
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab, id) {
$262.agent.receiveBroadcast(function (sab, id) {
var ia = new Int32Array(sab);
var then = Date.now();
$.agent.report(Atomics.wait(ia, 0, 0, 500)); // Timeout 500ms
$.agent.report(Date.now() - then);
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0, 500)); // Timeout 500ms
$262.agent.report(Date.now() - then);
$262.agent.leaving();
})
`);
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$262.agent.broadcast(ia.buffer);
assert.sameValue(getReport(), "timed-out");
assert.sameValue(Math.abs((getReport()|0) - 500) < $ATOMICS_MAX_TIME_EPSILON, true);
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -10,7 +10,7 @@ description: >
// Let's assume 'wait' is not allowed on the main thread,
// even in the shell.
$.agent.start(
$262.agent.start(
`
var sab = new SharedArrayBuffer(1024);
var ab = new ArrayBuffer(16);
@ -25,8 +25,8 @@ var good_indices = [ (view) => 0/-1, // -0
var view = new Int32Array(sab, 32, 20);
view[0] = 0;
$.agent.report("A " + Atomics.wait(view, 0, 0, 0))
$.agent.report("B " + Atomics.wait(view, 0, 37, 0));
$262.agent.report("A " + Atomics.wait(view, 0, 0, 0))
$262.agent.report("B " + Atomics.wait(view, 0, 37, 0));
// In-bounds boundary cases for indexing
for ( let IdxGen of good_indices ) {
@ -35,11 +35,11 @@ for ( let IdxGen of good_indices ) {
// Atomics.store() computes an index from Idx in the same way as other
// Atomics operations, not quite like view[Idx].
Atomics.store(view, Idx, 37);
$.agent.report("C " + Atomics.wait(view, Idx, 0));
$262.agent.report("C " + Atomics.wait(view, Idx, 0));
}
$.agent.report("done");
$.agent.leaving();
$262.agent.report("done");
$262.agent.leaving();
`)
assert.sameValue(getReport(), "A timed-out");
@ -50,7 +50,7 @@ while ((r = getReport()) != "done")
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -6,26 +6,26 @@ description: >
Test that Atomics.wait does not time out with a NaN timeout
---*/
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab, id) {
$262.agent.receiveBroadcast(function (sab, id) {
var ia = new Int32Array(sab);
$.agent.report(Atomics.wait(ia, 0, 0, NaN)); // NaN => Infinity
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0, NaN)); // NaN => Infinity
$262.agent.leaving();
})
`);
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$.agent.sleep(500); // Ample time
assert.sameValue($.agent.getReport(), null);
$262.agent.broadcast(ia.buffer);
$262.agent.sleep(500); // Ample time
assert.sameValue($262.agent.getReport(), null);
Atomics.wake(ia, 0);
assert.sameValue(getReport(), "ok");
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -6,23 +6,23 @@ description: >
Test that Atomics.wait times out with a negative timeout
---*/
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab, id) {
$262.agent.receiveBroadcast(function (sab, id) {
var ia = new Int32Array(sab);
$.agent.report(Atomics.wait(ia, 0, 0, -5)); // -5 => 0
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0, -5)); // -5 => 0
$262.agent.leaving();
})
`);
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$262.agent.broadcast(ia.buffer);
assert.sameValue(getReport(), "timed-out");
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -8,30 +8,30 @@ description: >
includes: [atomicsHelper.js]
---*/
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab, id) {
$262.agent.receiveBroadcast(function (sab, id) {
var ia = new Int32Array(sab);
var then = Date.now();
Atomics.wait(ia, 0, 0);
var diff = Date.now() - then; // Should be about 1000 ms
$.agent.report(diff);
$.agent.leaving();
$262.agent.report(diff);
$262.agent.leaving();
})
`);
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$.agent.sleep(500); // Give the agent a chance to wait
$262.agent.broadcast(ia.buffer);
$262.agent.sleep(500); // Give the agent a chance to wait
Atomics.store(ia, 0, 1); // Change the value, should not wake the agent
$.agent.sleep(500); // Wait some more so that we can tell
$262.agent.sleep(500); // Wait some more so that we can tell
Atomics.wake(ia, 0); // Really wake it up
assert.sameValue(Math.abs((getReport()|0) - 1000) < $ATOMICS_MAX_TIME_EPSILON, true);
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -6,26 +6,26 @@ description: >
Test that Atomics.wait returns the right result when it was awoken.
---*/
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab, id) {
$262.agent.receiveBroadcast(function (sab, id) {
var ia = new Int32Array(sab);
$.agent.report(Atomics.wait(ia, 0, 0)); // No timeout => Infinity
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0)); // No timeout => Infinity
$262.agent.leaving();
})
`);
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$.agent.sleep(500); // Give the agent a chance to wait
$262.agent.broadcast(ia.buffer);
$262.agent.sleep(500); // Give the agent a chance to wait
Atomics.wake(ia, 0);
assert.sameValue(getReport(), "ok");
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -8,29 +8,29 @@ description: >
---*/
for ( var i=0 ; i < 3 ; i++ ) {
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab) {
$262.agent.receiveBroadcast(function (sab) {
var ia = new Int32Array(sab);
$.agent.report("A " + Atomics.wait(ia, 0, 0));
$.agent.leaving();
$262.agent.report("A " + Atomics.wait(ia, 0, 0));
$262.agent.leaving();
})
`);
}
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab) {
$262.agent.receiveBroadcast(function (sab) {
var ia = new Int32Array(sab);
$.agent.report("B " + Atomics.wait(ia, 1, 0, 1000)); // We will timeout eventually
$.agent.leaving();
$262.agent.report("B " + Atomics.wait(ia, 1, 0, 1000)); // We will timeout eventually
$262.agent.leaving();
})
`);
var ia = new Int32Array(new SharedArrayBuffer(2*Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$.agent.sleep(500); // Give the agents a chance to wait
$262.agent.broadcast(ia.buffer);
$262.agent.sleep(500); // Give the agents a chance to wait
assert.sameValue(Atomics.wake(ia, 0), 3); // Wake all on location 0
var rs = [getReport(), getReport(), getReport(), getReport()];
// Do not sort the array -- B should timeout much after the others are woken
@ -41,7 +41,7 @@ assert.sameValue(rs[3], "B timed-out");
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -7,20 +7,20 @@ description: >
---*/
for ( var i=0 ; i < 3 ; i++ ) {
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab) {
$262.agent.receiveBroadcast(function (sab) {
var ia = new Int32Array(sab);
$.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We may timeout eventually
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We may timeout eventually
$262.agent.leaving();
})
`);
}
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$.agent.sleep(500); // Give the agents a chance to wait
$262.agent.broadcast(ia.buffer);
$262.agent.sleep(500); // Give the agents a chance to wait
assert.sameValue(Atomics.wake(ia, 0), 3); // Wake all
var rs = [getReport(), getReport(), getReport()];
rs.sort();
@ -30,7 +30,7 @@ assert.sameValue(rs[2], "ok");
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -11,24 +11,24 @@ description: >
// one by one and observe the wakeup order.
for ( var i=0 ; i < 3 ; i++ ) {
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab) {
$262.agent.receiveBroadcast(function (sab) {
var ia = new Int32Array(sab);
while (Atomics.load(ia, ${i+1}) == 0);
$.agent.report(${i} + Atomics.wait(ia, 0, 0));
$.agent.leaving();
$262.agent.report(${i} + Atomics.wait(ia, 0, 0));
$262.agent.leaving();
})
`);
}
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT*4));
$.agent.broadcast(ia.buffer);
$262.agent.broadcast(ia.buffer);
// Make them sleep in order 0 1 2 on ia[0]
for ( var i=0 ; i < 3 ; i++ ) {
Atomics.store(ia, i+1, 1);
$.agent.sleep(500);
$262.agent.sleep(500);
}
// Wake them up one at a time and check the order is 0 1 2
@ -39,8 +39,8 @@ for ( var i=0 ; i < 3 ; i++ ) {
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -6,25 +6,25 @@ description: >
Test that Atomics.wake wakes zero waiters if the count is NaN
---*/
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab) {
$262.agent.receiveBroadcast(function (sab) {
var ia = new Int32Array(sab);
$.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We will timeout eventually
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We will timeout eventually
$262.agent.leaving();
})
`);
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$.agent.sleep(500); // Give the agent a chance to wait
$262.agent.broadcast(ia.buffer);
$262.agent.sleep(500); // Give the agent a chance to wait
assert.sameValue(Atomics.wake(ia, 0, NaN), 0); // Don't actually wake it
assert.sameValue(getReport(), "timed-out");
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -6,25 +6,25 @@ description: >
Test that Atomics.wake wakes zero waiters if the count is negative
---*/
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab) {
$262.agent.receiveBroadcast(function (sab) {
var ia = new Int32Array(sab);
$.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We will timeout eventually
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We will timeout eventually
$262.agent.leaving();
})
`);
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$.agent.sleep(500); // Give the agent a chance to wait
$262.agent.broadcast(ia.buffer);
$262.agent.sleep(500); // Give the agent a chance to wait
assert.sameValue(Atomics.wake(ia, 0, -1), 0); // Don't actually wake it
assert.sameValue(getReport(), "timed-out");
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -6,28 +6,28 @@ description: >
Test that Atomics.wake wakes one waiter if that's what the count is.
---*/
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab) {
$262.agent.receiveBroadcast(function (sab) {
var ia = new Int32Array(sab);
$.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We may timeout eventually
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We may timeout eventually
$262.agent.leaving();
})
`);
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab) {
$262.agent.receiveBroadcast(function (sab) {
var ia = new Int32Array(sab);
$.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We may timeout eventually
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We may timeout eventually
$262.agent.leaving();
})
`);
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$.agent.sleep(500); // Give the agents a chance to wait
$262.agent.broadcast(ia.buffer);
$262.agent.sleep(500); // Give the agents a chance to wait
assert.sameValue(Atomics.wake(ia, 0, 1), 1); // Wake one
var rs = [getReport(), getReport()];
rs.sort();
@ -36,7 +36,7 @@ assert.sameValue(rs[1], "timed-out");
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -7,20 +7,20 @@ description: >
---*/
for ( var i=0 ; i < 3 ; i++ ) {
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab) {
$262.agent.receiveBroadcast(function (sab) {
var ia = new Int32Array(sab);
$.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We may timeout eventually
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We may timeout eventually
$262.agent.leaving();
})
`);
}
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$.agent.sleep(500); // Give the agents a chance to wait
$262.agent.broadcast(ia.buffer);
$262.agent.sleep(500); // Give the agents a chance to wait
assert.sameValue(Atomics.wake(ia, 0, 2), 2); // Wake two
var rs = [getReport(), getReport(), getReport()];
rs.sort();
@ -30,7 +30,7 @@ assert.sameValue(rs[2], "timed-out");
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -6,25 +6,25 @@ description: >
Test that Atomics.wake wakes zero waiters if that's what the count is.
---*/
$.agent.start(
$262.agent.start(
`
$.agent.receiveBroadcast(function (sab) {
$262.agent.receiveBroadcast(function (sab) {
var ia = new Int32Array(sab);
$.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We will timeout eventually
$.agent.leaving();
$262.agent.report(Atomics.wait(ia, 0, 0, 1000)); // We will timeout eventually
$262.agent.leaving();
})
`);
var ia = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
$.agent.broadcast(ia.buffer);
$.agent.sleep(500); // Give the agent a chance to wait
$262.agent.broadcast(ia.buffer);
$262.agent.sleep(500); // Give the agent a chance to wait
assert.sameValue(Atomics.wake(ia, 0, 0), 0); // Don't actually wake it
assert.sameValue(getReport(), "timed-out");
function getReport() {
var r;
while ((r = $.agent.getReport()) == null)
$.agent.sleep(100);
while ((r = $262.agent.getReport()) == null)
$262.agent.sleep(100);
return r;
}

View File

@ -23,7 +23,7 @@ info: |
features: [Reflect, SharedArrayBuffer]
---*/
var other = $.createRealm().global;
var other = $262.createRealm().global;
var C = new other.Function();
C.prototype = null;
var buffer = new SharedArrayBuffer(0);

View File

@ -20,7 +20,7 @@ info: |
features: [Reflect]
---*/
var other = $.createRealm().global;
var other = $262.createRealm().global;
var C = new other.Function();
C.prototype = null;

View File

@ -28,7 +28,7 @@ features: [SharedArrayBuffer]
features: [Reflect]
---*/
var other = $.createRealm().global;
var other = $262.createRealm().global;
var C = new other.Function();
C.prototype = null;