To ensure the correct order of calling ForMerge methods,
call flush always before touching maMarkStack.
This was the missing piece in optimizing write() methods,
because of writeBytes() checking each time what to call.
E.g. for Calc documents we don't use maMarkStack at all.
So, just transfer the output to proper "ForMerge" when inside mark()
and allow optimizations.
This commit makes write() methods almost 1/3 as fast.
Change-Id: I96c13888206c81f87e29b998839f78ea9d5570af
Well, at least the allocated space is fixed size.
When passing that to XOutputStream, change the size in a hacky way.
Change-Id: I24fa134286e3086beda25c9a6915549e7c69119a
This makes writeBytes(), which is called a lot, simpler and thus faster.
E.g. for ~15m calls, this saves ~110m pcycles.
Change-Id: I29d01a1a8651f668aff574e0f015cd2f018eb1cd