Bug 97080

Summary: DFG should not emit PutByVal hole case unless it has to
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, ggaren, mark.lam, mhahnenberg, msaboff, oliver
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
work in progress
webkit-ews: commit-queue-
the patch ggaren: review+

Description Filip Pizlo 2012-09-19 00:57:30 PDT
This is useful for two reasons:

1) If the hole case is never hit then we should just emit less code.  The hole check becomes a speculation check instead of a jump over some slow path code.

2) It gives us some ability to bloat the hole case code if we need to, for example if it becomes useful for contiguous array inference.
Comment 1 Filip Pizlo 2012-09-19 01:01:05 PDT
Created attachment 164683 [details]
work in progress
Comment 2 Early Warning System Bot 2012-09-19 01:07:57 PDT
Comment on attachment 164683 [details]
work in progress

Attachment 164683 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13903416
Comment 3 Early Warning System Bot 2012-09-19 01:08:19 PDT
Comment on attachment 164683 [details]
work in progress

Attachment 164683 [details] did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13898436
Comment 4 Gyuyoung Kim 2012-09-19 01:10:50 PDT
Comment on attachment 164683 [details]
work in progress

Attachment 164683 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13892465
Comment 5 Build Bot 2012-09-19 01:26:57 PDT
Comment on attachment 164683 [details]
work in progress

Attachment 164683 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/13899447
Comment 6 Filip Pizlo 2012-09-19 02:44:32 PDT
Created attachment 164699 [details]
the patch
Comment 7 Geoffrey Garen 2012-09-19 08:43:12 PDT
Comment on attachment 164699 [details]
the patch

r=me
Comment 8 Filip Pizlo 2012-09-19 14:45:00 PDT
Landed in http://trac.webkit.org/changeset/129045