summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSolly Ross <sross@redhat.com>2015-12-22 15:42:09 -0500
committerSolly Ross <sross@redhat.com>2015-12-22 15:42:09 -0500
commita842140b51bb178bf22f7c3b648d718cc4f83dad (patch)
treebd5955bd66acf813a57fb9a7149cc8be53c7de04
parent8eedab379f87d42222a204f11a6ec66f7583e0bd (diff)
downloadnovnc-bug/gc-spikes.tar.gz
[WIP] Tweak Pako to reduce object creationbug/gc-spikes
This commit tweaks pako slightly to reduce the number of objects it creates unecessarily.
-rw-r--r--docs/notes1
-rw-r--r--include/inflator.js10
2 files changed, 6 insertions, 5 deletions
diff --git a/docs/notes b/docs/notes
index 036cd51..e886b7a 100644
--- a/docs/notes
+++ b/docs/notes
@@ -3,3 +3,4 @@ Rebuilding inflator.js
- Download pako from npm
- Install browserify using npm
- browserify utils/inflator.partial.js -o include/inflator.js -s inflator
+- apply changes from utils/inflator.diff.js to include/inflator.js
diff --git a/include/inflator.js b/include/inflator.js
index 48ede20..d964ac5 100644
--- a/include/inflator.js
+++ b/include/inflator.js
@@ -889,7 +889,7 @@ function inflate(strm, flush) {
var len; /* length to copy for repeats, bits to drop */
var ret; /* return code */
var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */
- var opts;
+ var opts = {};
var n; // temporary var for NEED_BITS
@@ -1425,7 +1425,7 @@ function inflate(strm, flush) {
state.lencode = state.lendyn;
state.lenbits = 7;
- opts = {bits: state.lenbits};
+ opts.bits = state.lenbits;
ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);
state.lenbits = opts.bits;
@@ -1556,7 +1556,7 @@ function inflate(strm, flush) {
concerning the ENOUGH constants, which depend on those values */
state.lenbits = 9;
- opts = {bits: state.lenbits};
+ opts.bits = state.lenbits;
ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);
// We have separate tables & no pointers. 2 commented lines below not needed.
// state.next_index = opts.table_index;
@@ -1573,7 +1573,7 @@ function inflate(strm, flush) {
//state.distcode.copy(state.codes);
// Switch to use dynamic table
state.distcode = state.distdyn;
- opts = {bits: state.distbits};
+ opts.bits = state.distbits;
ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);
// We have separate tables & no pointers. 2 commented lines below not needed.
// state.next_index = opts.table_index;
@@ -2415,4 +2415,4 @@ Inflate.prototype = {
module.exports = {Inflate: Inflate};
},{"../node_modules/pako/lib/zlib/inflate.js":5,"../node_modules/pako/lib/zlib/zstream.js":7}]},{},[8])(8)
-}); \ No newline at end of file
+});