Bug 64066 - DFG JIT does not implement op_construct
Summary: DFG JIT does not implement op_construct
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-06 23:48 PDT by Filip Pizlo
Modified: 2011-07-12 18:46 PDT (History)
2 users (show)

See Also:


Attachments
the patch (20.89 KB, patch)
2011-07-06 23:51 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (fix style) (20.88 KB, patch)
2011-07-07 00:02 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (22.38 KB, patch)
2011-07-12 16:22 PDT, Filip Pizlo
barraclough: review-
barraclough: commit-queue-
Details | Formatted Diff | Diff
the patch (fix review) (25.73 KB, patch)
2011-07-12 17:13 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2011-07-06 23:48:27 PDT
The DFG JIT does not implement the op_construct opcode.  This means that code containing object construction will not get compiled with DFG.  DFG JIT should implement op_construct.
Comment 1 Filip Pizlo 2011-07-06 23:51:18 PDT
Created attachment 99946 [details]
the patch
Comment 2 WebKit Review Bot 2011-07-06 23:53:52 PDT
Attachment 99946 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1

Source/JavaScriptCore/dfg/DFGRepatch.h:40:  The parameter name "kind" adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Filip Pizlo 2011-07-07 00:02:46 PDT
Created attachment 99948 [details]
the patch (fix style)
Comment 4 WebKit Review Bot 2011-07-07 16:55:09 PDT
Comment on attachment 99948 [details]
the patch (fix style)

Clearing flags on attachment: 99948

Committed r90602: <http://trac.webkit.org/changeset/90602>
Comment 5 WebKit Review Bot 2011-07-07 16:55:13 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Gavin Barraclough 2011-07-08 16:43:49 PDT
Reopening - these changes were rolled out in r90673 due to https://bugs.webkit.org/show_bug.cgi?id=64181
Comment 7 Filip Pizlo 2011-07-12 16:22:05 PDT
Created attachment 100583 [details]
the patch

This patch fixes two bugs in the previous patch, which, together with other patches since committed, makes this work with gmail, bankrate, facebook, reddit, and google (according to my testing), even with DFG restrictions turned off.
Comment 8 Gavin Barraclough 2011-07-12 16:38:08 PDT
Comment on attachment 100583 [details]
the patch

Hey Filip, following on from our conversation earlier, looking at the two bugs this fixes since the original patch, one looks tougher to test for (error on unlinking calls), but the other does look testable (virtualFor always compiles for call).  To test we'd just have to have one function use new, call another, and have the constructor that is called do something that would prove whether it was invoked as a call or a constructor (as an example, returning a non-object value would do).  Unless there is any reason it won't be possible, let's add a LayoutTest.
Comment 9 Filip Pizlo 2011-07-12 17:13:55 PDT
Created attachment 100592 [details]
the patch (fix review)
Comment 10 WebKit Review Bot 2011-07-12 18:46:22 PDT
Comment on attachment 100592 [details]
the patch (fix review)

Clearing flags on attachment: 100592

Committed r90877: <http://trac.webkit.org/changeset/90877>
Comment 11 WebKit Review Bot 2011-07-12 18:46:27 PDT
All reviewed patches have been landed.  Closing bug.