Browse Source

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

Nicholas Nethercote 11 years ago
parent
commit
64431a9909
  1. 12
      src/core/stream.js

12
src/core/stream.js

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

Loading…
Cancel
Save