summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/pic/self8.js
blob: 3c0523cb04be26d14a6e54b709f4261fb9d5543e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// getprop, self, 8 shapes

var expected = "0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,";
var actual = '';

function letter(i) {
  return String.fromCharCode(97 + i);
}

function f() {
  // Build 8 objects with different shapes and x in different slots.
  var oa = [];
  for (var i = 0; i < 8; ++i) {
    var o = {};
    for (var j = 0; j < 8; ++j) {
      if (j != i) {
	o[letter(j)] = 1000 + i * 10 + j;
      } else {
	o.x = i;
      }
    }
    oa[i] = o;
  }

  for (var i = 0; i < 24; ++i) {
    actual += oa[i%8].x + ',';
  }
}

f();

assertEq(actual, expected);