Avoid extra allocations in ensureBuffer() caused by an off-by-one error.

This commit is contained in:
Nicholas Nethercote 2014-03-03 17:17:37 -08:00
parent ba95e0b07b
commit 64431a9909

View File

@ -108,9 +108,15 @@ var DecodeStream = (function DecodeStreamClosure() {
DecodeStream.prototype = {
ensureBuffer: function DecodeStream_ensureBuffer(requested) {
var buffer = this.buffer;
var current = buffer ? buffer.byteLength : 0;
if (requested < current)
return buffer;
var current;
if (buffer) {
current = buffer.byteLength;
if (requested <= current) {
return buffer;
}
} else {
current = 0;
}
var size = 512;
while (size < requested)
size <<= 1;