[Spice-devel] [6/ ]quic javascript code cleanups

Aric Stewart aric at codeweavers.com
Mon Sep 24 08:50:08 PDT 2012


check with strict but do not enable it.

Signed-off-by: Aric Stewart <aric at codeweavers.com>
---
 quic.js |  101 ++++++++++++++++++++++++++------------------------------------
 1 files changed, 42 insertions(+), 59 deletions(-)

diff --git a/quic.js b/quic.js
index 15d2dbf..699820f 100644
--- a/quic.js
+++ b/quic.js
@@ -1,3 +1,5 @@
+/*"use strict";*/
+/* use strict is commented out because it results in a 5x slowdone in chrome */
 /*
  *    Copyright (C) 2012 by Jeremy P. White <jwhite at codeweavers.com>
  *    Copyright (C) 2012 by Aric Stewart <aric at codeweavers.com>
@@ -188,7 +190,6 @@ function family_init(family, bpc, limit)
 
 function quic_image_bpc(type)
 {
-    var bpc;
     switch (type) {
     case QUIC_IMAGE_TYPE_GRAY:
         return 8;
@@ -224,20 +225,17 @@ function golomb_decoding_8bpc(l, bits)
 {
     var rc;
     var cwlen;
-    var usBits = bits;
 
     if (bits < 0 || bits > family_8bpc.notGRprefixmask[l])
     {
         var zeroprefix = cnt_l_zeroes(bits);
         cwlen = zeroprefix + 1 + l;
-        var cwm = 32 - cwlen;
-        rc = (zeroprefix << l) | (bits >> cwm) & bppmask[l];
+        rc = (zeroprefix << l) | (bits >> (32-cwlen)) & bppmask[l];
     }
     else
     {
         cwlen = family_8bpc.notGRcwlen[l];
-        var cwm = 32 - cwlen;
-        rc = family_8bpc.nGRcodewords[l] + ((bits >> cwm) & bppmask[family_8bpc.notGRsuffixlen[l]]);
+        rc = family_8bpc.nGRcodewords[l] + ((bits >> (32-cwlen)) & bppmask[family_8bpc.notGRsuffixlen[l]]);
     }
     return {'codewordlen':cwlen, 'rc':rc};
 }
@@ -253,44 +251,42 @@ function golomb_code_len_8bpc(n, l)
 
 function QuicModel(bpc)
 {
-    var bsize;
     var bstart;
     var bend = 0;
-    var repcntr;
 
     this.levels = 0x1 << bpc;
     this.n_buckets_ptrs = 0;
 
     switch (evol) {
-    case 1:
-        this.repfirst = 3;
-        this.firstsize = 1;
-        this.repnext = 2;
-        this.mulsize = 2;
-        break;
-    case 3:
-        this.repfirst = 1;
-        this.firstsize = 1;
-        this.repnext = 1;
-        this.mulsize = 2;
-        break;
-    case 5:
-        this.repfirst = 1;
-        this.firstsize = 1;
-        this.repnext = 1;
-        this.mulsize = 4;
-        break;
-    case 0:
-    case 2:
-    case 4:
-        console.log("quic: findmodelparams(): evol value obsolete!!!\n");
-    default:
-        console.log("quic: findmodelparams(): evol out of range!!!\n");
+        case 1:
+            this.repfirst = 3;
+            this.firstsize = 1;
+            this.repnext = 2;
+            this.mulsize = 2;
+            break;
+        case 3:
+            this.repfirst = 1;
+            this.firstsize = 1;
+            this.repnext = 1;
+            this.mulsize = 2;
+            break;
+        case 5:
+            this.repfirst = 1;
+            this.firstsize = 1;
+            this.repnext = 1;
+            this.mulsize = 4;
+            break;
+        case 0:
+        case 2:
+        case 4:
+            console.log("quic: findmodelparams(): evol value obsolete!!!\n");
+        default:
+            console.log("quic: findmodelparams(): evol out of range!!!\n");
     }
 
     this.n_buckets = 0;
-    repcntr = this.repfirst + 1;
-    bsize = this.firstsize;
+    var repcntr = this.repfirst + 1;
+    var bsize = this.firstsize;
 
     do {
         if (this.n_buckets) {
@@ -311,7 +307,6 @@ function QuicModel(bpc)
 
         if (!this.n_buckets_ptrs) {
             this.n_buckets_ptrs = this.levels;
-
         }
 
         (this.n_buckets)++;
@@ -345,11 +340,9 @@ QuicBucket.prototype = {
     update_model_8bpc : function (state, curval, bpp)
     {
         var i;
-        var bestcode;
-        var bestcodelen;
 
-        bestcode = bpp - 1;
-        bestcodelen = (this.counters[bestcode] += golomb_code_len_8bpc(curval, bestcode));
+        var bestcode = bpp - 1;
+        var bestcodelen = (this.counters[bestcode] += golomb_code_len_8bpc(curval, bestcode));
 
         for (i = bpp - 2; i >= 0; i--) {
             var ithcodelen = (this.counters[i] += golomb_code_len_8bpc(curval, i));
@@ -380,12 +373,12 @@ QuicFamilyStat.prototype = {
 
     fill_model_structures : function(model)
     {
-        var bsize, bstart, repcntr;
+        var bstart;
         var bend = 0;
         var bnumber = 0;
 
-        repcntr = model.repfirst + 1;
-        bsize = model.firstsize;
+        var repcntr = model.repfirst + 1;
+        var bsize = model.firstsize;
 
         do {
             if (bnumber) {
@@ -438,15 +431,14 @@ QuicChannel.prototype = {
 
     reste : function (bpc)
     {
+        var j;
         this.correlate_row = { zero: 0 , row: []};
 
         if (bpc == 8) {
-            var j;
             for (j = 0; j < this.model_8bpc.n_buckets; j++)
                 this.family_stat_8bpc.buckets_buf[j].reste(7);
             this.buckets_ptrs = this.family_stat_8bpc.buckets_ptrs;
         } else if (bpc == 5) {
-            var j;
             for (j = 0; j < this.model_5bpc.n_buckets; j++)
                 this.family_stat_8bpc.buckets_buf[j].reste(4);
             this.buckets_ptrs = this.family_stat_5bpc.buckets_ptrs;
@@ -639,10 +631,9 @@ QuicEncoder.prototype.quic_rgb32_uncompress_row0_seg = function (i, cur_row, end
     var stopidx;
     var n_channels = 3;
     var c;
+    var a;
 
     if (!i) {
-        var a;
-
         cur_row[rgb32_pixel_pad] = 0;
         c = 0;
         do
@@ -670,8 +661,6 @@ QuicEncoder.prototype.quic_rgb32_uncompress_row0_seg = function (i, cur_row, end
 
     while (stopidx < end) {
         for (; i <= stopidx; i++) {
-            var a;
-
             cur_row[(i* rgb32_pixel_size)+rgb32_pixel_pad] = 0;
             c = 0;
             do
@@ -691,8 +680,6 @@ QuicEncoder.prototype.quic_rgb32_uncompress_row0_seg = function (i, cur_row, end
     }
 
     for (; i < end; i++) {
-        var a;
-
         cur_row[(i* rgb32_pixel_size)+rgb32_pixel_pad] = 0;
         c = 0;
         do
@@ -911,15 +898,13 @@ QuicEncoder.prototype.decode_run = function()
             break;
         }
         this.decode_eatbits(8);
-    } while (1);
-
+    } while (true);
 
     if (this.rgb_state.melclen) {
         runlen += this.io_word >>> (32 - this.rgb_state.melclen);
         this.decode_eatbits(this.rgb_state.melclen);
     }
 
-
     if (this.rgb_state.melcstate) {
         this.rgb_state.melclen = J[--this.rgb_state.melcstate];
         this.rgb_state.melcorder = (1 << this.rgb_state.melclen);
@@ -961,8 +946,6 @@ QuicEncoder.prototype.quic_rgb32_uncompress_row = function (prev_row, cur_row)
 QuicEncoder.prototype.quic_decode = function(buf, stride)
 {
     var row;
-    var prev;
-    var cur = buf;
 
     switch (this.type)
     {
@@ -971,17 +954,17 @@ QuicEncoder.prototype.quic_decode = function(buf, stride)
             this.channels[0].correlate_row.zero = 0;
             this.channels[1].correlate_row.zero = 0;
             this.channels[2].correlate_row.zero = 0;
-            this.quic_rgb32_uncompress_row0(cur);
+            this.quic_rgb32_uncompress_row0(buf);
 
             this.rows_completed++;
             for (row = 1; row < this.height; row++)
             {
-                prev = cur;
-                cur = prev.subarray(stride);
+                var prev = buf;
+                buf = prev.subarray(stride);
                 this.channels[0].correlate_row.zero = this.channels[0].correlate_row.row[0];
                 this.channels[1].correlate_row.zero = this.channels[1].correlate_row.row[0];
                 this.channels[2].correlate_row.zero = this.channels[2].correlate_row.row[0];
-                this.quic_rgb32_uncompress_row(prev, cur);
+                this.quic_rgb32_uncompress_row(prev, buf);
                 this.rows_completed++;
             };
             break;
-- 
1.7.7.5 (Apple Git-26)




More information about the Spice-devel mailing list