Updates:
        Status: Assigned
        Owner: [email protected]

Comment #2 on issue 1582 by [email protected]: Maximum call stack size exceeded error with SproutCore apps
http://code.google.com/p/v8/issues/detail?id=1582

Here comes the reduction:

function f(restIsArray, rest) {
  var arr;
  if (typeof rest === "object" && (rest instanceof Array)) {
    arr = rest;
  } else {
    arr = arguments;
  }
  var i = arr.length;
  while (--i >= 0) arr[i];
  var arrIsArguments = (arr[1] !== rest);
  assertEquals(restIsArray, arrIsArguments);
}

f(false, 'b', 'c');
f(false, 'b', 'c');
f(false, 'b', 'c');
%OptimizeFunctionOnNextCall(f);
f(true, ['b', 'c']);

We are incorrectly treating phis that can 'return' arguments object. I'll fix it.

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to