-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Closed
Labels
A-codegenArea: Code generationArea: Code generationC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.I-slowIssue: Problems and improvements with respect to performance of generated code.Issue: Problems and improvements with respect to performance of generated code.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
Original report: https://bugzilla.mozilla.org/show_bug.cgi?id=1369420
From that report:
"In the disassembly of style::properties::PropertyDeclaration::parse_into, at the end there is an area with hundreds of repetitions of:"
142476 00000001`80437946 e8b5490f00 call xul!alloc::oom::oom (00000001`8052c300)
142476 00000001`8043794b 0f0b ud2
142476 00000001`8043794d e8ae490f00 call xul!alloc::oom::oom (00000001`8052c300)
142476 00000001`80437952 0f0b ud2
142476 00000001`80437954 e8a7490f00 call xul!alloc::oom::oom (00000001`8052c300)
142476 00000001`80437959 0f0b ud2
"I'm guessing what's happening is that the compiler places unlikely fatal codepaths at the end of the function, outside of the normal control flow (which is good) but it would be good if it could recognize when several of these paths will lead to the same place and collapse them to save space."
If what's going on here is as simple as it seems, this could be a nice easy win.
cc @arielb1 seems like something that might interest you.
Metadata
Metadata
Assignees
Labels
A-codegenArea: Code generationArea: Code generationC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.I-slowIssue: Problems and improvements with respect to performance of generated code.Issue: Problems and improvements with respect to performance of generated code.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.