Reviewers: fschneider,
Description:
Support loading constant functions in hydrogen.
Please review this at http://codereview.chromium.org/5878004/
Affected files:
M src/hydrogen.cc
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);
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev