Revision: 16861
Author:   [email protected]
Date:     Fri Sep 20 11:34:05 2013 UTC
Log: Pad the environment with 0 rather than the receiver to avoid influencing the representation of the join.

[email protected]

Review URL: https://chromiumcodereview.appspot.com/23707055
http://code.google.com/p/v8/source/detail?r=16861

Modified:
 /branches/bleeding_edge/src/hydrogen.cc

=======================================
--- /branches/bleeding_edge/src/hydrogen.cc     Fri Sep 20 10:47:09 2013 UTC
+++ /branches/bleeding_edge/src/hydrogen.cc     Fri Sep 20 11:34:05 2013 UTC
@@ -6153,7 +6153,8 @@
// Because the deopt may be the only path in the polymorphic call, make sure // that the environment stack matches the depth on deopt that it otherwise
     // would have had after a successful call.
-    Drop(argument_count - (ast_context()->IsEffect() ? 0 : 1));
+    Drop(argument_count);
+    if (!ast_context()->IsEffect()) Push(graph()->GetConstant0());
FinishExitWithHardDeoptimization("Unknown map in polymorphic call", join);
   } else {
     HValue* context = environment()->context();

--
--
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/groups/opt_out.

Reply via email to