From 1f33d683dc14edb9b555d52b97bc75045c1bf0d7 Mon Sep 17 00:00:00 2001 From: Antonio Linares Date: Mon, 21 Jan 2002 12:10:28 +0000 Subject: [PATCH] Improved hb_vmMessage() for execution speed --- harbour/source/vm/hvm.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/harbour/source/vm/hvm.c b/harbour/source/vm/hvm.c index 4835ec8cdb..223261beaa 100644 --- a/harbour/source/vm/hvm.c +++ b/harbour/source/vm/hvm.c @@ -2760,13 +2760,15 @@ static void hb_vmArrayNew( HB_ITEM_PTR pArray, USHORT uiDimension ) void hb_vmMessage( PHB_SYMB pSymMsg ) /* sends a message to an object */ { + PHB_ITEM pItemMsg = hb_stackItemFromTop( -1 ); + HB_TRACE(HB_TR_DEBUG, ("hb_vmMessage(%p, %s)", pSymMsg, pSymMsg->szName)); - hb_itemCopy( hb_stackTopItem(), hb_stackItemFromTop( -1 ) ); /* moves the object forward */ - hb_itemClear( hb_stackItemFromTop( -1 ) ); - ( hb_stackItemFromTop( -1 ) )->type = HB_IT_SYMBOL; - ( hb_stackItemFromTop( -1 ) )->item.asSymbol.value = pSymMsg; - ( hb_stackItemFromTop( -1 ) )->item.asSymbol.stackbase = hb_stackTopOffset() - 1; + hb_itemCopy( hb_stackTopItem(), pItemMsg ); /* moves the object forward */ + hb_itemClear( pItemMsg ); + pItemMsg->type = HB_IT_SYMBOL; + pItemMsg->item.asSymbol.value = pSymMsg; + pItemMsg->item.asSymbol.stackbase = hb_stackTopOffset() - 1; hb_stackPush(); }