Changeset 159422 in webkit
- Timestamp:
- Nov 18, 2013 8:01:17 AM (10 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r159415 r159422 1 2013-11-18 Julien Brianceau <jbriance@cisco.com> 2 3 Remove architecture specific code in LowLevelInterpreter. 4 https://bugs.webkit.org/show_bug.cgi?id=124501 5 6 Reviewed by Michael Saboff. 7 8 * llint/LowLevelInterpreter.asm: Use generic path instead of sh4 specific code. 9 * llint/LowLevelInterpreter32_64.asm: Merge sh4/mips path with arm path. The 10 "move t0, a0" is not needed for arm because t0 == a0 with this architecture. 11 * offlineasm/sh4.rb: Handle move opcode with pr register. 12 1 13 2013-11-18 Julien Brianceau <jbriance@cisco.com> 2 14 -
trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
r159395 r159422 208 208 209 209 macro preserveReturnAddressAfterCall(destinationRegister) 210 if C_LOOP or ARM or ARMv7 or ARMv7_TRADITIONAL or ARM64 or MIPS 210 if C_LOOP or ARM or ARMv7 or ARMv7_TRADITIONAL or ARM64 or MIPS or SH4 211 211 # In C_LOOP case, we're only preserving the bytecode vPC. 212 212 move lr, destinationRegister 213 elsif SH4214 stspr destinationRegister215 213 elsif X86 or X86_64 216 214 pop destinationRegister … … 221 219 222 220 macro restoreReturnAddressBeforeReturn(sourceRegister) 223 if C_LOOP or ARM or ARMv7 or ARMv7_TRADITIONAL or ARM64 or MIPS 221 if C_LOOP or ARM or ARMv7 or ARMv7_TRADITIONAL or ARM64 or MIPS or SH4 224 222 # In C_LOOP case, we're only restoring the bytecode vPC. 225 223 move sourceRegister, lr 226 elsif SH4227 ldspr sourceRegister228 224 elsif X86 or X86_64 229 225 push sourceRegister -
trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
r159395 r159422 1911 1911 andp MarkedBlockMask, t3 1912 1912 loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t3], t3 1913 elsif ARM or ARMv7 or ARMv7_TRADITIONAL 1913 elsif ARM or ARMv7 or ARMv7_TRADITIONAL or MIPS or SH4 1914 1914 loadp ScopeChain[cfr], t3 1915 1915 andp MarkedBlockMask, t3 … … 1923 1923 loadp JSFunction::m_executable[t1], t1 1924 1924 move t2, cfr 1925 call executableOffsetToFunction[t1] 1926 restoreReturnAddressBeforeReturn(t3) 1927 loadp ScopeChain[cfr], t3 1928 andp MarkedBlockMask, t3 1929 loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t3], t3 1930 elsif MIPS or SH4 1931 loadp ScopeChain[cfr], t3 1932 andp MarkedBlockMask, t3 1933 loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t3], t3 1934 storep cfr, VM::topCallFrame[t3] 1935 move t0, t2 1936 preserveReturnAddressAfterCall(t3) 1937 storep t3, ReturnPC[cfr] 1938 move cfr, t0 1939 loadi Callee + PayloadOffset[cfr], t1 1940 loadp JSFunction::m_executable[t1], t1 1941 move t2, cfr 1942 move t0, a0 1925 if MIPS or SH4 1926 move t0, a0 1927 end 1943 1928 call executableOffsetToFunction[t1] 1944 1929 restoreReturnAddressBeforeReturn(t3) -
trunk/Source/JavaScriptCore/offlineasm/sh4.rb
r159381 r159422 490 490 if node.is_a? Instruction 491 491 case node.opcode 492 when "move" 493 if node.operands[0].is_a? RegisterID and node.operands[0].sh4Operand == "pr" 494 newList << Instruction.new(codeOrigin, "stspr", [node.operands[1]]) 495 elsif node.operands[1].is_a? RegisterID and node.operands[1].sh4Operand == "pr" 496 newList << Instruction.new(codeOrigin, "ldspr", [node.operands[0]]) 497 else 498 newList << node 499 end 492 500 when "loadi", "loadis", "loadp" 493 501 if node.operands[1].is_a? RegisterID and node.operands[1].sh4Operand == "pr"
Note: See TracChangeset
for help on using the changeset viewer.