store scores in regs

This commit is contained in:
Youssef Makboul
2024-11-26 14:29:49 -05:00
parent 42b6763546
commit b185421405
2 changed files with 12 additions and 0 deletions
+8
View File
@@ -218,6 +218,9 @@ module Liquid
def render_to_output_buffer(context, output)
freeze unless frozen?
context.registers[:render_scores] ||= []
context.registers[:render_scores] << @nodelist.length
context.resource_limits.increment_render_score(@nodelist.length)
idx = 0
@@ -233,6 +236,11 @@ module Liquid
end
idx += 1
context.registers[:write_scores] ||= []
last_captured = context.registers[:write_scores].any? ? context.registers[:write_scores].last : 0
context.registers[:write_scores] << (output.bytesize - last_captured)
context.resource_limits.increment_write_score(output)
end
+4
View File
@@ -36,6 +36,10 @@ module Liquid
def render_to_output_buffer(context, output)
val = @from.render(context)
context.scopes.last[@to] = val
context.registers[:assign_scores] ||= []
context.registers[:assign_scores] << assign_score_of(val)
context.resource_limits.increment_assign_score(assign_score_of(val))
output
end