这是一个快速错误修复版本,包含对 Darwin 后端、Stalker 和 Compiler 的修复:

  • darwin:在强制执行调试器映射时,确保新分配的代码页包含在页计划中。这修复了较新 Apple 设备上 iOS 26+ 中的 Interceptor 和 Memory.patchCode:在这些设备上,即使是新分配的可执行页,也需要页计划才能在执行时满足代码签名检查。感谢 @mrmacete 提供修复。
  • stalker-x86:避免在 Windows 7 WoW64 上保存和恢复 AVX2 YMM 的高半部分。从 Stalker 的 JIT 代码执行此操作可能损坏 wow64cpu 状态,使下一次系统调用在 wow64cpu!CpupReturnFromSimulatedCode 中崩溃。由于 fxsave 已覆盖低 128 位,且 x86 Windows ABI 不会在调用之间保留 YMM 的高半部分,我们现在会在 NT 6.1 WoW64 上跳过此操作。感谢 @fitblip 提供修复。
  • compiler:修复使用 Go/cgo 后端时的 Windows 崩溃。我们原先用 mingw 的 CRT 分配回调字符串,却让 Vala 端使用 MSVC 的 UCRT 释放它们,这意味着涉及不同的堆,Windows 很合理地以 STATUS_HEAP_CORRUPTION 紧急刹车。这些字符串现在会在回调返回后由 Go 端释放,Vala 端则将其视为非所有,并在需要时复制。