WebKit Bugzilla
Attachment 361543 Details for
Bug 194457
: Make B3Value::returnsBool() more precise
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194457-20190208153343.patch (text/plain), 1.85 KB, created by
Robin Morisset
on 2019-02-08 15:33:43 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Robin Morisset
Created:
2019-02-08 15:33:43 PST
Size:
1.85 KB
patch
obsolete
>Subversion Revision: 241209 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 66e4837d6ad2b79afe7bcb1795ade1e788b4495b..037dbf58915fa2e107fef866195f2cfbb21579e4 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,17 @@ >+2019-02-08 Robin Morisset <rmorisset@apple.com> >+ >+ Make B3Value::returnsBool() more precise >+ https://bugs.webkit.org/show_bug.cgi?id=194457 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ It is currently used repeatedly in B3ReduceStrength, as well as once in B3LowerToAir. >+ It has a needlessly complex rule for BitAnd, and has no rule for other easy cases such as BitOr or Select. >+ No new tests added as this should be indirectly tested by the already existing tests. >+ >+ * b3/B3Value.cpp: >+ (JSC::B3::Value::returnsBool const): >+ > 2019-02-08 Yusuke Suzuki <ysuzuki@apple.com> > > [JSC] SourceProviderCacheItem should be small >diff --git a/Source/JavaScriptCore/b3/B3Value.cpp b/Source/JavaScriptCore/b3/B3Value.cpp >index 9bea1b1137b36a7c6541072127d7ea51428ff5c6..d6704ca10d0732128d1334ec4e64e23b48735e3e 100644 >--- a/Source/JavaScriptCore/b3/B3Value.cpp >+++ b/Source/JavaScriptCore/b3/B3Value.cpp >@@ -499,8 +499,14 @@ bool Value::returnsBool() const > case Const32: > return asInt32() == 0 || asInt32() == 1; > case BitAnd: >- return child(1)->isInt32(1) >- || (child(0)->returnsBool() && child(1)->hasInt() && child(1)->asInt() & 1); >+ return child(0)->returnsBool() || child(1)->returnsBool(); >+ case BitOr: >+ case BitXor: >+ return child(0)->returnsBool() && child(1)->returnsBool(); >+ case Select: >+ return child(1)->returnsBool() && child(2)->returnsBool(); >+ case Identity: >+ return child(0)->returnsBool(); > case Equal: > case NotEqual: > case LessThan:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
saam
:
review+
ews-watchlist
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194457
:
361543
|
361572
|
361844