diff --git a/src/core/murmurhash3.js b/src/core/murmurhash3.js index aa7421fc2..6346cab9f 100644 --- a/src/core/murmurhash3.js +++ b/src/core/murmurhash3.js @@ -34,9 +34,19 @@ var MurmurHash3_64 = (function MurmurHash3_64Closure (seed) { this.h2 = seed ? seed & 0xffffffff : SEED; } + var alwaysUseUint32ArrayView = false; +//#if !(FIREFOX || MOZCENTRAL || B2G || CHROME) + // old webkits have issues with non-aligned arrays + try { + new Uint32Array(new Uint8Array(5).buffer, 0, 1); + } catch (e) { + alwaysUseUint32ArrayView = true; + } +//#endif + MurmurHash3_64.prototype = { update: function MurmurHash3_64_update(input) { - var useUint32ArrayView = false; + var useUint32ArrayView = alwaysUseUint32ArrayView; var i; if (typeof input == 'string') { var data = new Uint8Array(input.length * 2);