April 1, 2026
12:32 p.m.
Skip the expensive VariantChangeType call in stack_pop_bool when the variant is already VT_BOOL, which is the common case after comparison operators (OP_gt, OP_lt, OP_equal, etc.). Every If, ElseIf, While, and Do-While condition goes through jmp_false/jmp_true which calls stack_pop_bool, so this eliminates a redundant VT_BOOL-to-VT_BOOL conversion on every branch. This closed the If-condition gap from 1.5–2.1× slower than Windows down to 1.0–1.7× slower, with pure boolean tests reaching parity. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10536