Bug 115397 - [ARM] REGRESSION(r149349): It broke Octane/Crypto
Summary: [ARM] REGRESSION(r149349): It broke Octane/Crypto
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other Other
: P2 Major
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-30 00:42 PDT by Cosmin Truta
Modified: 2013-04-30 13:47 PDT (History)
3 users (show)

See Also:


Attachments
Patch (1.26 KB, patch)
2013-04-30 00:52 PDT, Cosmin Truta
no flags Details | Formatted Diff | Diff
Patch (1.26 KB, patch)
2013-04-30 00:57 PDT, Cosmin Truta
fpizlo: review-
fpizlo: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Cosmin Truta 2013-04-30 00:42:27 PDT
While preparing my previous patch, I concentrated on running the tests with the software-emulated IDIV enabled. Otherwise, I only run SunSpider and not many other tests, and relied on previous test runs from previous/interim good patches.

So after giving it yet another look, I realized that, by using GPRResult in the hardware modulo operation, things broke (although I can't really explain to myself why...)
A fix will follow.
Comment 1 Cosmin Truta 2013-04-30 00:52:56 PDT
Created attachment 200088 [details]
Patch
Comment 2 Cosmin Truta 2013-04-30 00:55:54 PDT
It broke Octane/Crypto, not Octane/Splay (sorry, it's almost 4am EDT).
Comment 3 Cosmin Truta 2013-04-30 00:57:59 PDT
Created attachment 200089 [details]
Patch

Updating bug title in the ChangeLog.
Comment 4 Filip Pizlo 2013-04-30 12:52:15 PDT
Comment on attachment 200089 [details]
Patch

Yeah, I think this is still wrong.  GPRResult is for forcing the return register to be live across a call to flushRegisters(), when you're making an unconditional call that clobbers all registers.  It looks like you're doing an unconditional register-clobbering call if !supportsIntegerDiv().  So, this will still break things.  I think you need to use GPRResult if !supportsIntegerDiv() and GPRTemporary otherwise.
Comment 5 Cosmin Truta 2013-04-30 13:47:13 PDT
Closing bug as RESOLVED WONTFIX. Bug 115138 is now reopened, and the full fix will be in there instead.