diff options
Diffstat (limited to 'src/qml/jit/qv4assembler_p.h')
-rw-r--r-- | src/qml/jit/qv4assembler_p.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/qml/jit/qv4assembler_p.h b/src/qml/jit/qv4assembler_p.h index f28aed6ed1..29e94ea5f0 100644 --- a/src/qml/jit/qv4assembler_p.h +++ b/src/qml/jit/qv4assembler_p.h @@ -354,7 +354,8 @@ public: int frameSize = RegisterSize * calleeSavedRegisterCount; frameSize += savedRegCount * sizeof(QV4::Value); // these get written out as Values, not as native registers - frameSize = WTF::roundUpToMultipleOf(StackAlignment, frameSize + stackSpaceAllocatedOtherwise); + Q_ASSERT(frameSize + stackSpaceAllocatedOtherwise < INT_MAX); + frameSize = static_cast<int>(WTF::roundUpToMultipleOf(StackAlignment, frameSize + stackSpaceAllocatedOtherwise)); frameSize -= stackSpaceAllocatedOtherwise; return frameSize; @@ -962,7 +963,8 @@ public: + StackShadowSpace; if (stackSpaceNeeded) { - stackSpaceNeeded = WTF::roundUpToMultipleOf(StackAlignment, stackSpaceNeeded); + Q_ASSERT(stackSpaceNeeded < (INT_MAX - StackAlignment)); + stackSpaceNeeded = static_cast<int>(WTF::roundUpToMultipleOf(StackAlignment, stackSpaceNeeded)); sub32(TrustedImm32(stackSpaceNeeded), StackPointerRegister); } |