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: RESOLVED DUPLICATE of bug 196315
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Yusuke Suzuki
Depends on:
Reported: 2015-06-08 11:50 PDT by Yusuke Suzuki
Modified: 2020-06-12 19:05 PDT (History)
12 users (show)

See Also:

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
ews-watchlist: 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, EWS Watchlist
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]
Comment 5 EWS Watchlist 2018-05-05 23:27:23 PDT
Comment on attachment 339672 [details]

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) 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]
Comment 7 EWS Watchlist 2018-05-06 07:00:04 PDT
Comment on attachment 339673 [details]

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

New failing tests:
Comment 8 EWS Watchlist 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
Comment 9 Yusuke Suzuki 2020-06-12 19:05:09 PDT
Comment on attachment 339673 [details]

This is already fixed in 196315
Comment 10 Yusuke Suzuki 2020-06-12 19:05:18 PDT

*** This bug has been marked as a duplicate of bug 196315 ***