Index: src/compiler/js-inlining-heuristic.cc |
diff --git a/src/compiler/js-inlining-heuristic.cc b/src/compiler/js-inlining-heuristic.cc |
index 38595dbf95cb9b2d4e72be03aad76fb6d206d115..65531473ad22ead63ede7ace0d92b1aed5759d5b 100644 |
--- a/src/compiler/js-inlining-heuristic.cc |
+++ b/src/compiler/js-inlining-heuristic.cc |
@@ -75,13 +75,18 @@ Reduction JSInliningHeuristic::Reduce(Node* node) { |
// Gather feedback on how often this call site has been hit before. |
int calls = -1; // Same default as CallICNexus::ExtractCallCount. |
- // TODO(turbofan): We also want call counts for constructor calls. |
if (node->opcode() == IrOpcode::kJSCallFunction) { |
CallFunctionParameters p = CallFunctionParametersOf(node->op()); |
if (p.feedback().IsValid()) { |
CallICNexus nexus(p.feedback().vector(), p.feedback().slot()); |
calls = nexus.ExtractCallCount(); |
} |
+ } else if (node->opcode() == IrOpcode::kJSCallConstruct) { |
+ CallConstructParameters p = CallConstructParametersOf(node->op()); |
+ if (p.feedback().IsValid()) { |
+ ConstructICNexus nexus(p.feedback().vector(), p.feedback().slot()); |
+ calls = nexus.ExtractCallCount(); |
+ } |
} |
// --------------------------------------------------------------------------- |