Commit 2622158a authored by verwaest@chromium.org's avatar verwaest@chromium.org

Change environment padding value to value with smi representation.

BUG=
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22226002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent e9f6a2d7
...@@ -1050,12 +1050,14 @@ void HGraphBuilder::PadEnvironmentForContinuation( ...@@ -1050,12 +1050,14 @@ void HGraphBuilder::PadEnvironmentForContinuation(
HBasicBlock* continuation) { HBasicBlock* continuation) {
if (continuation->last_environment() != NULL) { if (continuation->last_environment() != NULL) {
// When merging from a deopt block to a continuation, resolve differences in // When merging from a deopt block to a continuation, resolve differences in
// environment by pushing undefined and popping extra values so that the // environment by pushing constant 0 and popping extra values so that the
// environments match during the join. // environments match during the join. Push 0 since it has the most specific
// representation, and will not influence representation inference of the
// phi.
int continuation_env_length = continuation->last_environment()->length(); int continuation_env_length = continuation->last_environment()->length();
while (continuation_env_length != from->last_environment()->length()) { while (continuation_env_length != from->last_environment()->length()) {
if (continuation_env_length > from->last_environment()->length()) { if (continuation_env_length > from->last_environment()->length()) {
from->last_environment()->Push(graph()->GetConstantUndefined()); from->last_environment()->Push(graph()->GetConstant0());
} else { } else {
from->last_environment()->Pop(); from->last_environment()->Pop();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment