Bug 175487 - Add testing tool to lie to the DFG about profiles
Summary: Add testing tool to lie to the DFG about profiles
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Keith Miller
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-08-11 12:13 PDT by Keith Miller
Modified: 2017-08-14 21:20 PDT (History)
6 users (show)

See Also:


Attachments
Patch (27.66 KB, patch)
2017-08-11 12:15 PDT, Keith Miller
no flags Details | Formatted Diff | Diff
Patch (28.56 KB, patch)
2017-08-11 12:19 PDT, Keith Miller
no flags Details | Formatted Diff | Diff
Patch (29.24 KB, patch)
2017-08-14 13:55 PDT, Keith Miller
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews126 for ios-simulator-wk2 (1.29 MB, application/zip)
2017-08-14 18:04 PDT, Build Bot
no flags Details
Patch for landing (29.20 KB, patch)
2017-08-14 20:24 PDT, Keith Miller
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Keith Miller 2017-08-11 12:13:46 PDT
Add testing tool to lie to the DFG about profiles
Comment 1 Keith Miller 2017-08-11 12:15:53 PDT
Created attachment 317947 [details]
Patch
Comment 2 Build Bot 2017-08-11 12:17:30 PDT
Attachment 317947 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:50:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Mark Lam 2017-08-11 12:17:59 PDT
Comment on attachment 317947 [details]
Patch

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

> Source/JavaScriptCore/ChangeLog:11
> +        a given profile when we tired up.

/tired/tiered/
Comment 4 Keith Miller 2017-08-11 12:19:49 PDT
Created attachment 317948 [details]
Patch
Comment 5 Build Bot 2017-08-11 12:22:28 PDT
Attachment 317948 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:50:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 30 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 6 Saam Barati 2017-08-11 13:07:48 PDT
Comment on attachment 317948 [details]
Patch

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

> Source/JavaScriptCore/bytecode/BytecodeUseDef.h:63
> +    case op_identity_with_profile:

I think you want to use operand 2 here
Comment 7 Build Bot 2017-08-11 13:15:26 PDT
Comment on attachment 317948 [details]
Patch

Attachment 317948 [details] did not pass jsc-ews (mac):
Output: http://webkit-queues.webkit.org/results/4297318

New failing tests:
stress/compare-eq-incomplete-profile.js.no-ftl
stress/compare-eq-incomplete-profile.js.dfg-eager-no-cjit-validate
stress/compare-eq-incomplete-profile.js.ftl-eager-no-cjit
stress/compare-eq-incomplete-profile.js.ftl-eager
stress/compare-eq-incomplete-profile.js.dfg-eager
stress/compare-eq-incomplete-profile.js.default
stress/compare-eq-incomplete-profile.js.dfg-maximal-flush-validate-no-cjit
stress/compare-eq-incomplete-profile.js.no-cjit-collect-continuously
stress/compare-eq-incomplete-profile.js.ftl-no-cjit-no-put-stack-validate
stress/compare-eq-incomplete-profile.js.ftl-no-cjit-small-pool
stress/compare-eq-incomplete-profile.js.ftl-eager-no-cjit-b3o1
stress/compare-eq-incomplete-profile.js.ftl-no-cjit-validate-sampling-profiler
stress/compare-eq-incomplete-profile.js.ftl-no-cjit-no-inline-validate
stress/compare-eq-incomplete-profile.js.no-cjit-validate-phases
stress/compare-eq-incomplete-profile.js.ftl-no-cjit-b3o1
Comment 8 Keith Miller 2017-08-14 12:16:46 PDT
Comment on attachment 317948 [details]
Patch

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

>> Source/JavaScriptCore/bytecode/BytecodeUseDef.h:63
>> +    case op_identity_with_profile:
> 
> I think you want to use operand 2 here

Whoops, yeah. Good catch!
Comment 9 Keith Miller 2017-08-14 13:37:10 PDT
Comment on attachment 317948 [details]
Patch

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

>>> Source/JavaScriptCore/bytecode/BytecodeUseDef.h:63
>>> +    case op_identity_with_profile:
>> 
>> I think you want to use operand 2 here
> 
> Whoops, yeah. Good catch!

Wait, no it was right before. identity_with_profile is just a nop that pretends to read and write the first argument.
Comment 10 Keith Miller 2017-08-14 13:55:40 PDT
Created attachment 318057 [details]
Patch
Comment 11 Build Bot 2017-08-14 13:57:55 PDT
Attachment 318057 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGNodeType.h:50:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 31 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 12 Saam Barati 2017-08-14 15:09:06 PDT
Comment on attachment 318057 [details]
Patch

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

r=me

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:204
> +        forNode(node) = forNode(node->child1());

I would just lump this into Identity since we don't run AI before fixup

> Source/JavaScriptCore/dfg/DFGNodeType.h:51
> +    macro(IdentityWithProfile, NodeResultJS) \

I would say MustGenerate here and then clear that bit in fixup
Comment 13 Build Bot 2017-08-14 18:04:32 PDT
Comment on attachment 318057 [details]
Patch

Attachment 318057 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/4314773

New failing tests:
imported/w3c/web-platform-tests/custom-elements/microtasks-and-constructors.html
imported/w3c/web-platform-tests/html/browsers/windows/browsing-context.html
Comment 14 Build Bot 2017-08-14 18:04:34 PDT
Created attachment 318095 [details]
Archive of layout-test-results from ews126 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews126  Port: ios-simulator-wk2  Platform: Mac OS X 10.12.5
Comment 15 Keith Miller 2017-08-14 20:23:47 PDT
(In reply to Saam Barati from comment #12)
> Comment on attachment 318057 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=318057&action=review
> 
> r=me
> 
> > Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:204
> > +        forNode(node) = forNode(node->child1());
> 
> I would just lump this into Identity since we don't run AI before fixup
> 
> > Source/JavaScriptCore/dfg/DFGNodeType.h:51
> > +    macro(IdentityWithProfile, NodeResultJS) \
> 
> I would say MustGenerate here and then clear that bit in fixup

Done.
Comment 16 Keith Miller 2017-08-14 20:24:56 PDT
Created attachment 318105 [details]
Patch for landing
Comment 17 WebKit Commit Bot 2017-08-14 21:18:28 PDT
The commit-queue encountered the following flaky tests while processing attachment 318105 [details]:

media/modern-media-controls/seek-backward-support/seek-backward-support.html bug 174916 (authors: graouts@apple.com, mcatanzaro@igalia.com, and ryanhaddad@apple.com)
The commit-queue is continuing to process your patch.
Comment 18 WebKit Commit Bot 2017-08-14 21:19:00 PDT
Comment on attachment 318105 [details]
Patch for landing

Clearing flags on attachment: 318105

Committed r220735: <http://trac.webkit.org/changeset/220735>
Comment 19 WebKit Commit Bot 2017-08-14 21:19:02 PDT
All reviewed patches have been landed.  Closing bug.
Comment 20 Radar WebKit Bug Importer 2017-08-14 21:20:28 PDT
<rdar://problem/33890385>