Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 9ca26a6a59f00298013b52e182f7a903084d2412..32108dc1cde6e819bd1e1ada105fc9cebc4a8e9d 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -3614,6 +3614,11 @@ HInstruction* HGraphBuilder::BuildLoadNamed(HValue* obj, |
map, |
&lookup, |
true); |
+ } else if (lookup.IsProperty() && lookup.type() == CONSTANT_FUNCTION) { |
+ AddInstruction(new HCheckNonSmi(obj)); |
+ AddInstruction(new HCheckMap(obj, map)); |
+ Handle<JSFunction> function(lookup.GetConstantFunctionFromMap(*map)); |
+ return new HConstant(function, Representation::Tagged()); |
} else { |
return BuildLoadNamedGeneric(obj, expr); |
} |