From: Brendan Hansen Date: Wed, 11 Jan 2023 21:24:40 +0000 (-0600) Subject: made the copy instruction much faster X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=0a2ce459dec3bb0f792ca8dbc341c8480dd1f770;p=onyx.git made the copy instruction much faster --- diff --git a/interpreter/src/vm/vm_instrs.h b/interpreter/src/vm/vm_instrs.h index 08dd165c..4134b73e 100644 --- a/interpreter/src/vm/vm_instrs.h +++ b/interpreter/src/vm/vm_instrs.h @@ -222,7 +222,11 @@ OVMI_INSTR_EXEC(copy) { if (!dest || !src) OVMI_EXCEPTION_HOOK; - memmove(&memory[dest], &memory[src], count); + if (src + count > dest) { + memmove(&memory[dest], &memory[src], count); + } else { + memcpy(&memory[dest], &memory[src], count); + } NEXT_OP; } diff --git a/shared/lib/linux_x86_64/lib/libovmwasm.so b/shared/lib/linux_x86_64/lib/libovmwasm.so index 9368eae7..5c3fa5e1 100755 Binary files a/shared/lib/linux_x86_64/lib/libovmwasm.so and b/shared/lib/linux_x86_64/lib/libovmwasm.so differ