Bug 84004

Summary: DFG should have constant propagation
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: rakuco, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
work in progress
none
work in progress
none
the patch
webkit-ews: commit-queue-
the patch
none
the patch
none
the patch barraclough: review+

Description Filip Pizlo 2012-04-15 18:30:35 PDT
This will take Effort.
Comment 1 Filip Pizlo 2012-04-15 18:36:27 PDT
Created attachment 137262 [details]
work in progress
Comment 2 Filip Pizlo 2012-04-15 20:33:18 PDT
Created attachment 137270 [details]
work in progress
Comment 3 Filip Pizlo 2012-04-17 20:44:45 PDT
Created attachment 137649 [details]
the patch

I think it works
Comment 4 Early Warning System Bot 2012-04-17 21:00:15 PDT
Comment on attachment 137649 [details]
the patch

Attachment 137649 [details] did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12426110
Comment 5 Early Warning System Bot 2012-04-17 21:03:36 PDT
Comment on attachment 137649 [details]
the patch

Attachment 137649 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12423620
Comment 6 Filip Pizlo 2012-04-17 21:11:03 PDT
Created attachment 137651 [details]
the patch

Found and fixed a few bugs.

Also added build foo for the non-Mac ports.
Comment 7 Filip Pizlo 2012-04-17 21:13:36 PDT
Created attachment 137652 [details]
the patch

accidentally messed up GNUmakefile.list.am.  fix in this one.
Comment 8 Filip Pizlo 2012-04-18 00:18:14 PDT
Created attachment 137658 [details]
the patch

Fixed two hilarious bugs that this patch introduced:

- LogicalNot(foo) is not an integer.  Really, it isn't.  In fact, it's a boolean.  Imagine that.

- Don't replace JSConstant or WeakJSConstant with JSConstant, because at best that's a waste of CPU cycles and at worst, it's just plain wrong (WeakJSConstant should not be coerced into a JSConstant).
Comment 9 Filip Pizlo 2012-04-18 13:47:25 PDT
Landed in http://trac.webkit.org/changeset/114554
Comment 10 Filip Pizlo 2012-05-18 14:47:43 PDT
Merged in http://trac.webkit.org/changeset/117636