haikuwebkit/LayoutTests/js/cached-window-prototype-pro...

5 lines
48 B
Plaintext
Raw Permalink Normal View History

JSDOMWindow should not claim HasImpureGetOwnPropertySlot https://bugs.webkit.org/show_bug.cgi?id=132918 Reviewed by Geoffrey Garen. Source/JavaScriptCore: * jit/Repatch.cpp: (JSC::tryRepatchIn): We forgot to check for watchpoints when repatching "in". Source/WebCore: Tests: js/cached-window-properties.html js/cached-window-prototype-properties.html We now correctly handle the impurity of JSDOMWindow's custom getOwnPropertySlot without needing the blanket HasImpureGetOwnPropertySlot. We do this through the use of watchpoints and by explicitly forbidding any caching beyond a certain point using PropertySlot::disableCaching. Getting rid of this flag will allow us to cache many properties/methods on both the JSDOMWindow and its prototype, which are very commonly used across the web. * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getOwnPropertySlot): * bindings/scripts/CodeGeneratorJS.pm: (HasComplexGetOwnProperty): (InterfaceRequiresAttributesOnInstance): (InstanceOverridesGetOwnPropertySlot): (GenerateHeader): LayoutTests: We now correctly handle the impurity of JSDOMWindow's custom getOwnPropertySlot without needing the blanket HasImpureGetOwnPropertySlot. We do this through the use of watchpoints and by explicitly forbidding any caching beyond a certain point using PropertySlot::disableCaching. Getting rid of this flag will allow us to cache many properties/methods on both the JSDOMWindow and its prototype, which are very commonly used across the web. These tests trigger inline caching of window and window prototype properties. * js/cached-window-properties-expected.txt: Added. * js/cached-window-properties.html: Added. * js/cached-window-prototype-properties-expected.txt: Added. * js/cached-window-prototype-properties.html: Added. Canonical link: https://commits.webkit.org/151021@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-05-15 23:03:06 +00:00
PASS successfullyParsed is true
TEST COMPLETE