-
Notifications
You must be signed in to change notification settings - Fork 647
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Split cases for all numeric operations
Summary: In working on prior diffs, I've observed that the code quality for these numeric cases is noticeably worse than other fast paths. In particular, the compiler does not generate a fall-through to the fast path, perhaps because it is also the target of a computed goto. In addition to fixing those to now fall-through, this seems to significantly reduce the amount of generated code for the interpreter overall. I see ~9% fewer instructions in the interpreter on arm64. It is difficult to assess whether this reduction is entirely desirable, since for instance some movs are replaced by load/store. But overall, this improves performance measurably on the Raspberry Pi. Reviewed By: avp Differential Revision: D66275151 fbshipit-source-id: 76e7b47c047deacf4dcdfe4c3f161234f8b06930
- Loading branch information
1 parent
ed6695d
commit ba4c854
Showing
1 changed file
with
87 additions
and
79 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters