1.1 --- a/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js Thu Jan 31 13:59:34 2013 +0100
1.2 +++ b/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js Thu Jan 31 14:45:11 2013 +0100
1.3 @@ -102,13 +102,15 @@
1.4 };
1.5
1.6 Number.prototype.shr64 = function(x) {
1.7 - if (x > 32) {
1.8 - var low = (this.high32() >> (x - 32)) & 0xFFFFFFFF;
1.9 + if (x >= 32) {
1.10 + var low = (this.high32() >> (x - 32)) | 0;
1.11 + low += (low < 0) ? (__m32+1) : 0;
1.12 return low;
1.13 } else {
1.14 - var low = (this >> x) & 0xFFFFFFFF;
1.15 - var hi_reminder = (this.high32() << (32 - x)) >> (32 - x);
1.16 + var low = (this >> x) | 0;
1.17 + var hi_reminder = this.high32() << (32 - x);
1.18 low |= hi_reminder;
1.19 + low += (low < 0) ? (__m32+1) : 0;
1.20 var hi = this.high32() >> x;
1.21 return hi.next32(low);
1.22 }