Closed
Bug 893038
Opened 11 years ago
Closed 11 years ago
IonMonkey: Re-enable heavyweight and cloned-function inlining
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla25
People
(Reporter: djvj, Unassigned)
References
Details
Attachments
(1 file)
(deleted),
patch
|
Details | Diff | Splinter Review |
Heavyweight function inlining is currently disabled because the callee of inlined frames may get lost if it's not a constant (which happens for heavweight + cloned inlined functions).
This requires keeping the callee alive until after the inlined function's IR graph. It should be possible to just add a dummy KeepAlive instruction to the return-block of the inlined function, that is otherwise a no-op.. which keeps the callee value alive.
Reporter | ||
Updated•11 years ago
|
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Reporter | ||
Updated•11 years ago
|
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Reporter | ||
Comment 3•11 years ago
|
||
Comment 4•11 years ago
|
||
This triggered this build warning in every .cpp file that #includes MIR.h:
{
Warning: -Woverloaded-virtual in /mozilla-central/js/src/ion/MIR.h: by 'bool js::ion::MForceUse::congruentTo(js::ion::MDefinition* const&) const'
/mozilla-central/js/src/ion/MIR.h:1015:10: warning: by 'bool js::ion::MForceUse::congruentTo(js::ion::MDefinition* const&) const' [-Woverloaded-virtual]
bool congruentTo(MDefinition * const &ins) const {
^
}
Comment 5•11 years ago
|
||
Sorry, I missed the first part:
{
js/src/ion/MIR.h:371:18: warning: 'virtual bool js::ion::MDefinition::congruentTo(js::ion::MDefinition*) const' was hidden [-Woverloaded-virtual]
}
Looks like the type of the function arg is not quite right.
Comment 6•11 years ago
|
||
This fixes the one mismatched function signature, and fixes the warning on my system.
Attachment #784190 -
Flags: review?(kvijayan)
Reporter | ||
Comment 7•11 years ago
|
||
Comment on attachment 784190 [details] [diff] [review]
followup
Review of attachment 784190 [details] [diff] [review]:
-----------------------------------------------------------------
Thanks for identifying and taking care of that!
Attachment #784190 -
Flags: review?(kvijayan) → review+
Reporter | ||
Comment 8•11 years ago
|
||
Comment on attachment 784190 [details] [diff] [review]
followup
Review of attachment 784190 [details] [diff] [review]:
-----------------------------------------------------------------
Canceling review on this. bbouvier also made this exact same patch, on a dedicated bug (bug 900308), and I r+-ed that instead.
Seems more appropriate to push in that bug and close it.
Sorry for the confusion!
Attachment #784190 -
Flags: review+
Comment 9•11 years ago
|
||
No worries -- glad it's getting fixed!
Comment 10•11 years ago
|
||
Status: REOPENED → RESOLVED
Closed: 11 years ago → 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
Comment 11•11 years ago
|
||
Looks like a typo in LIRGenerator::visitForceUse(MForceUse *ins):
if (!useBox(lir, 0, ins->input())); <<< semicolon?
return false;
Comment 12•11 years ago
|
||
Reporter | ||
Comment 13•11 years ago
|
||
(In reply to Douglas Crosher [:dougc] from comment #11)
> Looks like a typo in LIRGenerator::visitForceUse(MForceUse *ins):
>
> if (!useBox(lir, 0, ins->input())); <<< semicolon?
> return false;
Yeah, that's a rookie mistake :( Jonco has a patch for it I'm r+-ing.
You need to log in
before you can comment on or make changes to this bug.
Description
•