Commit aa31176a authored by chunyang.dai's avatar chunyang.dai Committed by Commit bot

X87: [crankshaft] Record inlined shared function infos instead of closures.

port 388e791d (r28672).

original commit message:

   The list of inlined functions is used in exactly two places - for live
    edit and to prevent code flushing for inlined functions - and those are
    fine with SharedFunctionInfo and don't require a closure.

    This is one additional step towards inlining based on SharedFunctionInfo
    instead of JSFunction.

BUG=

Review URL: https://codereview.chromium.org/1143003003

Cr-Commit-Position: refs/heads/master@{#28719}
parent f1cc4ed2
...@@ -1262,17 +1262,10 @@ int LCodeGen::DefineDeoptimizationLiteral(Handle<Object> literal) { ...@@ -1262,17 +1262,10 @@ int LCodeGen::DefineDeoptimizationLiteral(Handle<Object> literal) {
void LCodeGen::PopulateDeoptimizationLiteralsWithInlinedFunctions() { void LCodeGen::PopulateDeoptimizationLiteralsWithInlinedFunctions() {
DCHECK(deoptimization_literals_.length() == 0); DCHECK_EQ(0, deoptimization_literals_.length());
for (auto function : chunk()->inlined_functions()) {
const ZoneList<Handle<JSFunction> >* inlined_closures = DefineDeoptimizationLiteral(function);
chunk()->inlined_closures();
for (int i = 0, length = inlined_closures->length();
i < length;
i++) {
DefineDeoptimizationLiteral(inlined_closures->at(i));
} }
inlined_function_count_ = deoptimization_literals_.length(); inlined_function_count_ = deoptimization_literals_.length();
} }
......
...@@ -2669,7 +2669,7 @@ LInstruction* LChunkBuilder::DoEnterInlined(HEnterInlined* instr) { ...@@ -2669,7 +2669,7 @@ LInstruction* LChunkBuilder::DoEnterInlined(HEnterInlined* instr) {
inner->BindContext(instr->closure_context()); inner->BindContext(instr->closure_context());
inner->set_entry(instr); inner->set_entry(instr);
current_block_->UpdateEnvironment(inner); current_block_->UpdateEnvironment(inner);
chunk_->AddInlinedClosure(instr->closure()); chunk_->AddInlinedFunction(instr->shared());
return NULL; return NULL;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment