Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: ed9f215ec22744e680c5a1f6f382f2b7afca56ad https://github.com/WebKit/WebKit/commit/ed9f215ec22744e680c5a1f6f382f2b7afca56ad Author: Alexey Shvayka <ashva...@apple.com> Date: 2024-03-13 (Wed, 13 Mar 2024)
Changed paths: M Source/JavaScriptCore/runtime/ArrayIteratorPrototype.h M Source/JavaScriptCore/runtime/AsyncGeneratorFunctionPrototype.h M Source/JavaScriptCore/runtime/IntlLocaleConstructor.h M Source/JavaScriptCore/runtime/JSModuleLoader.h M Source/JavaScriptCore/runtime/MapConstructor.cpp M Source/JavaScriptCore/runtime/MapPrototype.h M Source/JavaScriptCore/runtime/RegExpStringIteratorPrototype.h M Source/JavaScriptCore/runtime/SetPrototype.h M Source/JavaScriptCore/runtime/StringIteratorPrototype.h M Source/JavaScriptCore/runtime/Structure.cpp M Source/JavaScriptCore/tools/JSDollarVM.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyArrayConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyArrayConstructor.h M Source/JavaScriptCore/wasm/js/WebAssemblyArrayPrototype.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyArrayPrototype.h M Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorConstructor.h M Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorPrototype.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorPrototype.h M Source/JavaScriptCore/wasm/js/WebAssemblyExceptionConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyExceptionConstructor.h M Source/JavaScriptCore/wasm/js/WebAssemblyGlobalConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyGlobalConstructor.h M Source/JavaScriptCore/wasm/js/WebAssemblyInstanceConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyInstanceConstructor.h M Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.h M Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorConstructor.h M Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorPrototype.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorPrototype.h M Source/JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.h M Source/JavaScriptCore/wasm/js/WebAssemblyModulePrototype.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyModulePrototype.h M Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorConstructor.h M Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorPrototype.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorPrototype.h M Source/JavaScriptCore/wasm/js/WebAssemblyStructConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyStructConstructor.h M Source/JavaScriptCore/wasm/js/WebAssemblyStructPrototype.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyStructPrototype.h M Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp M Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.h M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm M Source/WebCore/bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.h M Source/WebCore/bindings/scripts/test/JS/JSLocalDOMWindow.h M Source/WebCore/bindings/scripts/test/JS/JSPaintWorkletGlobalScope.h M Source/WebCore/bindings/scripts/test/JS/JSServiceWorkerGlobalScope.h M Source/WebCore/bindings/scripts/test/JS/JSSharedWorkerGlobalScope.h M Source/WebCore/bindings/scripts/test/JS/JSWorkerGlobalScope.h M Source/WebCore/bindings/scripts/test/JS/JSWorkletGlobalScope.h Log Message: ----------- [JSC] Validate that HasStaticPropertyTable is present only if there is a static property table https://bugs.webkit.org/show_bug.cgi?id=270889 <rdar://problem/124493762> Reviewed by Yusuke Suzuki. This change: 1) Removes empty static property tables. 2) Removes HasStaticPropertyTable structure flag from classes without static property tables. 3) Fixes bindings generator condition for setting HasStaticPropertyTable to match the condition for setting `staticPropHashTable`, which isn't observable because we eagerly reify all static properties. 4) Adds an assertion to validate that HasStaticPropertyTable is present only if there is an own or inherited static property table. 1) and 2) are performance micro-optimizations that avoid calling into getOwnStaticPropertySlot() for property lookup if there is no static property table, own nor inherited, while 4) ensures consistency across the JSC codebase. * Source/JavaScriptCore/runtime/ArrayIteratorPrototype.h: * Source/JavaScriptCore/runtime/AsyncGeneratorFunctionPrototype.h: * Source/JavaScriptCore/runtime/IntlLocaleConstructor.h: * Source/JavaScriptCore/runtime/JSModuleLoader.h: * Source/JavaScriptCore/runtime/MapConstructor.cpp: * Source/JavaScriptCore/runtime/MapPrototype.h: * Source/JavaScriptCore/runtime/RegExpStringIteratorPrototype.h: * Source/JavaScriptCore/runtime/SetPrototype.h: * Source/JavaScriptCore/runtime/StringIteratorPrototype.h: * Source/JavaScriptCore/runtime/Structure.cpp: (JSC::Structure::validateFlags): * Source/JavaScriptCore/tools/JSDollarVM.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyArrayConstructor.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyArrayConstructor.h: * Source/JavaScriptCore/wasm/js/WebAssemblyArrayPrototype.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyArrayPrototype.h: * Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorConstructor.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorConstructor.h: * Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorPrototype.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyCompileErrorPrototype.h: * Source/JavaScriptCore/wasm/js/WebAssemblyExceptionConstructor.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyExceptionConstructor.h: * Source/JavaScriptCore/wasm/js/WebAssemblyGlobalConstructor.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyGlobalConstructor.h: * Source/JavaScriptCore/wasm/js/WebAssemblyInstanceConstructor.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyInstanceConstructor.h: * Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyInstancePrototype.h: * Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorConstructor.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorConstructor.h: * Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorPrototype.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyLinkErrorPrototype.h: * Source/JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.h: * Source/JavaScriptCore/wasm/js/WebAssemblyModulePrototype.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyModulePrototype.h: * Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorConstructor.h: * Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorPrototype.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyRuntimeErrorPrototype.h: * Source/JavaScriptCore/wasm/js/WebAssemblyStructConstructor.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyStructConstructor.h: * Source/JavaScriptCore/wasm/js/WebAssemblyStructPrototype.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyStructPrototype.h: * Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp: * Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.h: * Source/WebCore/bindings/scripts/CodeGeneratorJS.pm: (GeneratePrototypeDeclaration): * Source/WebCore/bindings/scripts/test/JS/*: Updated. Canonical link: https://commits.webkit.org/276069@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes