From 4d8bf848f14de94babeef0fcf333c0b92a6e4173 Mon Sep 17 00:00:00 2001 From: Youssef Makboul Date: Wed, 27 Nov 2024 12:24:48 -0500 Subject: [PATCH] use static regs --- lib/liquid/block_body.rb | 11 ++++++----- lib/liquid/tags/assign.rb | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/liquid/block_body.rb b/lib/liquid/block_body.rb index 80c33450..1ed0c7f3 100644 --- a/lib/liquid/block_body.rb +++ b/lib/liquid/block_body.rb @@ -218,8 +218,8 @@ module Liquid def render_to_output_buffer(context, output) freeze unless frozen? - context.registers[:render_scores] ||= [] - context.registers[:render_scores] << @nodelist.length + context.registers.static[:render_scores] ||= [] + context.registers.static[:render_scores] << @nodelist.length context.resource_limits.increment_render_score(@nodelist.length) @@ -236,10 +236,11 @@ module Liquid end idx += 1 - context.registers[:write_scores] ||= [] + context.registers.static[:write_scores] ||= [] - last_captured = context.registers[:write_scores].any? ? context.registers[:write_scores].last : 0 - context.registers[:write_scores] << (output.bytesize - last_captured) + # THIS ISNT ACTUALLY A LIST OF NET OUTPUTS + last_captured = context.registers.static[:write_scores].any? ? context.registers.static[:write_scores].last : 0 + context.registers.static[:write_scores] << (output.bytesize - last_captured) context.resource_limits.increment_write_score(output) end diff --git a/lib/liquid/tags/assign.rb b/lib/liquid/tags/assign.rb index ad978e30..f754ad49 100644 --- a/lib/liquid/tags/assign.rb +++ b/lib/liquid/tags/assign.rb @@ -37,8 +37,8 @@ module Liquid val = @from.render(context) context.scopes.last[@to] = val - context.registers[:assign_scores] ||= [] - context.registers[:assign_scores] << assign_score_of(val) + context.registers.static[:assign_scores] ||= [] + context.registers.static[:assign_scores] << assign_score_of(val) context.resource_limits.increment_assign_score(assign_score_of(val)) output