Commit 08698c81e for llama.cpp
commit 08698c81ed1053b7be1ade00d1e127daf1ae9ba3
Author: William Tan <1284324+Ninja3047@users.noreply.github.com>
Date: Thu Oct 15 05:00:57 2026 -0400
jinja : improve context copy constructor performance (#30562)
Assisted-by: Codex
diff --git a/common/jinja/runtime.h b/common/jinja/runtime.h
index bbd0c5cae..c01902a1a 100644
--- a/common/jinja/runtime.h
+++ b/common/jinja/runtime.h
@@ -74,16 +74,12 @@ struct context {
}
~context() = default;
- context(const context & parent) : context() {
+ context(const context & parent) :
+ src(parent.src),
+ current_time(parent.current_time),
+ is_get_stats(parent.is_get_stats),
// inherit variables (for example, when entering a new scope)
- auto & pvar = parent.env->as_ordered_object();
- for (const auto & pair : pvar) {
- set_val(pair.first, pair.second);
- }
- current_time = parent.current_time;
- is_get_stats = parent.is_get_stats;
- src = parent.src;
- }
+ env(mk_val<value_object>(*parent.env)) {}
value get_val(const std::string & name) {
value default_val = mk_val<value_undefined>(name);