/// have constant pools, the can only use the other emitByte*/emitWord*
/// methods.
///
- virtual void startFunctionStub(unsigned StubSize) = 0;
+ virtual void startFunctionStub(unsigned StubSize, unsigned Alignment = 1) = 0;
/// finishFunctionStub - This callback is invoked to terminate a function
/// stub.
if (Alignment == 0) Alignment = 1;
// Move the current buffer ptr up to the specified alignment.
CurBufferPtr =
- (unsigned char*)(((intptr_t)CurBufferPtr+Alignment-1) & ~(Alignment-1));
+ (unsigned char*)(((intptr_t)CurBufferPtr+Alignment-1) &
+ ~(intptr_t)(Alignment-1));
if (CurBufferPtr > BufferEnd)
CurBufferPtr = BufferEnd;
}