Bug 142229 - DFG IR should refer to FunctionExecutables directly and not via the CodeBlock
Summary: DFG IR should refer to FunctionExecutables directly and not via the CodeBlock
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on: 106202 142234
Blocks: 141174
  Show dependency treegraph
 
Reported: 2015-03-03 12:06 PST by Filip Pizlo
Modified: 2015-03-03 22:56 PST (History)
2 users (show)

See Also:


Attachments
the patch (16.76 KB, patch)
2015-03-03 12:55 PST, Filip Pizlo
mark.lam: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews101 for mac-mavericks (634.55 KB, application/zip)
2015-03-03 14:11 PST, Build Bot
no flags Details
Archive of layout-test-results from ews105 for mac-mavericks-wk2 (780.80 KB, application/zip)
2015-03-03 14:20 PST, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-03-03 12:06:49 PST
This will make function-creating operations more inlineable and much simpler to reason about.
Comment 1 Filip Pizlo 2015-03-03 12:55:38 PST
Created attachment 247783 [details]
the patch
Comment 2 Mark Lam 2015-03-03 13:10:01 PST
Comment on attachment 247783 [details]
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=247783&action=review

r=me

> Source/JavaScriptCore/ChangeLog:20
> +        For this reason, those operations were not inlineable. But the functin tables in CodeBlock

s/functin/function/
Comment 3 Build Bot 2015-03-03 14:11:49 PST
Comment on attachment 247783 [details]
the patch

Attachment 247783 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/6094596501143552

New failing tests:
webgl/1.0.2/conformance/more/conformance/quickCheckAPI-L_S.html
Comment 4 Build Bot 2015-03-03 14:11:52 PST
Created attachment 247792 [details]
Archive of layout-test-results from ews101 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 5 Build Bot 2015-03-03 14:20:01 PST
Comment on attachment 247783 [details]
the patch

Attachment 247783 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5470569965289472

New failing tests:
webgl/1.0.2/conformance/more/conformance/quickCheckAPI-L_S.html
Comment 6 Build Bot 2015-03-03 14:20:04 PST
Created attachment 247793 [details]
Archive of layout-test-results from ews105 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5
Comment 7 Filip Pizlo 2015-03-03 14:23:55 PST
(In reply to comment #6)
> Created attachment 247793 [details]
> Archive of layout-test-results from ews105 for mac-mavericks-wk2
> 
> The attached test failures were seen while running run-webkit-tests on the
> mac-wk2-ews.
> Bot: ews105  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5

I would have had these fixed by now if it wasn't for https://bugs.webkit.org/show_bug.cgi?id=142234.
Comment 8 Filip Pizlo 2015-03-03 16:40:12 PST
It turns out that enabling inlining of NewFunctionExpr causes our handling of scopeRegister in inlined functions to go bananas.  We currently constant fold *accesses* to the scopeRegister, which is badly wrong - it makes us lose the OSR exit liveness information.

To fix this, I'm doing: https://bugs.webkit.org/show_bug.cgi?id=106202
Comment 9 Filip Pizlo 2015-03-03 22:55:39 PST
I fixed the bugs.  I will land.
Comment 10 Filip Pizlo 2015-03-03 22:56:42 PST
Landed in http://trac.webkit.org/changeset/180993