RESOLVED FIXED 100589
ASSERT problem on MIPS
https://bugs.webkit.org/show_bug.cgi?id=100589
Summary ASSERT problem on MIPS
Balazs Kilvady
Reported 2012-10-27 05:06:44 PDT
There is an ASSERT(!value); line at Source/JavaScriptCore/jit/JITOpcodes.cpp:1627 which works on most of the platforms but fails on MIPS as value == regT0 and regT0 is not the first register (int(regT0) != 0) on MIPS.
Attachments
ASSERT fix. (1.29 KB, patch)
2012-10-27 05:22 PDT, Balazs Kilvady
no flags
ASSERT fix. (1.28 KB, patch)
2012-11-08 12:32 PST, Balazs Kilvady
oliver: review-
oliver: commit-queue-
ASSERT fix. (1.24 KB, patch)
2012-11-08 12:48 PST, Balazs Kilvady
no flags
Balazs Kilvady
Comment 1 2012-10-27 05:22:39 PDT
Created attachment 171088 [details] ASSERT fix. As value variable is const (const RegisterID value = regT0;) after quick look I would remove the ASSERT line but anyway I created a patch to make it work on MIPS in debug mode. Feel free to throw it out :)
Balazs Kilvady
Comment 2 2012-11-08 12:32:01 PST
Created attachment 173095 [details] ASSERT fix.
Oliver Hunt
Comment 3 2012-11-08 12:35:46 PST
Comment on attachment 173095 [details] ASSERT fix. View in context: https://bugs.webkit.org/attachment.cgi?id=173095&action=review > Source/JavaScriptCore/jit/JITOpcodes.cpp:1631 > ASSERT(!value); Can't this just be ASSERT(value == regT0) ?
Balazs Kilvady
Comment 4 2012-11-08 12:48:14 PST
Created attachment 173099 [details] ASSERT fix. Simple fix :)
Balazs Kilvady
Comment 5 2012-11-08 12:53:00 PST
(In reply to comment #3) > (From update of attachment 173095 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=173095&action=review > > > Source/JavaScriptCore/jit/JITOpcodes.cpp:1631 > > ASSERT(!value); > > Can't this just be ASSERT(value == regT0) ? Yes, works, new patch added. Is this ASSERT useful for a const variable? Assembly code could hurt it?
Oliver Hunt
Comment 6 2012-11-08 13:32:39 PST
Comment on attachment 173099 [details] ASSERT fix. The assertion is intended to prevent anyone from trying to use a different register for value, as the profiling logic in the baseline jit always assumes regT0 contains the value and t1 the tag (if appropriate)
WebKit Review Bot
Comment 7 2012-11-08 14:21:01 PST
Comment on attachment 173099 [details] ASSERT fix. Clearing flags on attachment: 173099 Committed r133950: <http://trac.webkit.org/changeset/133950>
WebKit Review Bot
Comment 8 2012-11-08 14:21:04 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.