WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
122170
FTL: split overflow checks into non-overflow arithmetic and an additional call to the overflow intrinsic check.
https://bugs.webkit.org/show_bug.cgi?id=122170
Summary
FTL: split overflow checks into non-overflow arithmetic and an additional cal...
Nadav Rotem
Reported
2013-10-01 12:35:39 PDT
FTL: split overflow checks into non-overflow arithmetic and an additional call to the overflow intrinsic check.
Attachments
Patch
(7.96 KB, patch)
2013-10-01 12:41 PDT
,
Nadav Rotem
no flags
Details
Formatted Diff
Diff
Patch
(7.96 KB, patch)
2013-10-01 13:43 PDT
,
Nadav Rotem
no flags
Details
Formatted Diff
Diff
Patch
(7.99 KB, patch)
2013-10-01 15:05 PDT
,
Nadav Rotem
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Nadav Rotem
Comment 1
2013-10-01 12:41:51 PDT
Created
attachment 213113
[details]
Patch
Geoffrey Garen
Comment 2
2013-10-01 12:58:39 PDT
Comment on
attachment 213113
[details]
Patch r=me Does SelectionDAG also catch the multiply case?
Geoffrey Garen
Comment 3
2013-10-01 13:00:18 PDT
Comment on
attachment 213113
[details]
Patch Sorry, one style nit: The "Reviewed by" line needs to be right under the bug name/URL pair. I think some of our automated tools expect to find it there.
Nadav Rotem
Comment 4
2013-10-01 13:04:01 PDT
Okay. Should I resubmit ?
Nadav Rotem
Comment 5
2013-10-01 13:17:11 PDT
Yes. It works with Mul, Add and Inc. I am sure that we are missing some patterns but we can fix them as we go. This: function foo() { var sum = 1 while (sum < 100000000) sum *= 10 } Becomes this: LBB0_1: ## =>This Inner Loop Header: Depth=1 imull $10, %eax, %ecx jo LBB0_7 ## BB#2: ## %OSR exit continuation for @11<Int32> ## in Loop: Header=BB0_1 Depth=1 testl %ecx, %ecx je LBB0_3 LBB0_4: ## %ArithMul continuation ## in Loop: Header=BB0_1 Depth=1 cmpl $100000000, %ecx ## imm = 0x5F5E100 movl %ecx, %eax jl LBB0_1 jmp LBB0_5
Geoffrey Garen
Comment 6
2013-10-01 13:36:54 PDT
> Okay. Should I resubmit ?
Yes please.
Nadav Rotem
Comment 7
2013-10-01 13:43:59 PDT
Created
attachment 213117
[details]
Patch
Nadav Rotem
Comment 8
2013-10-01 14:05:22 PDT
Added commit-queue=?.
Filip Pizlo
Comment 9
2013-10-01 14:09:21 PDT
Comment on
attachment 213117
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=213117&action=review
Looks great!
> Source/JavaScriptCore/ChangeLog:36 > +LBB0_1: ## %OSR exit continuation for @24<Int32> > + ## =>This Inner Loop Header: Depth=1 > + movl %ecx, %esi > + incl %esi > + jo LBB0_4
I would indent this.
Nadav Rotem
Comment 10
2013-10-01 14:37:04 PDT
Indent the commit message ? In what way ?
Filip Pizlo
Comment 11
2013-10-01 14:39:54 PDT
(In reply to
comment #10
)
> Indent the commit message ? In what way ?
The ChangeLog messages should have at least eight-space indent except for the header ("2013-10-01 Nadav Rotem <
nrotem@apple.com
>"). So this part of your patch: +LBB0_1: ## %OSR exit continuation for @24<Int32> + ## =>This Inner Loop Header: Depth=1 + movl %ecx, %esi + incl %esi + jo LBB0_4 Should be: + LBB0_1: ## %OSR exit continuation for @24<Int32> + ## =>This Inner Loop Header: Depth=1 + movl %ecx, %esi + incl %esi + jo LBB0_4 We have some scripts that try to parse changelog's, so sticking to the format is usually a good idea.
Nadav Rotem
Comment 12
2013-10-01 15:05:00 PDT
Created
attachment 213124
[details]
Patch
WebKit Commit Bot
Comment 13
2013-10-01 16:17:31 PDT
Comment on
attachment 213124
[details]
Patch Clearing flags on attachment: 213124 Committed
r156746
: <
http://trac.webkit.org/changeset/156746
>
WebKit Commit Bot
Comment 14
2013-10-01 16:17:33 PDT
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.
Top of Page
Format For Printing
XML
Clone This Bug