| Index: src/hydrogen.cc | 
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc | 
| index 4e00ba6907fd60f59e25f0570c812b6727ad30ec..2d51b9b463941f072c2fc7f92b331eee66e80080 100644 | 
| --- a/src/hydrogen.cc | 
| +++ b/src/hydrogen.cc | 
| @@ -4711,7 +4711,7 @@ void HOptimizedGraphBuilder::HandlePolymorphicLoadNamedField( | 
| 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 { | 
| @@ -4731,6 +4731,10 @@ void HOptimizedGraphBuilder::HandlePolymorphicLoadNamedField( | 
| // 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(); | 
|  |