Revision: 16835
Author:   [email protected]
Date:     Thu Sep 19 14:47:15 2013 UTC
Log:      Reenable polymorphic getter inlining.

[email protected]

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

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

=======================================
--- /branches/bleeding_edge/src/hydrogen.cc     Thu Sep 19 14:35:53 2013 UTC
+++ /branches/bleeding_edge/src/hydrogen.cc     Thu Sep 19 14:47:15 2013 UTC
@@ -4712,7 +4712,7 @@
       set_current_block(if_true);

       HInstruction* load = BuildLoadMonomorphic(
-          &info, object, compare, ast_id, return_id, false);
+ &info, object, compare, ast_id, return_id, FLAG_polymorphic_inlining);
       if (load == NULL) {
         if (HasStackOverflow()) return;
       } else {
@@ -4732,6 +4732,10 @@
   // know about and do not want to handle ones we've never seen.  Otherwise
   // use a generic IC.
   if (count == types->length() && FLAG_deoptimize_uncommon_cases) {
+ // Because the deopt may be the only path in the polymorphic load, make sure + // that the environment stack matches the depth on deopt that it otherwise
+    // would have had after a successful load.
+    if (!ast_context()->IsEffect()) Push(graph()->GetConstant0());
FinishExitWithHardDeoptimization("Unknown map in polymorphic load", 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