Bug 142229

Summary: DFG IR should refer to FunctionExecutables directly and not via the CodeBlock
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: buildbot, rniwa
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 106202, 142234    
Bug Blocks: 141174    
Attachments:
Description Flags
the patch
mark.lam: review+, buildbot: commit-queue-
Archive of layout-test-results from ews101 for mac-mavericks
none
Archive of layout-test-results from ews105 for mac-mavericks-wk2 none

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