Bug 145763 - Many builtin objects that are prototypes forget to set their isPrototype bit
Summary: Many builtin objects that are prototypes forget to set their isPrototype bit
Status: REOPENED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-08 11:50 PDT by Yusuke Suzuki
Modified: 2018-05-06 16:29 PDT (History)
12 users (show)

See Also:


Attachments
Patch (59.29 KB, patch)
2018-05-05 23:22 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (111.34 KB, patch)
2018-05-05 23:31 PDT, Yusuke Suzuki
ysuzuki: review?
ews: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews202 for win-future (12.83 MB, application/zip)
2018-05-06 07:00 PDT, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yusuke Suzuki 2015-06-08 11:50:02 PDT
For example, BooleanPrototype, DatePrototype, ErrorPrototype, FunctionPrototype etc. do not have `vm.prototypeMap.addPrototype(this)` setting phase.
Comment 1 Geoffrey Garen 2015-06-08 12:39:06 PDT
Maybe we should move the responsibility for declaring prototypes into the Structure finishCreation function. That way, we're guaranteed to know about all prototypes.

Who calls addPrototype for DOM prototypes?
Comment 2 Yusuke Suzuki 2018-05-05 01:29:11 PDT
prototypeMap is removed from the tree.
Comment 3 Saam Barati 2018-05-05 02:56:41 PDT
(In reply to Yusuke Suzuki from comment #2)
> prototypeMap is removed from the tree.

That doesn't remove the need to set their isPrototype bit.
Comment 4 Yusuke Suzuki 2018-05-05 23:22:44 PDT
Created attachment 339672 [details]
Patch
Comment 5 Build Bot 2018-05-05 23:27:23 PDT
Comment on attachment 339672 [details]
Patch

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

New failing tests:
(JS) JSTestCallTracer.cpp
(JS) JSTestCEReactions.cpp
(JS) JSTestCEReactionsStringifier.cpp
(JS) JSTestClassWithJSBuiltinConstructor.cpp
(JS) JSTestCustomConstructorWithNoInterfaceObject.cpp
(JS) JSTestActiveDOMObject.cpp
(JS) JSTestDOMJIT.cpp
(JS) JSTestEnabledBySetting.cpp
(JS) JSTestEventConstructor.cpp
(JS) JSTestEventTarget.cpp
(JS) JSTestException.cpp
(JS) JSTestGenerateIsReachable.cpp
(JS) JSTestGlobalObject.h
(JS) JSTestIndexedSetterNoIdentifier.cpp
(JS) JSTestIndexedSetterThrowingException.cpp
(JS) JSTestIndexedSetterWithIdentifier.cpp
(JS) JSTestInterface.cpp
(JS) JSTestInterfaceLeadingUnderscore.cpp
(JS) JSTestIterable.cpp
(JS) JSTestJSBuiltinConstructor.cpp
(JS) JSMapLike.cpp
(JS) JSTestMediaQueryListListener.cpp
(JS) JSTestNamedAndIndexedSetterNoIdentifier.cpp
(JS) JSTestNamedAndIndexedSetterThrowingException.cpp
(JS) JSTestNamedAndIndexedSetterWithIdentifier.cpp
(JS) JSTestNamedConstructor.cpp
(JS) JSTestNamedDeleterNoIdentifier.cpp
(JS) JSTestNamedDeleterThrowingException.cpp
(JS) JSTestNamedDeleterWithIdentifier.cpp
(JS) JSTestNamedDeleterWithIndexedGetter.cpp
(JS) JSTestNamedGetterCallWith.cpp
(JS) JSTestNamedGetterNoIdentifier.cpp
(JS) JSTestNamedGetterWithIdentifier.cpp
(JS) JSTestNamedSetterNoIdentifier.cpp
(JS) JSTestNamedSetterThrowingException.cpp
(JS) JSTestNamedSetterWithIdentifier.cpp
(JS) JSTestNamedSetterWithIndexedGetter.cpp
(JS) JSTestNamedSetterWithIndexedGetterAndSetter.cpp
(JS) JSTestNamedSetterWithOverrideBuiltins.cpp
(JS) JSTestNamedSetterWithUnforgableProperties.cpp
(JS) JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp
(JS) JSTestNode.cpp
(JS) JSTestObj.cpp
(JS) JSTestOverloadedConstructors.cpp
(JS) JSTestOverloadedConstructorsWithSequence.cpp
(JS) JSTestOverrideBuiltins.cpp
(JS) JSTestPluginInterface.cpp
(JS) JSTestPromiseRejectionEvent.cpp
(JS) JSReadOnlyMapLike.cpp
(JS) JSInterfaceName.cpp
(JS) JSTestSerialization.cpp
(JS) JSTestSerializationIndirectInheritance.cpp
(JS) JSTestSerializationInherit.cpp
(JS) JSTestSerializationInheritFinal.cpp
(JS) JSTestSerializedScriptValueInterface.cpp
(JS) JSTestStringifier.cpp
(JS) JSTestStringifierAnonymousOperation.cpp
(JS) JSTestStringifierNamedOperation.cpp
(JS) JSTestStringifierOperationImplementedAs.cpp
(JS) JSTestStringifierOperationNamedToString.cpp
(JS) JSTestStringifierReadOnlyAttribute.cpp
(JS) JSTestStringifierReadWriteAttribute.cpp
(JS) JSTestTypedefs.cpp
Comment 6 Yusuke Suzuki 2018-05-05 23:31:25 PDT
Created attachment 339673 [details]
Patch
Comment 7 Build Bot 2018-05-06 07:00:04 PDT
Comment on attachment 339673 [details]
Patch

Attachment 339673 [details] did not pass win-ews (win):
Output: http://webkit-queues.webkit.org/results/7585488

New failing tests:
http/tests/security/local-video-source-from-remote.html
Comment 8 Build Bot 2018-05-06 07:00:15 PDT
Created attachment 339681 [details]
Archive of layout-test-results from ews202 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: ews202  Port: win-future  Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit