Changeset 195134 in webkit
- Timestamp:
- Jan 15, 2016 10:53:40 AM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r195133 r195134 1 2016-01-15 Konstantin Tokarev <annulen@yandex.ru> 2 3 [mips] Implemented emitFunctionPrologue/Epilogue 4 https://bugs.webkit.org/show_bug.cgi?id=152947 5 6 Reviewed by Michael Saboff. 7 8 * assembler/MacroAssemblerMIPS.h: 9 (JSC::MacroAssemblerMIPS::popPair): 10 (JSC::MacroAssemblerMIPS::pushPair): 11 * jit/AssemblyHelpers.h: 12 (JSC::AssemblyHelpers::emitFunctionPrologue): 13 (JSC::AssemblyHelpers::emitFunctionEpilogueWithEmptyFrame): 14 (JSC::AssemblyHelpers::emitFunctionEpilogue): 15 1 16 2016-01-15 Commit Queue <commit-queue@webkit.org> 2 17 -
trunk/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
r195093 r195134 1254 1254 } 1255 1255 1256 void popPair(RegisterID dest1, RegisterID dest2) 1257 { 1258 m_assembler.lw(dest1, MIPSRegisters::sp, 0); 1259 m_assembler.lw(dest2, MIPSRegisters::sp, 4); 1260 m_assembler.addiu(MIPSRegisters::sp, MIPSRegisters::sp, 8); 1261 } 1262 1256 1263 void push(RegisterID src) 1257 1264 { … … 1270 1277 move(imm, immTempRegister); 1271 1278 push(immTempRegister); 1279 } 1280 1281 void pushPair(RegisterID src1, RegisterID src2) 1282 { 1283 m_assembler.addiu(MIPSRegisters::sp, MIPSRegisters::sp, -8); 1284 m_assembler.sw(src2, MIPSRegisters::sp, 4); 1285 m_assembler.sw(src1, MIPSRegisters::sp, 0); 1272 1286 } 1273 1287 -
trunk/Source/JavaScriptCore/jit/AssemblyHelpers.h
r194772 r195134 446 446 // Prologue saves the framePointerRegister and returnAddressRegister 447 447 return 2 * sizeof(void*); 448 } 449 450 void emitFunctionPrologue() 451 { 452 pushPair(framePointerRegister, returnAddressRegister); 453 move(stackPointerRegister, framePointerRegister); 454 } 455 456 void emitFunctionEpilogueWithEmptyFrame() 457 { 458 popPair(framePointerRegister, returnAddressRegister); 459 } 460 461 void emitFunctionEpilogue() 462 { 463 move(framePointerRegister, stackPointerRegister); 464 emitFunctionEpilogueWithEmptyFrame(); 448 465 } 449 466
Note: See TracChangeset
for help on using the changeset viewer.