From dd18c931740341f651ab41e71e4e67e9ab543ea5 Mon Sep 17 00:00:00 2001 From: Antonio Linares Date: Mon, 21 Jan 2002 12:41:31 +0000 Subject: [PATCH] if() used at HB_P_FUNCTION to avoid a function call when not needed --- harbour/source/vm/hvm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/harbour/source/vm/hvm.c b/harbour/source/vm/hvm.c index 223261beaa..3c9e36946f 100644 --- a/harbour/source/vm/hvm.c +++ b/harbour/source/vm/hvm.c @@ -584,7 +584,9 @@ void HB_EXPORT hb_vmExecute( const BYTE * pCode, PHB_SYMB pSymbols ) break; case HB_P_FUNCTION: - hb_itemClear( &hb_stack.Return ); + if( ( &hb_stack.Return )->type ) + hb_itemClear( &hb_stack.Return ); + hb_vmDo( pCode[ w + 1 ] + ( pCode[ w + 2 ] * 256 ) ); hb_itemCopy( hb_stackTopItem(), &hb_stack.Return ); hb_stackPush(); @@ -4736,4 +4738,4 @@ void HB_EXPORT hb_vmProcessDllSymbols( PHB_SYMB pModuleSymbols, USHORT uiModuleS hb_dynsymNew( ( pModuleSymbols + ui ) ); } } -} +} \ No newline at end of file