WebKit Bugzilla
Attachment 372907 Details for
Bug 199221
: remove unneeded didBecomePrototype() calls
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199221-20190625224645.patch (text/plain), 22.49 KB, created by
Keith Miller
on 2019-06-25 22:46:46 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Keith Miller
Created:
2019-06-25 22:46:46 PDT
Size:
22.49 KB
patch
obsolete
>Subversion Revision: 246832 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 59481f6ca7e76d288033fa9546de102fa8d20750..5402af96b2b6c37a7a09814e633015b9b1754ce0 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,63 @@ >+2019-06-25 Keith Miller <keith_miller@apple.com> >+ >+ remove unneeded didBecomePrototype() calls >+ https://bugs.webkit.org/show_bug.cgi?id=199221 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Since we now set didBecomePrototype in Structure::create we don't >+ need to set it expliticly in most of our finishCreation >+ methods. The only exception to this is object prototype, which we >+ set as the prototype of function prototype late (via >+ setPrototypeWithoutTransition). >+ >+ * inspector/JSInjectedScriptHostPrototype.cpp: >+ (Inspector::JSInjectedScriptHostPrototype::finishCreation): >+ * inspector/JSJavaScriptCallFramePrototype.cpp: >+ (Inspector::JSJavaScriptCallFramePrototype::finishCreation): >+ * runtime/ArrayIteratorPrototype.cpp: >+ (JSC::ArrayIteratorPrototype::finishCreation): >+ * runtime/ArrayPrototype.cpp: >+ (JSC::ArrayPrototype::finishCreation): >+ * runtime/AsyncFromSyncIteratorPrototype.cpp: >+ (JSC::AsyncFromSyncIteratorPrototype::finishCreation): >+ * runtime/AsyncFunctionPrototype.cpp: >+ (JSC::AsyncFunctionPrototype::finishCreation): >+ * runtime/AsyncGeneratorFunctionPrototype.cpp: >+ (JSC::AsyncGeneratorFunctionPrototype::finishCreation): >+ * runtime/AsyncGeneratorPrototype.cpp: >+ (JSC::AsyncGeneratorPrototype::finishCreation): >+ * runtime/AsyncIteratorPrototype.cpp: >+ (JSC::AsyncIteratorPrototype::finishCreation): >+ * runtime/GeneratorFunctionPrototype.cpp: >+ (JSC::GeneratorFunctionPrototype::finishCreation): >+ * runtime/GeneratorPrototype.cpp: >+ (JSC::GeneratorPrototype::finishCreation): >+ * runtime/IteratorPrototype.cpp: >+ (JSC::IteratorPrototype::finishCreation): >+ * runtime/JSGlobalObject.cpp: >+ (JSC::JSGlobalObject::init): >+ * runtime/MapIteratorPrototype.cpp: >+ (JSC::MapIteratorPrototype::finishCreation): >+ * runtime/MapPrototype.cpp: >+ (JSC::MapPrototype::finishCreation): >+ * runtime/ObjectPrototype.cpp: >+ (JSC::ObjectPrototype::finishCreation): >+ * runtime/RegExpStringIteratorPrototype.cpp: >+ (JSC::RegExpStringIteratorPrototype::finishCreation): >+ * runtime/SetIteratorPrototype.cpp: >+ (JSC::SetIteratorPrototype::finishCreation): >+ * runtime/SetPrototype.cpp: >+ (JSC::SetPrototype::finishCreation): >+ * runtime/StringIteratorPrototype.cpp: >+ (JSC::StringIteratorPrototype::finishCreation): >+ * runtime/WeakMapPrototype.cpp: >+ (JSC::WeakMapPrototype::finishCreation): >+ * runtime/WeakObjectRefPrototype.cpp: >+ (JSC::WeakObjectRefPrototype::finishCreation): >+ * runtime/WeakSetPrototype.cpp: >+ (JSC::WeakSetPrototype::finishCreation): >+ > 2019-06-25 Keith Miller <keith_miller@apple.com> > > Structure::create should call didBecomePrototype() >diff --git a/Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.cpp b/Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.cpp >index df00bfaadc11bde672ea132a1e55dca16cc7fc3c..f7553b6db9de8f5bab20dff1a3efcf7d5dbbce12 100644 >--- a/Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.cpp >+++ b/Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.cpp >@@ -61,8 +61,7 @@ void JSInjectedScriptHostPrototype::finishCreation(VM& vm, JSGlobalObject* globa > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); >- >+ > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("subtype", jsInjectedScriptHostPrototypeFunctionSubtype, static_cast<unsigned>(PropertyAttribute::DontEnum), 1); > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("functionDetails", jsInjectedScriptHostPrototypeFunctionFunctionDetails, static_cast<unsigned>(PropertyAttribute::DontEnum), 1); > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("getInternalProperties", jsInjectedScriptHostPrototypeFunctionGetInternalProperties, static_cast<unsigned>(PropertyAttribute::DontEnum), 1); >diff --git a/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp b/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp >index 6c4ba1524711b70ee3cb05e95a0d79012c2663ec..b8991cd2c7cb515c713107b892d7ea6db8cb5c04 100644 >--- a/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp >+++ b/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp >@@ -57,8 +57,7 @@ void JSJavaScriptCallFramePrototype::finishCreation(VM& vm, JSGlobalObject* glob > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); >- >+ > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("evaluateWithScopeExtension", jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension, static_cast<unsigned>(PropertyAttribute::DontEnum), 1); > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION("scopeDescriptions", jsJavaScriptCallFramePrototypeFunctionScopeDescriptions, static_cast<unsigned>(PropertyAttribute::DontEnum), 0); > >diff --git a/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp b/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp >index c440bb3ddd7fce38cf2c8f48f6c31c41035a5509..04d4737b872a4b56502910c5a162e6248837b812 100644 >--- a/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp >@@ -45,7 +45,6 @@ void ArrayIteratorPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject > ASSERT(inherits(vm, info())); > putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "Array Iterator"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); > JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->next, arrayIteratorPrototypeNextCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); >- didBecomePrototype(); > } > > // ------------------------------ Array Functions ---------------------------- >diff --git a/Source/JavaScriptCore/runtime/ArrayPrototype.cpp b/Source/JavaScriptCore/runtime/ArrayPrototype.cpp >index 16f59a27596125ea0447448989f3608f0f4435a6..7f0fc37dab699bd01f73f32b5822cba4d090e86d 100644 >--- a/Source/JavaScriptCore/runtime/ArrayPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/ArrayPrototype.cpp >@@ -81,7 +81,6 @@ void ArrayPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject) > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > putDirectWithoutTransition(vm, vm.propertyNames->toString, globalObject->arrayProtoToStringFunction(), static_cast<unsigned>(PropertyAttribute::DontEnum)); > putDirectWithoutTransition(vm, vm.propertyNames->builtinNames().valuesPublicName(), globalObject->arrayProtoValuesFunction(), static_cast<unsigned>(PropertyAttribute::DontEnum)); >diff --git a/Source/JavaScriptCore/runtime/AsyncFromSyncIteratorPrototype.cpp b/Source/JavaScriptCore/runtime/AsyncFromSyncIteratorPrototype.cpp >index a6a3b54ba1b7d6f59c1785863d7c96dbfb1ee9ae..fdf8028c0a47c6c9642ea2d6187a43cd3822264e 100644 >--- a/Source/JavaScriptCore/runtime/AsyncFromSyncIteratorPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/AsyncFromSyncIteratorPrototype.cpp >@@ -54,7 +54,6 @@ void AsyncFromSyncIteratorPrototype::finishCreation(VM& vm) > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > } > > AsyncFromSyncIteratorPrototype* AsyncFromSyncIteratorPrototype::create(VM& vm, JSGlobalObject*, Structure* structure) >diff --git a/Source/JavaScriptCore/runtime/AsyncFunctionPrototype.cpp b/Source/JavaScriptCore/runtime/AsyncFunctionPrototype.cpp >index 94b4c021c1279401ddf87d023ececb57ec43100a..f9e00ed7a176468358ce5f90689c8f8b199b2606 100644 >--- a/Source/JavaScriptCore/runtime/AsyncFunctionPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/AsyncFunctionPrototype.cpp >@@ -50,7 +50,6 @@ void AsyncFunctionPrototype::finishCreation(VM& vm) > ASSERT(inherits(vm, info())); > putDirectWithoutTransition(vm, vm.propertyNames->length, jsNumber(0), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum); > putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "AsyncFunction"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); >- didBecomePrototype(); > } > > } // namespace JSC >diff --git a/Source/JavaScriptCore/runtime/AsyncGeneratorFunctionPrototype.cpp b/Source/JavaScriptCore/runtime/AsyncGeneratorFunctionPrototype.cpp >index b911f77e9fa1677747a059c49cd42610f9b59ddb..380ffa0ebe5b4b96ee149e7d079c18e3841686e7 100644 >--- a/Source/JavaScriptCore/runtime/AsyncGeneratorFunctionPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/AsyncGeneratorFunctionPrototype.cpp >@@ -50,7 +50,6 @@ void AsyncGeneratorFunctionPrototype::finishCreation(VM& vm) > ASSERT(inherits(vm, info())); > putDirectWithoutTransition(vm, vm.propertyNames->length, jsNumber(0), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum); > putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "AsyncGeneratorFunction"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); >- didBecomePrototype(); > } > > } // namespace JSC >diff --git a/Source/JavaScriptCore/runtime/AsyncGeneratorPrototype.cpp b/Source/JavaScriptCore/runtime/AsyncGeneratorPrototype.cpp >index 37ceea512f5f782166af2eb072f778636a05249a..9db3254bd58e935371b98d93bb890a43316e0ce3 100644 >--- a/Source/JavaScriptCore/runtime/AsyncGeneratorPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/AsyncGeneratorPrototype.cpp >@@ -49,7 +49,6 @@ void AsyncGeneratorPrototype::finishCreation(VM& vm) > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); > putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "AsyncGenerator"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); >- didBecomePrototype(); > } > > } // namespace JSC >diff --git a/Source/JavaScriptCore/runtime/AsyncIteratorPrototype.cpp b/Source/JavaScriptCore/runtime/AsyncIteratorPrototype.cpp >index 800cfa09641c0ca2808f056012eda3d0232237f7..9e2b7a63f94611c30ee698861b25e388169b3d97 100644 >--- a/Source/JavaScriptCore/runtime/AsyncIteratorPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/AsyncIteratorPrototype.cpp >@@ -39,7 +39,6 @@ void AsyncIteratorPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > JSFunction* asyncIteratorPrototypeFunction = JSFunction::create(vm, asyncIteratorPrototypeSymbolAsyncIteratorGetterCodeGenerator(vm), globalObject); > putDirectWithoutTransition(vm, vm.propertyNames->asyncIteratorSymbol, asyncIteratorPrototypeFunction, static_cast<unsigned>(PropertyAttribute::DontEnum)); >diff --git a/Source/JavaScriptCore/runtime/GeneratorFunctionPrototype.cpp b/Source/JavaScriptCore/runtime/GeneratorFunctionPrototype.cpp >index 0418ceefe3c49f31c646ec69fc913f1c3fb2a22c..421787aecf315d4170952c6cb277833831d3e074 100644 >--- a/Source/JavaScriptCore/runtime/GeneratorFunctionPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/GeneratorFunctionPrototype.cpp >@@ -52,7 +52,6 @@ void GeneratorFunctionPrototype::finishCreation(VM& vm) > ASSERT(inherits(vm, info())); > putDirectWithoutTransition(vm, vm.propertyNames->length, jsNumber(0), PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum); > putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "GeneratorFunction"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); >- didBecomePrototype(); > } > > } // namespace JSC >diff --git a/Source/JavaScriptCore/runtime/GeneratorPrototype.cpp b/Source/JavaScriptCore/runtime/GeneratorPrototype.cpp >index dcd292dda82aae6bcc2109793119a9c091a15ea7..13741485ecd505b6c2654a40523f62c0db21995d 100644 >--- a/Source/JavaScriptCore/runtime/GeneratorPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/GeneratorPrototype.cpp >@@ -49,7 +49,6 @@ void GeneratorPrototype::finishCreation(VM& vm) > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); > putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "Generator"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); >- didBecomePrototype(); > } > > } // namespace JSC >diff --git a/Source/JavaScriptCore/runtime/IteratorPrototype.cpp b/Source/JavaScriptCore/runtime/IteratorPrototype.cpp >index 678f5356fe426744e0dc6ae55a836f83b7f4b622..716c844c36a1de9555d0c1e6db7b6da9a7bf7f4f 100644 >--- a/Source/JavaScriptCore/runtime/IteratorPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/IteratorPrototype.cpp >@@ -39,7 +39,6 @@ void IteratorPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject) > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->iteratorSymbol, iteratorPrototypeSymbolIteratorGetterCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); > } >diff --git a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp b/Source/JavaScriptCore/runtime/JSGlobalObject.cpp >index 3c04536449105f07665aa7728ff0a211654a0540..de77a63a453ff0b9b6d0d2291a0adfc2f6ba7a3c 100644 >--- a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp >+++ b/Source/JavaScriptCore/runtime/JSGlobalObject.cpp >@@ -533,6 +533,8 @@ void JSGlobalObject::init(VM& vm) > m_nullGetterFunction.set(vm, this, NullGetterFunction::create(vm, NullGetterFunction::createStructure(vm, this, m_functionPrototype.get()))); > m_nullSetterFunction.set(vm, this, NullSetterFunction::create(vm, NullSetterFunction::createStructure(vm, this, m_functionPrototype.get()))); > m_objectPrototype.set(vm, this, ObjectPrototype::create(vm, this, ObjectPrototype::createStructure(vm, this, jsNull()))); >+ // We have to manually set this here because we make it a prototype without transition below. >+ m_objectPrototype.get()->didBecomePrototype(); > GetterSetter* protoAccessor = GetterSetter::create(vm, this, > JSFunction::create(vm, this, 0, makeString("get ", vm.propertyNames->underscoreProto.string()), globalFuncProtoGetter, UnderscoreProtoIntrinsic), > JSFunction::create(vm, this, 0, makeString("set ", vm.propertyNames->underscoreProto.string()), globalFuncProtoSetter)); >diff --git a/Source/JavaScriptCore/runtime/MapIteratorPrototype.cpp b/Source/JavaScriptCore/runtime/MapIteratorPrototype.cpp >index 705b42e99fd13badf1202f832b5801091bb01bf9..825b789cbdc309d03b83eb82303b39b898b3e5a2 100644 >--- a/Source/JavaScriptCore/runtime/MapIteratorPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/MapIteratorPrototype.cpp >@@ -37,7 +37,6 @@ void MapIteratorPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject) > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "Map Iterator"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); > JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->next, mapIteratorPrototypeNextCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); >diff --git a/Source/JavaScriptCore/runtime/MapPrototype.cpp b/Source/JavaScriptCore/runtime/MapPrototype.cpp >index d278ef4115b92ec1a3d9962aaaf3e6e371244782..4f0ba9b38b9876a6319fccbf4d1ecac9cd837c0d 100644 >--- a/Source/JavaScriptCore/runtime/MapPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/MapPrototype.cpp >@@ -60,7 +60,6 @@ void MapPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject) > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->clear, mapProtoFuncClear, static_cast<unsigned>(PropertyAttribute::DontEnum), 0); > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->deleteKeyword, mapProtoFuncDelete, static_cast<unsigned>(PropertyAttribute::DontEnum), 1); >diff --git a/Source/JavaScriptCore/runtime/ObjectPrototype.cpp b/Source/JavaScriptCore/runtime/ObjectPrototype.cpp >index 115a25f8ed152fe25ff5564d282f4e050e8968ff..a00fc5a86238daad6df790c726667f10c66608d0 100644 >--- a/Source/JavaScriptCore/runtime/ObjectPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/ObjectPrototype.cpp >@@ -56,7 +56,6 @@ void ObjectPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject) > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->toString, objectProtoFuncToString, static_cast<unsigned>(PropertyAttribute::DontEnum), 0); > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->toLocaleString, objectProtoFuncToLocaleString, static_cast<unsigned>(PropertyAttribute::DontEnum), 0); >diff --git a/Source/JavaScriptCore/runtime/RegExpStringIteratorPrototype.cpp b/Source/JavaScriptCore/runtime/RegExpStringIteratorPrototype.cpp >index b33afc3e79eac4a499b91c6e1d8ada29295ad12f..315e177c8107e0c72d9ae95e2a70c41d3b79d577 100644 >--- a/Source/JavaScriptCore/runtime/RegExpStringIteratorPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/RegExpStringIteratorPrototype.cpp >@@ -45,7 +45,6 @@ void RegExpStringIteratorPrototype::finishCreation(VM& vm, JSGlobalObject* globa > ASSERT(inherits(vm, info())); > putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "RegExp String Iterator"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); > JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->next, regExpStringIteratorPrototypeNextCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); >- didBecomePrototype(); > } > > } // namespace JSC >diff --git a/Source/JavaScriptCore/runtime/SetIteratorPrototype.cpp b/Source/JavaScriptCore/runtime/SetIteratorPrototype.cpp >index 9819ee22c24576288fe1caf3e21621b96ee28878..c4ddce37933eab68ed7cf6bdb38962da4aabb308 100644 >--- a/Source/JavaScriptCore/runtime/SetIteratorPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/SetIteratorPrototype.cpp >@@ -37,7 +37,6 @@ void SetIteratorPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject) > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION("next", setIteratorPrototypeNextCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); > putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "Set Iterator"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); >diff --git a/Source/JavaScriptCore/runtime/SetPrototype.cpp b/Source/JavaScriptCore/runtime/SetPrototype.cpp >index 4fb88ecd063be04fe7d7cbe867c7f9e5d320aff4..cd2f071ef1046e737fca22125687c66dd6fdbb93 100644 >--- a/Source/JavaScriptCore/runtime/SetPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/SetPrototype.cpp >@@ -59,7 +59,6 @@ void SetPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject) > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > JSC_NATIVE_INTRINSIC_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->add, setProtoFuncAdd, static_cast<unsigned>(PropertyAttribute::DontEnum), 1, JSSetAddIntrinsic); > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->clear, setProtoFuncClear, static_cast<unsigned>(PropertyAttribute::DontEnum), 0); >diff --git a/Source/JavaScriptCore/runtime/StringIteratorPrototype.cpp b/Source/JavaScriptCore/runtime/StringIteratorPrototype.cpp >index a5e1ac4e453cd5f1c2dd392a6b63aa2078b3c61c..622a789353f39310df272c42ba12ee15280e3f87 100644 >--- a/Source/JavaScriptCore/runtime/StringIteratorPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/StringIteratorPrototype.cpp >@@ -43,7 +43,6 @@ void StringIteratorPrototype::finishCreation(VM& vm, JSGlobalObject* globalObjec > ASSERT(inherits(vm, info())); > putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "String Iterator"), PropertyAttribute::DontEnum | PropertyAttribute::ReadOnly); > JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->next, stringIteratorPrototypeNextCodeGenerator, static_cast<unsigned>(PropertyAttribute::DontEnum)); >- didBecomePrototype(); > } > > } // namespace JSC >diff --git a/Source/JavaScriptCore/runtime/WeakMapPrototype.cpp b/Source/JavaScriptCore/runtime/WeakMapPrototype.cpp >index eb4cd21a2594354aa843003b85e3c18f671aac6c..6072bfd8b3d234dda316e04dfe6c58770106cd10 100644 >--- a/Source/JavaScriptCore/runtime/WeakMapPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/WeakMapPrototype.cpp >@@ -42,7 +42,6 @@ void WeakMapPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject) > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->deleteKeyword, protoFuncWeakMapDelete, static_cast<unsigned>(PropertyAttribute::DontEnum), 1); > JSC_NATIVE_INTRINSIC_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->get, protoFuncWeakMapGet, static_cast<unsigned>(PropertyAttribute::DontEnum), 1, JSWeakMapGetIntrinsic); >diff --git a/Source/JavaScriptCore/runtime/WeakObjectRefPrototype.cpp b/Source/JavaScriptCore/runtime/WeakObjectRefPrototype.cpp >index 035ceb2dde5d5e3f90763551ba94c2b8aa62d079..ce155f7c6ae28d542e88b5654e3a0afe5a4c3041 100644 >--- a/Source/JavaScriptCore/runtime/WeakObjectRefPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/WeakObjectRefPrototype.cpp >@@ -40,7 +40,6 @@ void WeakObjectRefPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > // FIXME: It wouldn't be hard to make this an intrinsic. > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->deref, protoFuncWeakRefDeref, static_cast<unsigned>(PropertyAttribute::DontEnum), 0); >diff --git a/Source/JavaScriptCore/runtime/WeakSetPrototype.cpp b/Source/JavaScriptCore/runtime/WeakSetPrototype.cpp >index 7b42de0792962f9faed19ed317596adf77641934..2b2530d7cd5d69bac2652f36fcec7b97ce167d00 100644 >--- a/Source/JavaScriptCore/runtime/WeakSetPrototype.cpp >+++ b/Source/JavaScriptCore/runtime/WeakSetPrototype.cpp >@@ -41,7 +41,6 @@ void WeakSetPrototype::finishCreation(VM& vm, JSGlobalObject* globalObject) > { > Base::finishCreation(vm); > ASSERT(inherits(vm, info())); >- didBecomePrototype(); > > JSC_NATIVE_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->deleteKeyword, protoFuncWeakSetDelete, static_cast<unsigned>(PropertyAttribute::DontEnum), 1); > JSC_NATIVE_INTRINSIC_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->has, protoFuncWeakSetHas, static_cast<unsigned>(PropertyAttribute::DontEnum), 1, JSWeakSetHasIntrinsic);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199221
: 372907