Home | History | Annotate | Download | only in compiler

Lines Matching refs:candidate

52   // Quick check on the size of the AST to avoid parsing large candidate.
71 // Check if the {node} is an appropriate candidate for inlining.
73 Candidate candidate;
74 candidate.node = node;
75 candidate.num_functions =
76 CollectFunctions(callee, candidate.functions, kMaxCallPolymorphism);
77 if (candidate.num_functions == 0) {
79 } else if (candidate.num_functions > 1 && !FLAG_polymorphic_inlining) {
89 for (int i = 0; i < candidate.num_functions; ++i) {
90 Handle<JSFunction> function = candidate.functions[i];
98 if (force_inline) return InlineCandidate(candidate);
122 candidate.frequency = p.frequency();
125 candidate.frequency = p.frequency();
135 return InlineCandidate(candidate);
140 // In the general case we remember the candidate for later.
141 candidates_.insert(candidate);
149 // We inline at most one candidate in every iteration of the fixpoint.
156 Candidate candidate = *i;
158 // Make sure we don't try to inline dead candidate nodes.
159 if (!candidate.node->IsDead()) {
160 Reduction const reduction = InlineCandidate(candidate);
166 Reduction JSInliningHeuristic::InlineCandidate(Candidate const& candidate) {
167 int const num_calls = candidate.num_functions;
168 Node* const node = candidate.node;
170 Handle<JSFunction> function = candidate.functions[0];
195 Node* target = jsgraph()->HeapConstant(candidate.functions[i]);
256 Handle<JSFunction> function = candidate.functions[i];
268 const Candidate& left, const Candidate& right) const {
280 for (const Candidate& candidate : candidates_) {
281 PrintF(" #%d:%s, frequency:%g\n", candidate.node->id(),
282 candidate.node->op()->mnemonic(), candidate.frequency);
283 for (int i = 0; i < candidate.num_functions; ++i) {
284 Handle<JSFunction> function = candidate.functions[i];