-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=69299 Reviewed by Geoff Garen. We don't have sufficient registers to keep both in registers, and DFG JIT will trample esi; it doesn't matter if the bucketCount gets stomped on (in fact it may add to randomness!), but it if the timeoutCheck gets trashed we may make calls out to the timout_check stub function too frequently (regressing performance). This patch has no perf impact on sunspider. * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/MacroAssemblerX86.h: (JSC::MacroAssemblerX86::branchAdd32): (JSC::MacroAssemblerX86::branchSub32): - Added branchSub32 with AbsoluteAddress. * jit/JIT.cpp: (JSC::JIT::emitTimeoutCheck): - Keep timeout count in memory on X86. * jit/JITInlineMethods.h: (JSC::JIT::emitValueProfilingSite): - remove X86 specific code, switch bucket count back into a register. * jit/JITStubs.cpp: - Stop initializing esi (it is no longer the timeoutCheck!) * jit/JSInterfaceJIT.h: - change definition of esi to be the bucketCountRegister. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: - Add timeoutCount as a property to global data (the counter should be per-thread). git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
70558a37