// |jit-test| slow; // // Like inline-add, but with Uint32Array, which is a special case // because the value is representable only as a Number. All this // tests is that the Uint32 path is being triggered. // // This is intended to be run manually with IONFLAGS=logs and // postprocessing by iongraph to verify manually (by inspecting the // MIR) that: // // - the add operation is inlined as it should be, with // a return type 'Double' // - loads and stores are not moved across the add // // Be sure to run with --ion-eager --ion-offthread-compile=off.
function add(ta) { return Atomics.add(ta, 86, 6);
}
var sab = new SharedArrayBuffer(4096); var ia = new Uint32Array(sab); for ( var i=0, limit=ia.length ; i < limit ; i++ )
ia[i] = 0xdeadbeef; // Important: Not an int32-capable value var v = 0; for ( var i=0 ; i < 1000 ; i++ )
v += add(ia); //print(v);
Messung V0.5
¤ Dauer der Verarbeitung: 0.23 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.