RESOLVED FIXED 151246
[JSC] Add support for the extra registers that can be clobbered by Specials
https://bugs.webkit.org/show_bug.cgi?id=151246
Summary [JSC] Add support for the extra registers that can be clobbered by Specials
Benjamin Poulain
Reported 2015-11-12 21:17:42 PST
[JSC] Add support for the extra registers that can be clobbered by any Special
Attachments
Patch (23.21 KB, patch)
2015-11-12 21:25 PST, Benjamin Poulain
no flags
Patch (23.38 KB, patch)
2015-11-13 13:44 PST, Benjamin Poulain
no flags
Patch (24.18 KB, patch)
2015-11-16 16:39 PST, Benjamin Poulain
no flags
Benjamin Poulain
Comment 1 2015-11-12 21:25:38 PST
WebKit Commit Bot
Comment 2 2015-11-12 21:28:30 PST
Attachment 265467 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/b3/air/AirInst.h:131: The parameter name "functor" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2683: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2684: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2696: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2727: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2728: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2744: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2761: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2762: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2774: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2798: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2799: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] Total errors found: 12 in 9 files If any of these errors are false positives, please file a bug against check-webkit-style.
Benjamin Poulain
Comment 3 2015-11-13 13:44:12 PST
WebKit Commit Bot
Comment 4 2015-11-13 13:46:12 PST
Attachment 265498 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/b3/air/AirInst.h:131: The parameter name "functor" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2683: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2684: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2696: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2727: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2728: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2744: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2761: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2762: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2774: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2798: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2799: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] Total errors found: 12 in 9 files If any of these errors are false positives, please file a bug against check-webkit-style.
Geoffrey Garen
Comment 5 2015-11-14 12:17:39 PST
Comment on attachment 265498 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=265498&action=review R=me > Source/JavaScriptCore/b3/air/AirInst.h:131 > + void forEachExtraClobberedTmps(Arg::Type, const Functor& functor); I would say ClobberedTmp instead of Tmps since each is singular. > Source/JavaScriptCore/b3/air/AirInstInlines.h:98 > + const RegisterSet& clobberedRegisters = extraClobberedRegs(); Let's standardize on tmp or reg, but not both. > Source/JavaScriptCore/b3/air/AirInstInlines.h:99 > + clobberedRegisters.forEach([functor, type] (Reg reg) { Hmmm... Ignore this comment. > Source/JavaScriptCore/b3/air/AirIteratedRegisterCoalescing.cpp:153 > + // All the Def()s interfere with eachother. Each other
Geoffrey Garen
Comment 6 2015-11-16 13:00:37 PST
Comment on attachment 265498 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=265498&action=review > Source/JavaScriptCore/b3/air/AirIteratedRegisterCoalescing.cpp:148 > inst.forEachTmp([&] (Tmp& arg, Arg::Role role, Arg::Type argType) { Maybe you should consider a whole new function that combines forEachTmp and forEachExtra.
Benjamin Poulain
Comment 7 2015-11-16 16:39:54 PST
WebKit Commit Bot
Comment 8 2015-11-16 16:43:26 PST
Attachment 265638 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/b3/air/AirInst.h:131: The parameter name "functor" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2777: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2778: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2790: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2821: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2822: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2838: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2855: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2856: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2868: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2892: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/testb3.cpp:2893: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2] ERROR: Source/JavaScriptCore/b3/air/AirSpillEverything.cpp:61: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 13 in 9 files If any of these errors are false positives, please file a bug against check-webkit-style.
Benjamin Poulain
Comment 9 2015-11-16 16:44:27 PST
Comment on attachment 265638 [details] Patch Clearing flags on attachment: 265638 Committed r192497: <http://trac.webkit.org/changeset/192497>
Benjamin Poulain
Comment 10 2015-11-16 16:44:30 PST
All reviewed patches have been landed. Closing bug.
Benjamin Poulain
Comment 11 2015-11-16 16:49:23 PST
*** Bug 151146 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.