summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/TypedObject/bug959119.js
blob: f329acc3f3b641cccaf44255294a7bd0ac737772 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 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);