[JSC] Speed up Air Liveness Analysis on Tmps
Created attachment 266074 [details] Patch
Attachment 266074 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/b3/air/AirReportUsedRegisters.cpp:33: Alphabetical sorting problem. [build/include_order] [4] ERROR: Source/JavaScriptCore/b3/air/AirTmpLiveness.h:53: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/air/AirTmpLiveness.h:197: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/air/AirTmpLiveness.h:206: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/air/AirTmpLiveness.h:216: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 5 in 9 files If any of these errors are false positives, please file a bug against check-webkit-style.
Why not do the optimization in Air::Liveness and make it also work for StackSlots? Those also have indices.
(In reply to comment #3) > Why not do the optimization in Air::Liveness and make it also work for > StackSlots? Those also have indices. But they don't have types right? The way things are split in TmpLiveness is how it is best consumed by the allocator. I may use the absolute indices directly in the future too.
(In reply to comment #4) > (In reply to comment #3) > > Why not do the optimization in Air::Liveness and make it also work for > > StackSlots? Those also have indices. > > But they don't have types right? The way things are split in TmpLiveness is > how it is best consumed by the allocator. > > I may use the absolute indices directly in the future too. But you could have Liveness take a traits or adaptor or something as a template argument that produces an index given a value of vice-versa. For temps, you'd have two versions of the adapter - one for FP and one for GP.
Created attachment 266309 [details] Patch
Attachment 266309 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/b3/air/AirLiveness.h:92: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/air/AirLiveness.h:218: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/air/AirLiveness.h:225: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/air/AirLiveness.h:234: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 4 in 12 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 266309 [details] Patch R=me assuming you also fix the bug you found in the extra early clobbers.
Committed r192851: <http://trac.webkit.org/changeset/192851>