fix: preserve high template expression registers

This commit is contained in:
爱特每羊队
2026-08-11 17:17:30 +08:00
parent e049a8df5d
commit 67c6d3a53a
4 changed files with 57 additions and 10 deletions
+2 -2
View File
@@ -199,8 +199,8 @@ impl Vm {
let seg = self.bytecode[self.pc];
self.pc += 1;
if (seg >> 31) == 1 {
let reg = (seg & 0x7F) as u8;
let val = self.regs[reg as usize];
let reg = (seg & 0x7FFF_FFFF) as usize;
let val = self.regs[reg];
let s = if val.is_string() {
// SAFETY: val 是字符串值。
unsafe { (*val.as_string_ptr()).data.clone() }