Changeset 55615 in webkit for trunk/JavaScriptCore/jit/JITOpcodes.cpp
- Timestamp:
- Mar 6, 2010, 3:31:15 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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 <[email protected]> 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.