On 2014/06/24 14:46:44, p.antonov wrote:
PTAL, expression stack management should be fine now.

Handling of deoptimization is still wrong. For example, the program below should
not do anything, but it gives an error:

Array.prototype.f = function() {
  return 0;
};

function g(x, y) { }

function f(deopt) {
  g([].f.call({}), deopt + 1);
}

f(0);
f(0);
%OptimizeFunctionOnNextCall(f);
f({});


Here is the result:

$ out/ia32.debug/d8 --allow-natives-syntax c.js
c.js:8: TypeError: undefined is not a function
  g([].f.call({}), deopt + 1);
                         ^
TypeError: undefined is not a function
    at f (c.js:8:26)
    at c.js:14:1


With --nocrankshaft, everything is working as expected (no output).

https://codereview.chromium.org/350913002/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to