I think there is an issue with deoptimization, below.
http://codereview.chromium.org/8318014/diff/4001/src/hydrogen.cc File src/hydrogen.cc (right): http://codereview.chromium.org/8318014/diff/4001/src/hydrogen.cc#newcode5100 src/hydrogen.cc:5100: HValue* function = Pop(); I don't think this is right. In the unoptimized code, this value is on the stack until the function returns (e.g., during argument evaluation) and will be dropped at the return site. So we need it in the environment in case we deopt during argument evaluation (or have lazy deopt to the return site of this call). I think HValue* function = Top(); ... Drop(argument_count + 1); is what we need for now. http://codereview.chromium.org/8318014/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
