Changeset 244865 in webkit for trunk/Source/JavaScriptCore/jit/JIT.cpp
- Timestamp:
- May 1, 2019, 8:10:43 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/jit/JIT.cpp
r244811 r244865 682 682 #endif 683 683 684 int frameTopOffset = stackPointerOffsetFor(m_codeBlock) * sizeof(Register); 685 unsigned maxFrameSize = -frameTopOffset; 686 addPtr(TrustedImm32(frameTopOffset), callFrameRegister, regT1); 687 JumpList stackOverflow; 688 if (UNLIKELY(maxFrameSize > Options::reservedZoneSize())) 689 stackOverflow.append(branchPtr(Above, regT1, callFrameRegister)); 690 stackOverflow.append(branchPtr(Above, AbsoluteAddress(m_vm->addressOfSoftStackLimit()), regT1)); 691 692 move(regT1, stackPointerRegister); 693 checkStackPointerAlignment(); 694 if (Options::zeroStackFrame()) 695 clearStackFrame(callFrameRegister, stackPointerRegister, regT0, maxFrameSize); 696 697 emitSaveCalleeSaves(); 698 emitMaterializeTagCheckRegisters(); 699 684 700 if (m_codeBlock->codeType() == FunctionCode) { 685 701 ASSERT(m_bytecodeOffset == std::numeric_limits<unsigned>::max()); … … 701 717 } 702 718 } 703 704 int frameTopOffset = stackPointerOffsetFor(m_codeBlock) * sizeof(Register);705 unsigned maxFrameSize = -frameTopOffset;706 addPtr(TrustedImm32(frameTopOffset), callFrameRegister, regT1);707 JumpList stackOverflow;708 if (UNLIKELY(maxFrameSize > Options::reservedZoneSize()))709 stackOverflow.append(branchPtr(Above, regT1, callFrameRegister));710 stackOverflow.append(branchPtr(Above, AbsoluteAddress(m_vm->addressOfSoftStackLimit()), regT1));711 712 move(regT1, stackPointerRegister);713 checkStackPointerAlignment();714 if (Options::zeroStackFrame())715 clearStackFrame(callFrameRegister, stackPointerRegister, regT0, maxFrameSize);716 717 emitSaveCalleeSaves();718 emitMaterializeTagCheckRegisters();719 719 720 720 RELEASE_ASSERT(!JITCode::isJIT(m_codeBlock->jitType()));
Note:
See TracChangeset
for help on using the changeset viewer.