michael@0: // |jit-test| slow; michael@0: michael@0: // Binary: cache/js-dbg-32-e5e66f40c35b-linux michael@0: // Flags: michael@0: // michael@0: michael@0: gczeal(2); michael@0: function subset(list, size) { michael@0: if (size == 0 || !list.length) michael@0: return [list.slice(0, 0)]; michael@0: var result = []; michael@0: for (var i = 0, n = list.length; i < n; i++) { michael@0: var pick = list.slice(i, i+1); michael@0: var rest = list.slice(0, i).concat(list.slice(i+1)); michael@0: for each (var x in subset(rest, size-1)) michael@0: result.push(pick.concat(x)); michael@0: } michael@0: return result; michael@0: } michael@0: var bops = [ michael@0: ["=", "|=", "^=", "&=", "<<=", ">>=", ">>>=", "+=", "-=", "*=", "/=", "%="], michael@0: ]; michael@0: var aops = []; michael@0: for (var i = 0; i < bops.length; i++) { michael@0: for (var j = 0; j < bops[i].length; j++) { michael@0: var k = bops[i][j]; michael@0: aops.push(k); michael@0: } michael@0: for (i = 2; i < 5; i++) { michael@0: var sets = subset(aops, i); michael@0: } michael@0: }