In AssemblerBufferWithConstantPool the initial/maximum length of instruction stream (m_maxDistance) was set by the constructor and the flushConstantPool, but the m_maxDistance was decreased by all put functions. Although there is no problem when the m_maxDistance is a negative value while the number of constant is zero. If a constant is placed onto the pool while the m_maxDistance is negative, the flushConstantPool will be invoked. This is not correct. The m_maxDistance should be set when the first constant arrives. It can lead to an error. If an uninterrupted sequence comes after m_maxDistance is negative and number of constant is zero, the pool will be placed into the sequence. I am going to upload a fix for this.
Created attachment 58133 [details] Fix the length of instruction stream controlled by constant pool
Committed revision 61745.