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.