@@ -12,21 +12,16 @@ function string(mem, pointer, length) {
12const OP_TABLE = [
12const OP_TABLE = [
14 function setText(changeList, mem8, mem32, i) {
14 function setText(changeList, mem8, mem32, i) {
15− // console.log("setText");
16 const pointer = mem32[i++];
15 const pointer = mem32[i++];
17 const length = mem32[i++];
16 const length = mem32[i++];
18 const str = string(mem8, pointer, length);
17 const str = string(mem8, pointer, length);
19− // console.log(" str =", str);
20− // console.log(" top(changeList.stack) =", top(changeList.stack));
21 top(changeList.stack).textContent = str;
18 top(changeList.stack).textContent = str;
26 function removeSelfAndNextSiblings(changeList, mem8, mem32, i) {
23 function removeSelfAndNextSiblings(changeList, mem8, mem32, i) {
27− // console.log("removeSelfAndNextSiblings");
28 const node = changeList.stack.pop();
24 const node = changeList.stack.pop();
29− // console.log(" top(changeList.stack) =", node);
30 let sibling = node.nextSibling;
25 let sibling = node.nextSibling;
31 while (sibling) {
26 while (sibling) {
32 const temp = sibling.nextSibling;
27 const temp = sibling.nextSibling;
@@ -39,11 +34,8 @@ const OP_TABLE = [
41 function replaceWith(changeList, mem8, mem32, i) {
36 function replaceWith(changeList, mem8, mem32, i) {
42− // console.log("replaceWith");
43 const newNode = changeList.stack.pop();
37 const newNode = changeList.stack.pop();
44− // console.log(" newNode =", newNode);
45 const oldNode = changeList.stack.pop();
38 const oldNode = changeList.stack.pop();
46− // console.log(" oldNode =", oldNode);
47 oldNode.replaceWith(newNode);
39 oldNode.replaceWith(newNode);
48 changeList.stack.push(newNode);
40 changeList.stack.push(newNode);
@@ -51,43 +43,33 @@ const OP_TABLE = [
53 function setAttribute(changeList, mem8, mem32, i) {
45 function setAttribute(changeList, mem8, mem32, i) {
54− // console.log("setAttribute");
55 const pointer1 = mem32[i++];
46 const pointer1 = mem32[i++];
56 const length1 = mem32[i++];
47 const length1 = mem32[i++];
57 const name = string(mem8, pointer1, length1);
48 const name = string(mem8, pointer1, length1);
58− // console.log(" name =", name);
59 const pointer2 = mem32[i++];
49 const pointer2 = mem32[i++];
60 const length2 = mem32[i++];
50 const length2 = mem32[i++];
61 const value = string(mem8, pointer2, length2);
51 const value = string(mem8, pointer2, length2);
62− // console.log(" value =", value);
63− // console.log(" top(changeList.stack) =", top(changeList.stack));
64 top(changeList.stack).setAttribute(name, value);
52 top(changeList.stack).setAttribute(name, value);
69 function removeAttribute(changeList, mem8, mem32, i) {
57 function removeAttribute(changeList, mem8, mem32, i) {
70− // console.log("removeAttribute");
71 const pointer = mem32[i++];
58 const pointer = mem32[i++];
72 const length = mem32[i++];
59 const length = mem32[i++];
73 const name = string(mem8, pointer, length);
60 const name = string(mem8, pointer, length);
74− // console.log(" name =", name);
75 top(changeList.stack).removeAttribute(name);
61 top(changeList.stack).removeAttribute(name);
80 function pushFirstChild(changeList, mem8, mem32, i) {
66 function pushFirstChild(changeList, mem8, mem32, i) {
81− // console.log("pushFirstChild");
82− // console.log(" top(changeList.stack) =", top(changeList.stack));
83 changeList.stack.push(top(changeList.stack).firstChild);
67 changeList.stack.push(top(changeList.stack).firstChild);
88 function popPushNextSibling(changeList, mem8, mem32, i) {
72 function popPushNextSibling(changeList, mem8, mem32, i) {
89− // console.log("popPushNextSibling");
90− // console.log(" top(changeList.stack) =", top(changeList.stack));
91 const node = changeList.stack.pop();
73 const node = changeList.stack.pop();
92 changeList.stack.push(node.nextSibling);
74 changeList.stack.push(node.nextSibling);
@@ -95,16 +77,12 @@ const OP_TABLE = [
97 function pop(changeList, mem8, mem32, i) {
79 function pop(changeList, mem8, mem32, i) {
98− // console.log("pop");
99− // console.log(" top(changeList.stack) =", top(changeList.stack));
100 changeList.stack.pop();
80 changeList.stack.pop();
101 return i;
81 return i;
105 function appendChild(changeList, mem8, mem32, i) {
85 function appendChild(changeList, mem8, mem32, i) {
106− // console.log("appendChild");
107− // console.log(" top(changeList.stack) =", top(changeList.stack));
108 const child = changeList.stack.pop();
86 const child = changeList.stack.pop();
109 top(changeList.stack).appendChild(child);
87 top(changeList.stack).appendChild(child);
110 return i;
88 return i;
@@ -112,24 +90,18 @@ const OP_TABLE = [
114 function createTextNode(changeList, mem8, mem32, i) {
92 function createTextNode(changeList, mem8, mem32, i) {
115− // console.log("appendChild");
116 const pointer = mem32[i++];
93 const pointer = mem32[i++];
117 const length = mem32[i++];
94 const length = mem32[i++];
118 const text = string(mem8, pointer, length);
95 const text = string(mem8, pointer, length);
119− // console.log(" text =", text);
120− // console.log(" top(changeList.stack) =", top(changeList.stack));
121 changeList.stack.push(document.createTextNode(text));
96 changeList.stack.push(document.createTextNode(text));
122 return i;
97 return i;
126 function createElement(changeList, mem8, mem32, i) {
101 function createElement(changeList, mem8, mem32, i) {
127− // console.log("createElement");
128 const pointer = mem32[i++];
102 const pointer = mem32[i++];
129 const length = mem32[i++];
103 const length = mem32[i++];
130 const tagName = string(mem8, pointer, length);
104 const tagName = string(mem8, pointer, length);
131− // console.log(" tagName =", tagName);
132− // console.log(" top(changeList.stack) =", top(changeList.stack));
133 changeList.stack.push(document.createElement(tagName));
105 changeList.stack.push(document.createElement(tagName));
134 return i;
106 return i;
@@ -224,7 +196,6 @@ class ChangeList {
226 applyChanges(memory) {
198 applyChanges(memory) {
227− // console.log("======== ChangeList.prototype.applyChanges ==============================");
228 if (this.ranges.length == 0) {
199 if (this.ranges.length == 0) {
@@ -247,9 +218,6 @@ class ChangeList {
247 const end = (start + len) / 4;
218 const end = (start + len) / 4;
248 for (let i = start / 4; i < end; ) {
219 for (let i = start / 4; i < end; ) {
249 const op = mem32[i++];
220 const op = mem32[i++];
251− // console.log(OP_TABLE[op].name);
252− // console.log(this.stack);
253 i = OP_TABLE[op](this, mem8, mem32, i);
221 i = OP_TABLE[op](this, mem8, mem32, i);