Repatch should plant calls to getters directly rather than through a C helper
https://bugs.webkit.org/show_bug.cgi?id=129589

Source/JavaScriptCore: 

Reviewed by Mark Hahnenberg.
        
As the title says. All of the superstructure for this was already in place, so now it
was just a matter of actually emitting the call.
        
8x speed-up for getter microbenchmarks. 

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/PolymorphicGetByIdList.h:
(JSC::GetByIdAccess::doesCalls):
* jit/AccessorCallJITStubRoutine.cpp: Added.
(JSC::AccessorCallJITStubRoutine::AccessorCallJITStubRoutine):
(JSC::AccessorCallJITStubRoutine::~AccessorCallJITStubRoutine):
(JSC::AccessorCallJITStubRoutine::visitWeak):
* jit/AccessorCallJITStubRoutine.h: Added.
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::storeCell):
* jit/GCAwareJITStubRoutine.h:
* jit/Repatch.cpp:
(JSC::generateGetByIdStub):
* runtime/GetterSetter.h:
(JSC::GetterSetter::offsetOfGetter):
(JSC::GetterSetter::offsetOfSetter):

LayoutTests: 

Reviewed by Mark Hahnenberg.

* js/regress/getter-expected.txt: Added.
* js/regress/getter.html: Added.
* js/regress/script-tests/getter.js: Added.
* js/regress/script-tests/string-char-code-at.js: Added.
(foo):
* js/regress/string-char-code-at-expected.txt: Added.
* js/regress/string-char-code-at.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@166263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
18 files changed