-
oliver@apple.com authored
Reviewed by Gavin Barraclough. Add optimised paths for a few maths functions https://bugs.webkit.org/show_bug.cgi?id=63757 This adds specialised thunks for Math.abs, Math.round, Math.ceil, Math.floor, Math.log, and Math.exp as they are apparently more important in real web content than we thought, which is somewhat mind-boggling. On average doubles the performance of the common cases (eg. actually passing numbers in). They're not as efficient as they could be, but this way gives them the most portability. * assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::supportsDoubleBitops): (JSC::MacroAssemblerARM::andnotDouble): * assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::supportsDoubleBitops): (JSC::MacroAssemblerARMv7::andnotDouble): * assembler/MacroAssemblerMIPS.h: (JSC::MacroAssemblerMIPS::andnotDouble): (JSC::MacroAssemblerMIPS::supportsDoubleBitops): * assembler/MacroAssemblerSH4.h: (JSC::MacroAssemblerSH4::supportsDoubleBitops): (JSC::MacroAssemblerSH4::andnotDouble): * assembler/MacroAssemblerX86.h: (JSC::MacroAssemblerX86::supportsDoubleBitops): * assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::andnotDouble): * assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::supportsDoubleBitops): * assembler/X86Assembler.h: (JSC::X86Assembler::andnpd_rr): * create_hash_table: * jit/SpecializedThunkJIT.h: (JSC::SpecializedThunkJIT::finalize): (JSC::SpecializedThunkJIT::callDoubleToDouble): * jit/ThunkGenerators.cpp: (JSC::floorThunkGenerator): (JSC::ceilThunkGenerator): (JSC::roundThunkGenerator): (JSC::expThunkGenerator): (JSC::logThunkGenerator): (JSC::absThunkGenerator): * jit/ThunkGenerators.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@90177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
9e85016c