Bug 158178 - Deprecate remaining uses of Lookup getStatic*, use HasStaticPropertyTable instead.
Summary: Deprecate remaining uses of Lookup getStatic*, use HasStaticPropertyTable ins...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Gavin Barraclough
URL:
Keywords:
Depends on: 158294 158295
Blocks:
  Show dependency treegraph
 
Reported: 2016-05-27 23:25 PDT by Gavin Barraclough
Modified: 2016-06-06 12:10 PDT (History)
10 users (show)

See Also:


Attachments
Fix (40.33 KB, patch)
2016-05-28 00:00 PDT, Gavin Barraclough
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews100 for mac-yosemite (1001.41 KB, application/zip)
2016-05-28 00:49 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews106 for mac-yosemite-wk2 (1.01 MB, application/zip)
2016-05-28 01:01 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews121 for ios-simulator-wk2 (681.99 KB, application/zip)
2016-05-28 01:05 PDT, Build Bot
no flags Details
Archive of layout-test-results from ews112 for mac-yosemite (1.45 MB, application/zip)
2016-05-28 01:13 PDT, Build Bot
no flags Details
Fix for GlobalObject (24.92 KB, patch)
2016-06-05 16:25 PDT, Gavin Barraclough
no flags Details | Formatted Diff | Diff
Part 2 – DOM type instance objects (23.03 KB, patch)
2016-06-05 22:17 PDT, Gavin Barraclough
no flags Details | Formatted Diff | Diff
Part 2 – DOM type instance objects (22.89 KB, patch)
2016-06-05 22:19 PDT, Gavin Barraclough
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gavin Barraclough 2016-05-27 23:25:55 PDT
As of bug #158059 most JSC static table property access no longer requires getOwnPropertySlot to be overridden. Port remaining calls to the getStatic* functions in Lookup.h over to the new mechanism.
Comment 1 Gavin Barraclough 2016-05-28 00:00:01 PDT
Created attachment 280024 [details]
Fix
Comment 2 Build Bot 2016-05-28 00:49:34 PDT
Comment on attachment 280024 [details]
Fix

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

Number of test failures exceeded the failure limit.
Comment 3 Build Bot 2016-05-28 00:49:38 PDT
Created attachment 280029 [details]
Archive of layout-test-results from ews100 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews100  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 4 Build Bot 2016-05-28 01:01:26 PDT
Comment on attachment 280024 [details]
Fix

Attachment 280024 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/1395407

New failing tests:
http/tests/security/cross-origin-window-property-access.html
fast/dom/beforeload/frame-before-load.html
fast/dom/beforeload/video-before-load.html
webarchive/test-link-rel-subresource-beforeload.html
imported/w3c/web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html
fast/encoding/parser-tests-50.html
fast/dom/unforgeable-attributes.html
fast/dom/Window/forbid-showModalDialog.html
fast/dom/beforeload/script-before-load.html
fast/dom/beforeload/image-before-load.html
Comment 5 Build Bot 2016-05-28 01:01:30 PDT
Created attachment 280030 [details]
Archive of layout-test-results from ews106 for mac-yosemite-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5
Comment 6 Build Bot 2016-05-28 01:05:44 PDT
Comment on attachment 280024 [details]
Fix

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

New failing tests:
http/tests/security/cross-origin-window-property-access.html
fast/dom/beforeload/frame-before-load.html
fast/dom/beforeload/video-before-load.html
webarchive/test-link-rel-subresource-beforeload.html
fast/replaced/table-percent-height.html
imported/w3c/web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html
fast/encoding/parser-tests-50.html
fast/dom/unforgeable-attributes.html
fast/dom/Window/forbid-showModalDialog.html
fast/dom/beforeload/script-before-load.html
fast/dom/beforeload/image-before-load.html
Comment 7 Build Bot 2016-05-28 01:05:48 PDT
Created attachment 280031 [details]
Archive of layout-test-results from ews121 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.4
Comment 8 Build Bot 2016-05-28 01:12:57 PDT
Comment on attachment 280024 [details]
Fix

Attachment 280024 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/1395422

New failing tests:
http/tests/security/cross-origin-window-property-access.html
fast/dom/beforeload/frame-before-load.html
fast/dom/beforeload/video-before-load.html
webarchive/test-link-rel-subresource-beforeload.html
imported/w3c/web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html
fast/encoding/parser-tests-50.html
fast/dom/unforgeable-attributes.html
fast/dom/Window/forbid-showModalDialog.html
fast/dom/beforeload/script-before-load.html
fast/dom/beforeload/image-before-load.html
Comment 9 Build Bot 2016-05-28 01:13:00 PDT
Created attachment 280033 [details]
Archive of layout-test-results from ews112 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews112  Port: mac-yosemite  Platform: Mac OS X 10.10.5
Comment 10 Gavin Barraclough 2016-06-01 19:04:29 PDT
Okay, there is a bug here, I'm basically uncovering some preexisting crazy related to how global object property get precedence interacts with how assumption in how function declarations in the symbol table override existing non-var properties.

I'm going to break a fix for this out into a separate bug. I'll probably also break out a tweak to the showModalDialog hack in JDOMWindowCustom.
Comment 11 Gavin Barraclough 2016-06-05 16:25:56 PDT
Created attachment 280565 [details]
Fix for GlobalObject
Comment 12 Gavin Barraclough 2016-06-05 17:58:40 PDT
Global object changes landed in r201702.
Comment 13 Gavin Barraclough 2016-06-05 22:17:14 PDT
Created attachment 280587 [details]
Part 2 – DOM type instance objects
Comment 14 Gavin Barraclough 2016-06-05 22:19:04 PDT
Created attachment 280588 [details]
Part 2 – DOM type instance objects
Comment 15 Darin Adler 2016-06-06 11:28:15 PDT
Comment on attachment 280588 [details]
Part 2 – DOM type instance objects

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

> Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:1143
> +        push(@headerContent, "    static const bool hasStaticPropertyTable = true;\n\n");

constexpr maybe

> Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:1145
> +        push(@headerContent, "    static const bool hasStaticPropertyTable = false;\n\n");

Ditto.
Comment 16 Gavin Barraclough 2016-06-06 12:09:03 PDT
(In reply to comment #15)
> Comment on attachment 280588 [details]
> Part 2 – DOM type instance objects
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=280588&action=review
> 
> > Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:1143
> > +        push(@headerContent, "    static const bool hasStaticPropertyTable = true;\n\n");
> 
> constexpr maybe
> 
> > Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:1145
> > +        push(@headerContent, "    static const bool hasStaticPropertyTable = false;\n\n");
> 
> Ditto.

I'm going to land without that change - that would cause significant changes in the bindings tests results, I'd like to land the functional changes here separately. I also think I may be able to remove hasStaticPropertyTable altogether in a follow on patch. I'll track doing one or the other in bug #158431.
Comment 17 Gavin Barraclough 2016-06-06 12:10:02 PDT
Committed revision 201719.