SQChar* SQSharedState::GetScratchPad(SQInteger size) { SQInteger newsize; if(size>0) { if(_scratchpadsize < size) { newsize = size + (size>>1); _scratchpad = (SQChar *)SQ_REALLOC(_scratchpad,_scratchpadsize,newsize); _scratchpadsize = newsize; }else if(_scratchpadsize >= (size<<5)) {
SQChar* SQSharedState::GetScratchPad(SQInteger size) { ScratchPad& pad = _scratchpads[_scratchpadindex]; SQInteger newsize; if(size>0) { if(pad.size < size) { newsize = size + (size>>1); pad.buf = (SQChar *)SQ_REALLOC(pad.buf, pad.size, newsize); pad.size = newsize; }else if(pad.size >= (size<<5)) {
c->_prev = NULL; } #endif SQChar* SQSharedState::GetScratchPad(SQInteger size) { SQInteger newsize; if(size>0) { if(_scratchpadsize < size) { newsize = size + (size>>1); _scratchpad = (SQChar *)SQ_REALLOC(_scratchpad,_scratchpadsize,newsize); _scratchpadsize = newsize; }else if(_scratchpadsize >= (size<<5)) { newsize = _scratchpadsize >> 1; _scratchpad = (SQChar *)SQ_REALLOC(_scratchpad,_scratchpadsize,newsize); _scratchpadsize = newsize; } } return _scratchpad; } RefTable::RefTable() { AllocNodes(4); } void RefTable::Finalize() { RefNode *nodes = _nodes; for(SQUnsignedInteger n = 0; n < _numofslots; n++) {
#endif SQChar* SQSharedState::GetScratchPad(SQInteger size) { ScratchPad& pad = _scratchpads[_scratchpadindex]; SQInteger newsize; if(size>0) { if(pad.size < size) { newsize = size + (size>>1); pad.buf = (SQChar *)SQ_REALLOC(pad.buf, pad.size, newsize); pad.size = newsize; }else if(pad.size >= (size<<5)) { newsize = pad.size >> 1; pad.buf = (SQChar *)SQ_REALLOC(pad.buf, pad.size, newsize); pad.size = newsize; } } return pad.buf; } void SQSharedState::PushScratchPad() { if (++_scratchpadindex == _scratchpads.size()) { ScratchPad pad; pad.buf = NULL; pad.size = 0; _scratchpads.push_back(pad);