RESOLVED FIXED 69978
MacroAssemblerX86 8-bit register ops unsafe on CPU(X86)
https://bugs.webkit.org/show_bug.cgi?id=69978
Summary MacroAssemblerX86 8-bit register ops unsafe on CPU(X86)
Gavin Barraclough
Reported 2011-10-12 17:02:51 PDT
Certain ops are unsafe if the register passed is esp..edi (will instead test/set the ). compare32/test8/test32 Call setCC, which sets an 8-bit register - we can fix this by adding a couple of xchg instructions. branchTest8 with a register argument is also affected. In all cases this is currently used this is testing a value that is correct to 32 or more bits, so we can simply switch these to branchTest32 & remove the corresponding branchTest8 (this is desirable anyway, since the 32-bit form is cheaper to implement on platforms that don't have an 8-bit compare instruction). This fixes the remaining fast/js failures with the DFG JIT 32_64.
Attachments
The fix (12.59 KB, patch)
2011-10-12 17:06 PDT, Gavin Barraclough
fpizlo: review+
Gavin Barraclough
Comment 1 2011-10-12 17:06:24 PDT
WebKit Review Bot
Comment 2 2011-10-12 17:09:47 PDT
Attachment 110773 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1 Source/JavaScriptCore/ChangeLog:20: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] Total errors found: 1 in 6 files If any of these errors are false positives, please file a bug against check-webkit-style.
Gavin Barraclough
Comment 3 2011-10-12 18:50:59 PDT
Fixed in r97331
Note You need to log in before you can comment on or make changes to this bug.