// This test exposed a bug in float32 optimization. // The (inlined and optimized) code for `add()` created // MDiv instructions specialized to integers, which was // then "respecialized" to float32, leading to internal // assertion errors. // // Public domain. if (!this.hasOwnProperty("TypedObject")) quit(); var {StructType,uint8,float32} = TypedObject; var RgbColor2 = new StructType({r: uint8, g: float32, b: uint8}); RgbColor2.prototype.add = function(c) { this.g += c; this.b += c; }; var gray = new RgbColor2({r: 129, g: 128, b: 127}); gray.add(1); gray.add(2);