Reviewers: Weiliang,
Message:
PTAL
Description:
X87: [crankshaft] Record inlined shared function infos instead of closures.
port 388e791df91c299507d62f91bc4f618a4dc80276 (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=
Please review this at https://codereview.chromium.org/1143003003/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+4, -11 lines):
M src/x87/lithium-codegen-x87.cc
M src/x87/lithium-x87.cc
Index: src/x87/lithium-codegen-x87.cc
diff --git a/src/x87/lithium-codegen-x87.cc b/src/x87/lithium-codegen-x87.cc
index
00a6f4e4a7e890656ca57ed82f4059f7350ebe26..611ed891038f5f8fe9a6a52389ee2c8b8b063359
100644
--- a/src/x87/lithium-codegen-x87.cc
+++ b/src/x87/lithium-codegen-x87.cc
@@ -1262,17 +1262,10 @@ int
LCodeGen::DefineDeoptimizationLiteral(Handle<Object> literal) {
void LCodeGen::PopulateDeoptimizationLiteralsWithInlinedFunctions() {
- DCHECK(deoptimization_literals_.length() == 0);
-
- const ZoneList<Handle<JSFunction> >* inlined_closures =
- chunk()->inlined_closures();
-
- for (int i = 0, length = inlined_closures->length();
- i < length;
- i++) {
- DefineDeoptimizationLiteral(inlined_closures->at(i));
+ DCHECK_EQ(0, deoptimization_literals_.length());
+ for (auto function : chunk()->inlined_functions()) {
+ DefineDeoptimizationLiteral(function);
}
-
inlined_function_count_ = deoptimization_literals_.length();
}
Index: src/x87/lithium-x87.cc
diff --git a/src/x87/lithium-x87.cc b/src/x87/lithium-x87.cc
index
33540905594046f7be6acb39f5f65de4dc8fdd76..4d59c43f422fd94fa3352423d708d4a2f5686935
100644
--- a/src/x87/lithium-x87.cc
+++ b/src/x87/lithium-x87.cc
@@ -2669,7 +2669,7 @@ LInstruction*
LChunkBuilder::DoEnterInlined(HEnterInlined* instr) {
inner->BindContext(instr->closure_context());
inner->set_entry(instr);
current_block_->UpdateEnvironment(inner);
- chunk_->AddInlinedClosure(instr->closure());
+ chunk_->AddInlinedFunction(instr->shared());
return NULL;
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.