WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
31151
Fix branchDouble behaviour on ARM THUMB2 JIT.
https://bugs.webkit.org/show_bug.cgi?id=31151
Summary
Fix branchDouble behaviour on ARM THUMB2 JIT.
Gavin Barraclough
Reported
2009-11-04 20:51:18 PST
The ARMv7 JIT is currently using ARMv7Assembler::ConditionEQ to branch for DoubleEqualOrUnordered, however this is incorrect – ConditionEQ won't branch on unordered operands. Similarly, DoubleLessThanOrUnordered & DoubleLessThanOrEqualOrUnordered use ARMv7Assembler::ConditionLO & ARMv7Assembler::ConditionLS, whereas they should be using ARMv7Assembler::ConditionLT & ARMv7Assembler::ConditionLE. As a consequence, the JIT may currently incorrectly branch on double comparisons to NaN, for example, "if (Number.NaN < 0) print("Oh noes it isn't!");" Fix these, and fill out the missing DoubleConditions.
Attachments
The patch
(3.77 KB, patch)
2009-11-04 20:54 PST
,
Gavin Barraclough
oliver
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Gavin Barraclough
Comment 1
2009-11-04 20:54:13 PST
Created
attachment 42541
[details]
The patch
Gavin Barraclough
Comment 2
2009-11-04 21:02:22 PST
Sending JavaScriptCore/ChangeLog Sending JavaScriptCore/assembler/MacroAssemblerARMv7.h Transmitting file data .. Committed revision 50541.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug