-
oliver@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=125602 Reviewed by Michael Saboff. Source/JavaScriptCore: Support caching of custom getters and accessors on the prototype chain. This is relatively trivial and just requires a little work compared to the direct access mode as we're under more register pressure. * bytecode/StructureStubInfo.h: Removed the unsued initGetByIdProto as it was confusing to still have it present. * jit/Repatch.cpp: (JSC::generateProtoChainAccessStub): (JSC::tryCacheGetByID): (JSC::tryBuildGetByIDList): Tools: Make sure bencher scripts also make noInline exist * Scripts/bencher: LayoutTests: Added a bunch of new tests * js/regress/chain-custom-getter-expected.txt: Added. * js/regress/chain-custom-getter.html: Added. * js/regress/chain-getter-access-expected.txt: Added. * js/regress/chain-getter-access.html: Added. * js/regress/proto-custom-getter-expected.txt: Added. * js/regress/proto-custom-getter.html: Added. * js/regress/proto-getter-access-expected.txt: Added. * js/regress/proto-getter-access.html: Added. * js/regress/resources/regress-pre.js: Made sure that noInline always exists (either using testRunner.neverInlineFunction or a no-op function if nothing else is available) * js/regress/script-tests/chain-custom-getter.js: Added. (foo): * js/regress/script-tests/chain-getter-access.js: Added. (o.get value): (foo): * js/regress/script-tests/proto-custom-getter.js: Added. (foo): * js/regress/script-tests/proto-getter-access.js: Added. (o.get value): (foo): * js/regress/script-tests/simple-custom-getter.js: Added. (cycles.30000.numberObject.Number.foo): * js/regress/script-tests/simple-getter-access.js: Added. (o.get value): (foo): * js/regress/simple-custom-getter-expected.txt: Added. * js/regress/simple-custom-getter.html: Added. * js/regress/simple-getter-access-expected.txt: Added. * js/regress/simple-getter-access.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
22b40a61