From c329fa7ce0f210ab650ed4c930d3da7e1f8ae33f Mon Sep 17 00:00:00 2001 From: kobalicek Date: Thu, 24 Jun 2021 23:51:48 +0200 Subject: [PATCH] [Bug] Don't emit useless 'sub esp, 0' after calling a void function (Compiler) --- src/asmjit/x86/x86rapass.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/asmjit/x86/x86rapass.cpp b/src/asmjit/x86/x86rapass.cpp index 23cfd65..8fa1c6c 100644 --- a/src/asmjit/x86/x86rapass.cpp +++ b/src/asmjit/x86/x86rapass.cpp @@ -516,7 +516,7 @@ Error RACFGBuilder::onBeforeInvoke(InvokeNode* invokeNode) noexcept { } cc()->_setCursor(invokeNode); - if (fd.hasFlag(CallConv::kFlagCalleePopsStack)) + if (fd.hasFlag(CallConv::kFlagCalleePopsStack) && fd.argStackSize() != 0) ASMJIT_PROPAGATE(cc()->sub(cc()->zsp(), fd.argStackSize())); if (fd.hasRet()) {