Changeset 55615 in webkit
- Timestamp:
- Mar 6, 2010 3:31:15 AM (14 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r55600 r55615 1 2010-03-06 Patrick Gansterer <paroga@paroga.com> 2 3 Reviewed by Eric Seidel. 4 5 Implemented JIT_OPTIMIZE_NATIVE_CALL for WinCE 6 https://bugs.webkit.org/show_bug.cgi?id=33426 7 8 * jit/JITOpcodes.cpp: 9 (JSC::JIT::privateCompileCTIMachineTrampolines): 10 1 11 2010-03-05 Oliver Hunt <oliver@apple.com> 2 12 -
trunk/JavaScriptCore/jit/JITOpcodes.cpp
r54804 r55615 1 1 /* 2 2 * Copyright (C) 2009 Apple Inc. All rights reserved. 3 * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com> 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 283 284 // stack: this(JSValue) and a pointer to ArgList 284 285 286 #if OS(WINCE) 287 // Setup arg4: 288 push(stackPointerRegister); 289 290 // Setup arg3: 291 // regT1 currently points to the first argument, regT1-sizeof(Register) points to 'this' 292 load32(Address(regT1, -(int32_t)sizeof(void*) * 2), ARMRegisters::r3); 293 push(ARMRegisters::r3); 294 load32(Address(regT1, -(int32_t)sizeof(void*)), regT3); 295 storePtr(regT3, Address(stackPointerRegister)); 296 297 // Setup arg2: 298 emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT2); 299 300 // Setup arg1: 301 move(callFrameRegister, regT1); 302 303 // Setup arg0: 304 move(stackPointerRegister, regT0); 305 306 call(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_data))); 307 308 load32(Address(stackPointerRegister, 0), regT0); 309 load32(Address(stackPointerRegister, 4), regT1); 310 311 addPtr(Imm32(sizeof(ArgList) + 8), stackPointerRegister); 312 #else // OS(WINCE) 285 313 move(stackPointerRegister, regT3); 286 314 subPtr(Imm32(8), stackPointerRegister); … … 291 319 storePtr(regT3, Address(stackPointerRegister, 8)); 292 320 293 // Setup arg3 321 // Setup arg3: 294 322 // regT1 currently points to the first argument, regT1-sizeof(Register) points to 'this' 295 323 load32(Address(regT1, -(int32_t)sizeof(void*) * 2), regT3); … … 311 339 312 340 addPtr(Imm32(sizeof(ArgList) + 16 + 8), stackPointerRegister); 341 #endif // OS(WINCE) 342 313 343 #endif 314 344 … … 1765 1795 storePtr(regT1, Address(stackPointerRegister, OBJECT_OFFSETOF(ArgList, m_args))); 1766 1796 1767 // Setup arg3: regT1 currently points to the first argument, regT1-sizeof(Register) points to 'this' 1797 // regT1 currently points to the first argument, regT1-sizeof(Register) points to 'this' 1798 1799 #if OS(WINCE) 1800 // Setup arg3: 1801 loadPtr(Address(regT1, -(int32_t)sizeof(Register)), ARMRegisters::r3); 1802 1803 // Setup arg2: 1804 emitGetFromCallFrameHeaderPtr(RegisterFile::Callee, regT2); 1805 1806 // Setup arg1: 1807 move(callFrameRegister, regT1); 1808 1809 // Setup arg0: 1810 move(stackPointerRegister, regT0); 1811 subPtr(Imm32(sizeof(Register)), stackPointerRegister); 1812 storePtr(regT0, Address(stackPointerRegister)); 1813 1814 call(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_data))); 1815 1816 loadPtr(Address(regT0), regT0); 1817 1818 addPtr(Imm32(sizeof(Register) + sizeof(ArgList)), stackPointerRegister); 1819 #else // OS(WINCE) 1820 // Setup arg3: 1768 1821 loadPtr(Address(regT1, -(int32_t)sizeof(Register)), regT2); 1769 1822 … … 1780 1833 1781 1834 addPtr(Imm32(sizeof(ArgList)), stackPointerRegister); 1835 #endif // OS(WINCE) 1782 1836 1783 1837 #elif ENABLE(JIT_OPTIMIZE_NATIVE_CALL)
Note: See TracChangeset
for help on using the changeset viewer.