mirror of
https://github.com/google/brotli.git
synced 2024-12-04 15:24:49 +08:00
630b5084ee
* slimmer stack frames in encoder * fix MSAN problem in hasher_composite (not dangerous, only in large_window mode) * fix JNI decoder wrapper - power-of-two payloads fail to decode sometimes * reformat polyfil.js and decode_test.js
74 lines
1.7 KiB
JavaScript
74 lines
1.7 KiB
JavaScript
if (!Int32Array.__proto__.from) {
|
|
Object.defineProperty(Int32Array.__proto__, 'from', {
|
|
value: function(obj) {
|
|
obj = Object(obj);
|
|
if (!obj['length']) {
|
|
return new this(0);
|
|
}
|
|
let typed_array = new this(obj.length);
|
|
for (let i = 0; i < typed_array.length; i++) {
|
|
typed_array[i] = obj[i];
|
|
}
|
|
return typed_array;
|
|
}
|
|
});
|
|
}
|
|
|
|
if (!Array.prototype.copyWithin) {
|
|
Array.prototype.copyWithin = function(target, start, end) {
|
|
let O = Object(this);
|
|
let len = O.length >>> 0;
|
|
let to = target | 0;
|
|
let from = start | 0;
|
|
let count = Math.min(Math.min(end | 0, len) - from, len - to);
|
|
let direction = 1;
|
|
if (from < to && to < (from + count)) {
|
|
direction = -1;
|
|
from += count - 1;
|
|
to += count - 1;
|
|
}
|
|
while (count > 0) {
|
|
O[to] = O[from];
|
|
from += direction;
|
|
to += direction;
|
|
count--;
|
|
}
|
|
return O;
|
|
};
|
|
}
|
|
|
|
if (!Array.prototype.fill) {
|
|
Object.defineProperty(Array.prototype, 'fill', {
|
|
value: function(value, start, end) {
|
|
end = end | 0;
|
|
let O = Object(this);
|
|
let k = start | 0;
|
|
while (k < end) {
|
|
O[k] = value;
|
|
k++;
|
|
}
|
|
return O;
|
|
}
|
|
});
|
|
}
|
|
|
|
if (!Int8Array.prototype.copyWithin) {
|
|
Int8Array.prototype.copyWithin = Array.prototype.copyWithin;
|
|
}
|
|
|
|
if (!Int8Array.prototype.fill) {
|
|
Int8Array.prototype.fill = Array.prototype.fill;
|
|
}
|
|
|
|
if (!Int32Array.prototype.fill) {
|
|
Int32Array.prototype.fill = Array.prototype.fill;
|
|
}
|
|
|
|
if (!Int8Array.prototype.slice) {
|
|
Object.defineProperty(Int8Array.prototype, 'slice', {
|
|
value: function(begin, end) {
|
|
return new Int8Array(Array.prototype.slice.call(this, begin, end));
|
|
}
|
|
});
|
|
}
|