Changeset 39316 in webkit for trunk/JavaScriptCore/jit/JIT.cpp
- Timestamp:
- Dec 15, 2008, 3:38:19 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JIT.cpp
r39284 r39316 280 280 emitCTICall(Interpreter::cti_op_end); 281 281 emitGetVirtualRegister(currentInstruction[1].u.operand, X86::eax); 282 __ push l_m(RegisterFile::ReturnPC * static_cast<int>(sizeof(Register)), callFrameRegister);282 __ push_m(RegisterFile::ReturnPC * static_cast<int>(sizeof(Register)), callFrameRegister); 283 283 __ ret(); 284 284 NEXT_OPCODE(op_end); … … 519 519 520 520 // Return. 521 __ push l_r(X86::edx);521 __ push_r(X86::edx); 522 522 __ ret(); 523 523 … … 933 933 emitPutJITStubArgFromVirtualRegister(currentInstruction[1].u.operand, 1, X86::ecx); 934 934 emitCTICall(Interpreter::cti_op_throw); 935 __ addl_i 8r(0x20, X86::esp);936 __ pop l_r(X86::ebx);937 __ pop l_r(X86::edi);938 __ pop l_r(X86::esi);935 __ addl_ir(0x20, X86::esp); 936 __ pop_r(X86::ebx); 937 __ pop_r(X86::edi); 938 __ pop_r(X86::esi); 939 939 __ ret(); 940 940 NEXT_OPCODE(op_throw); … … 1724 1724 #endif 1725 1725 1726 // Could use a pop l_m, but would need to offset the following instruction if so.1727 __ pop l_r(X86::ecx);1726 // Could use a pop_m, but would need to offset the following instruction if so. 1727 __ pop_r(X86::ecx); 1728 1728 emitPutToCallFrameHeader(X86::ecx, RegisterFile::ReturnPC); 1729 1729 … … 1830 1830 // Check eax is an array 1831 1831 X86Assembler::JmpSrc array_failureCases1 = emitJumpIfNotJSCell(X86::eax); 1832 __ cmpl_i 32m(reinterpret_cast<unsigned>(m_interpreter->m_jsArrayVptr), X86::eax);1832 __ cmpl_im(reinterpret_cast<unsigned>(m_interpreter->m_jsArrayVptr), 0, X86::eax); 1833 1833 X86Assembler::JmpSrc array_failureCases2 = __ jne(); 1834 1834 … … 1837 1837 __ movl_mr(FIELD_OFFSET(ArrayStorage, m_length), X86::eax, X86::eax); 1838 1838 1839 __ cmpl_i 32r(JSImmediate::maxImmediateInt, X86::eax);1839 __ cmpl_ir(JSImmediate::maxImmediateInt, X86::eax); 1840 1840 X86Assembler::JmpSrc array_failureCases3 = __ ja(); 1841 1841 1842 1842 __ addl_rr(X86::eax, X86::eax); 1843 __ addl_i 8r(1, X86::eax);1843 __ addl_ir(1, X86::eax); 1844 1844 1845 1845 __ ret(); … … 1851 1851 // Check eax is a string 1852 1852 X86Assembler::JmpSrc string_failureCases1 = emitJumpIfNotJSCell(X86::eax); 1853 __ cmpl_i 32m(reinterpret_cast<unsigned>(m_interpreter->m_jsStringVptr), X86::eax);1853 __ cmpl_im(reinterpret_cast<unsigned>(m_interpreter->m_jsStringVptr), 0, X86::eax); 1854 1854 X86Assembler::JmpSrc string_failureCases2 = __ jne(); 1855 1855 … … 1858 1858 __ movl_mr(FIELD_OFFSET(UString::Rep, len), X86::eax, X86::eax); 1859 1859 1860 __ cmpl_i 32r(JSImmediate::maxImmediateInt, X86::eax);1860 __ cmpl_ir(JSImmediate::maxImmediateInt, X86::eax); 1861 1861 X86Assembler::JmpSrc string_failureCases3 = __ ja(); 1862 1862 1863 1863 __ addl_rr(X86::eax, X86::eax); 1864 __ addl_i 8r(1, X86::eax);1864 __ addl_ir(1, X86::eax); 1865 1865 1866 1866 __ ret(); … … 1875 1875 __ testl_rr(X86::eax, X86::eax); 1876 1876 X86Assembler::JmpSrc hasCodeBlock1 = __ jne(); 1877 __ pop l_r(X86::ebx);1877 __ pop_r(X86::ebx); 1878 1878 emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame); 1879 1879 X86Assembler::JmpSrc callJSFunction1 = __ call(); 1880 1880 emitGetJITStubArg(1, X86::ecx); 1881 1881 emitGetJITStubArg(3, X86::edx); 1882 __ push l_r(X86::ebx);1882 __ push_r(X86::ebx); 1883 1883 __ link(hasCodeBlock1, __ label()); 1884 1884 … … 1886 1886 __ cmpl_rm(X86::edx, FIELD_OFFSET(CodeBlock, m_numParameters), X86::eax); 1887 1887 X86Assembler::JmpSrc arityCheckOkay1 = __ je(); 1888 __ pop l_r(X86::ebx);1888 __ pop_r(X86::ebx); 1889 1889 emitPutJITStubArg(X86::ebx, 2); 1890 1890 emitPutJITStubArg(X86::eax, 4); … … 1894 1894 emitGetJITStubArg(1, X86::ecx); 1895 1895 emitGetJITStubArg(3, X86::edx); 1896 __ push l_r(X86::ebx);1896 __ push_r(X86::ebx); 1897 1897 __ link(arityCheckOkay1, __ label()); 1898 1898 1899 1899 compileOpCallInitializeCallFrame(); 1900 1900 1901 __ pop l_r(X86::ebx);1901 __ pop_r(X86::ebx); 1902 1902 emitPutJITStubArg(X86::ebx, 2); 1903 1903 emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame); 1904 1904 X86Assembler::JmpSrc callDontLazyLinkCall = __ call(); 1905 __ push l_r(X86::ebx);1905 __ push_r(X86::ebx); 1906 1906 1907 1907 __ jmp_r(X86::eax); … … 1914 1914 __ testl_rr(X86::eax, X86::eax); 1915 1915 X86Assembler::JmpSrc hasCodeBlock2 = __ jne(); 1916 __ pop l_r(X86::ebx);1916 __ pop_r(X86::ebx); 1917 1917 emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame); 1918 1918 X86Assembler::JmpSrc callJSFunction2 = __ call(); 1919 1919 emitGetJITStubArg(1, X86::ecx); 1920 1920 emitGetJITStubArg(3, X86::edx); 1921 __ push l_r(X86::ebx);1921 __ push_r(X86::ebx); 1922 1922 __ link(hasCodeBlock2, __ label()); 1923 1923 … … 1925 1925 __ cmpl_rm(X86::edx, FIELD_OFFSET(CodeBlock, m_numParameters), X86::eax); 1926 1926 X86Assembler::JmpSrc arityCheckOkay2 = __ je(); 1927 __ pop l_r(X86::ebx);1927 __ pop_r(X86::ebx); 1928 1928 emitPutJITStubArg(X86::ebx, 2); 1929 1929 emitPutJITStubArg(X86::eax, 4); … … 1933 1933 emitGetJITStubArg(1, X86::ecx); 1934 1934 emitGetJITStubArg(3, X86::edx); 1935 __ push l_r(X86::ebx);1935 __ push_r(X86::ebx); 1936 1936 __ link(arityCheckOkay2, __ label()); 1937 1937 1938 1938 compileOpCallInitializeCallFrame(); 1939 1939 1940 __ pop l_r(X86::ebx);1940 __ pop_r(X86::ebx); 1941 1941 emitPutJITStubArg(X86::ebx, 2); 1942 1942 emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame); 1943 1943 X86Assembler::JmpSrc callLazyLinkCall = __ call(); 1944 __ push l_r(X86::ebx);1944 __ push_r(X86::ebx); 1945 1945 1946 1946 __ jmp_r(X86::eax); … … 1953 1953 __ testl_rr(X86::eax, X86::eax); 1954 1954 X86Assembler::JmpSrc hasCodeBlock3 = __ jne(); 1955 __ pop l_r(X86::ebx);1955 __ pop_r(X86::ebx); 1956 1956 emitPutCTIParam(callFrameRegister, CTI_ARGS_callFrame); 1957 1957 X86Assembler::JmpSrc callJSFunction3 = __ call(); 1958 1958 emitGetJITStubArg(1, X86::ecx); 1959 1959 emitGetJITStubArg(3, X86::edx); 1960 __ push l_r(X86::ebx);1960 __ push_r(X86::ebx); 1961 1961 __ link(hasCodeBlock3, __ label()); 1962 1962 … … 1964 1964 __ cmpl_rm(X86::edx, FIELD_OFFSET(CodeBlock, m_numParameters), X86::eax); 1965 1965 X86Assembler::JmpSrc arityCheckOkay3 = __ je(); 1966 __ pop l_r(X86::ebx);1966 __ pop_r(X86::ebx); 1967 1967 emitPutJITStubArg(X86::ebx, 2); 1968 1968 emitPutJITStubArg(X86::eax, 4); … … 1972 1972 emitGetJITStubArg(1, X86::ecx); 1973 1973 emitGetJITStubArg(3, X86::edx); 1974 __ push l_r(X86::ebx);1974 __ push_r(X86::ebx); 1975 1975 __ link(arityCheckOkay3, __ label()); 1976 1976
Note:
See TracChangeset
for help on using the changeset viewer.