remove context_overflow

pull/4095/head
Tan Li Hau 6 years ago
parent daf80e3a82
commit 977b183d0c

@ -26,7 +26,6 @@ export default class Renderer {
context: ContextMember[] = [];
context_lookup: Map<string, ContextMember> = new Map();
context_overflow: boolean;
blocks: Array<Block | Node | Node[]> = [];
readonly: Set<string> = new Set();
meta_bindings: Array<Node | Node[]> = []; // initial values for e.g. window.innerWidth, if there's a <svelte:window> meta tag
@ -97,8 +96,6 @@ export default class Renderer {
this.fragment.render(this.block, null, x`#nodes` as Identifier);
this.context_overflow = this.context.length > 31;
this.context.forEach(member => {
const { variable } = member;
if (variable) {
@ -240,16 +237,12 @@ export default class Renderer {
return x`${dirty} & /*${names.join(', ')}*/ 0` as BinaryExpression;
}
if (renderer.context_overflow) {
return bitmask
.map((b, i) => ({ b, i }))
.filter(({ b }) => b)
.map(({ b, i }) => x`${dirty}[${i}] & /*${b.names.join(', ')}*/ ${b.n}`)
.reduce((lhs, rhs) => x`${lhs} | ${rhs}`);
}
return x`${dirty}[0] & /*${names.join(', ')}*/ ${bitmask[0].n}` as BinaryExpression;
}
} as any;
}

@ -429,7 +429,7 @@ export default function dom(
}` as ObjectExpression;
let dirty;
if (renderer.context_overflow) {
if (renderer.context.length > 31) {
dirty = x`[]`;
for (let i = 0; i < renderer.context.length; i += 31) {
dirty.elements.push(x`-1`);

Loading…
Cancel
Save