Commit Graph

384 Commits

Author SHA1 Message Date
Antonio Linares
4f41fe48b4 hb_stackTopItem() use execution speed optimizations 2002-01-21 16:50:20 +00:00
Antonio Linares
316c60f71c improved hb_vmPushString() for speed execution 2002-01-21 14:32:26 +00:00
Antonio Linares
211423d04b improved hb_vmPushSymbol() for execution speed and some minor fixes 2002-01-21 13:53:28 +00:00
Antonio Linares
84808da032 Improved HB_P_SENDSHORT for execution speed 2002-01-21 13:35:12 +00:00
Antonio Linares
c5bbae5a06 improved HB_P_SEND for execution speed 2002-01-21 13:05:13 +00:00
Antonio Linares
f07384c78b if() used at HB_P_FUNCTIONSHORT to avoid a hb_itemClear() call when not needed 2002-01-21 12:51:04 +00:00
Antonio Linares
dd18c93174 if() used at HB_P_FUNCTION to avoid a function call when not needed 2002-01-21 12:41:31 +00:00
Antonio Linares
1f33d683dc Improved hb_vmMessage() for execution speed 2002-01-21 12:10:28 +00:00
Antonio Linares
8cf53f445c New hb_vmIncDouble() and hb_DecDouble() used from hb_vmInc() and hb_vmDec() 2002-01-21 11:36:21 +00:00
Alexander S.Kresin
bb25145a1c 2002-01-21 10:10 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2002-01-21 07:08:27 +00:00
Andi Jahja
77092c956a Andi Jahja <harbour@cbn.net.id> 2002-01-18 21:50:18 +00:00
Andi Jahja
5a4815d381 Andi Jahja <harbour@cbn.net.id> 2001-12-30 09:48:15 +00:00
Andi Jahja
6ddb9c58d3 Andi Jahja <harbour@cbn.net.id> 2001-12-30 01:32:38 +00:00
Andi Jahja
7f28d184c4 Andi Jahja <harbour@cbn.net.id> 2001-12-28 05:25:37 +00:00
Antonio Linares
025c90c2d8 hb_StartApp() call used 2001-12-22 10:23:00 +00:00
Antonio Linares
d9b14d6431 Some functions declared as HB_EXPORT 2001-12-20 10:49:16 +00:00
Andi Jahja
40794f20fa Andi Jahja <harbour@cbn.net.id> 2001-12-18 12:02:57 +00:00
Viktor Szakats
22763b075b 2001-12-16 12:07 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-12-16 11:12:23 +00:00
Viktor Szakats
351c2418d3 2001-12-15 23:13 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-12-15 22:54:07 +00:00
Viktor Szakats
e1f892788e 2001-12-14 10:17 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-12-14 09:32:52 +00:00
Antonio Linares
1515406b82 hvm support for pcode DLLs 2001-12-13 02:50:16 +00:00
Viktor Szakats
ff8174fb93 2001-12-11 00:02 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-12-10 23:18:13 +00:00
Antonio Linares
9b26e91c26 A minor fix required for Harbour DLLs 2001-12-09 18:44:15 +00:00
Jean-Francois Lefebvre
ce2eb47611 2001-11-26 22:55 GMT+1 JFL (mafact) <jfl@mafact.com> 2001-11-26 21:55:26 +00:00
Jean-Francois Lefebvre
891690234d 2001-11-18 22:15 GMT+1 JFL (mafact) <jfl@mafact.com> 2001-11-18 21:20:09 +00:00
Antonio Linares
49091a7c96 Added new function __VMVARSLEN() 2001-11-16 16:32:00 +00:00
Luiz Rafael Culik
52bfb16e4d See changelog 2001-11-12 21:25 GMT -3 2001-11-12 23:24:38 +00:00
Viktor Szakats
7dbe2926e8 2001-11-04 18:34 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-11-04 17:35:56 +00:00
Viktor Szakats
c5403ec584 2001-11-04 18:14 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-11-04 17:15:04 +00:00
Brian Hays
d2f1655bdb 2001-11-01 05:10 UTC-0800 Brian Hays <bhays@abacuslaw.com> 2001-11-02 01:11:29 +00:00
Jean-Francois Lefebvre
a947b503ce 2001-10-11 23:05 GMT+1 JFL (mafact) <jfl@mafact.com> 2001-10-11 21:04:15 +00:00
Jean-Francois Lefebvre
d5c355a81e 2001-08-20 22:20 GMT +1 JFL (mafact) <jfl@mafact.com> 2001-08-20 20:16:25 +00:00
Jean-Francois Lefebvre
f420483b5f 2001-08-19 23:30 GMT +1 JFL (mafact) <jfl@mafact.com> 2001-08-19 21:24:28 +00:00
Ryszard Glab
f047a9927f ChangeLog 2001-08-17 20:15 UTC+0100 2001-08-17 18:26:37 +00:00
Ron Pinkas
515035d9fe 2001-08-09 17:45 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.c
     * Minor correction to handling of HB_FS_FIRST

   * source/vm/hvm.c
     * Added extern "C" protection to hb_macroAutoSetMacro() declaration.
2001-08-10 00:43:13 +00:00
Ron Pinkas
559b060f97 2001-08-09 02:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/macro.c
   * include/hbcomp.h
   * include/hbexprb.c
   * include/hbexprc.c
   * include/hbmacro.h
   * include/hbmsetup.h
   * include/set.ch
   * source/compiler/cmdcheck.c
   * source/compiler/genc.c
   * source/compiler/harbour.c
   * source/compiler/hbpcode.c
   * source/rdd/dblist.prg
   * source/vm/hvm.c
     - Removed support for syncing of macro setting with main module.
     - Removed support for -ks which is replaced with -kr.
     + Added default logic to auto symchronize all macro activations with the compile time switches of each respective module.
     + Added -kr to disable auto synching, thus allowing Run-Time setting by means of HB_SETMACRO().
2001-08-09 09:48:59 +00:00
Maurilio Longo
3a638fda83 2001-08-08 23:52 GMT+2 Maurilio Longo <maurilio.longo@libero.it>
* include/hbvmpub.h
   * source/vm/classes.c
   * source/vm/hvm.c
   * source/vm/dynsym.c
     ! Fixed profiler counting of time elapsed inside recursive functions. It still has to
       be fixed for methods.
       NOTE: My knowledge of harbour VM is very poor. I hope I didn't break anything else :-))
     ! Fixed a few warnings inside hb_vmDo() and hb_vmSend()
   * source/vm/arrayshb.c
     ! Fixed isalnum() call on line 359, isalnum() requires an int
2001-08-08 21:55:19 +00:00
Ron Pinkas
65c8b39133 2001-08-06 23:50 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.c
     ! Corrected assigment of HB_FS_FIRST scope, for proper execution of first non INIT/EXIT procedure in main module.

   * source/compiler/genc.c
   * source/vm/hvm.c
     ! Improved sync logic of HB_SETMACRO() level, to only activate once per application before any prg level code is executed.
2001-08-07 06:50:36 +00:00
Jean-Francois Lefebvre
842ae2a9c8 2001-07-26 22:50 UTC+1 JFL (mafact) <jfl@mafact.com> 2001-07-26 21:50:52 +00:00
Ron Pinkas
fc7c28a6b3 2001-07-23 04:15 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbexprop.h
     + Added #define  HB_ET_MACRO_PARE    64

   * source/vm/hvm.c
   * source/vm/macro.c
   * source/macro/macro.y
   * include/hbexprb.c
     + Added support for HB_P_MACROPUSHPARE aand HB_P_MACROPUSHINDEX

   * include/hbmacro.h
     + Added #define HB_MACRO_GEN_PARE     16  /* generate parentesized list */

   * source/common/expropt1.c
   * source/common/expropt2.c

   * include/hbpcode.h
   * source/compiler/genc.c
   * source/compiler/hbfix.c
   * source/compiler/hbpcode.c
     + Added new opcode HB_P_MACROPUSHPARE

   /* This should complete macro list support for ( &cMacro ) and aArray[ &cMacro ] syntaxes. */
2001-07-23 11:13:06 +00:00
Ron Pinkas
e2e1eeb028 2001-07-22 14:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     * Changed 2nd parameter to BYTE iContext in hb_macroGetValue( HB_ITEM_PTR pItem, BYTE iContext )

   * include/hbexprop.h
     + Added #define  HB_ET_MACRO_LIST    16   /* &variable used as in literal arrays or parentesised expressions. */
     + Added #define  HB_ET_MACRO_INDEX   32   /* &variable used as arrays index. */

   * include/hbexprb.c
     + Added macro list support logic to hb_compExprUseArray()
     + Added generation of HB_P_MACROLIST,  HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX in hb_compExprUseMacro()

       /* HB_P_MACROLIST and HB_P_MACROLISTEND are only generated as an enevelope if array contains a one or more macro element
          which will generate an HB_P_MACROPUSHLIST. */

   * include/hbpcode.h
   * source/compiler/genc.c
   * source/compiler/hbfix.c
   * source/compiler/hbpcode.c
     + Added: new opcodes HB_P_MACROLIST, HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX.

   * source/vm/hvm.c
   * source/vm/macro.c
     + Added: support for new opcodes HB_P_MACROLIST, HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX.

       /* HB_P_MACROPUSHINDEX not completed yet.*/

   /* NOTE: This implements macro as literal array arguments list syntax <{ &cMacro }>.
           ( &Cmacro ) and Array[ &cMacro ] are not completed yet.

      *** All prgs must be recompiled due to new opcodes !!!
   */
2001-07-23 06:31:41 +00:00
Ryszard Glab
f6353a8674 ChangeLog 2001-07-22 20:15 UTC+0100 2001-07-22 19:03:52 +00:00
Ron Pinkas
6f912ba2bd 2001-07-19 20:30 UTC-0800 Ron Pinkas <ron@profit-master.com>
* include/hbapi.h
     + Added #define HB_MAX_MACRO_ARGS 16

   * source/vm/hvm.c
   * source/vm/macro.c
     + Added support for nested HB_P_MACROPUSHARG

   * contrib/dot/pp.prg
     - Removed bSplit in PP_PreProLine(). Instead added logic to split the line unless line is a directive.
2001-07-20 03:32:06 +00:00
Ron Pinkas
3928d386a1 2001-07-18 16:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/macro.c
   * source/vm/hvm.c
     % Simplified logic for suppoting macro lists. Removed global variables:
          int hb_vm_iFunCalls = 0, *hb_vm_aiMacroListParameters = NULL, hb_vm_iMacroListAllocated
       which are no longer needed. No longer using any logic in any PCODE case, other than HB_P_PUSHMACROARG.
       No longer using any arrays, or memory allocations.

   * include/hbexpra.c
   * include/hbexprb.c
     * HB_P_PUSHMACROARG will now be followed with a push symbol sequence, indicating its parrent function call.

   * include/hbpcode.h
     * Added decimal values into the description comments for readability.
2001-07-18 23:11:05 +00:00
Antonio Linares
9a9e4a7804 Added (PRG level) __SetProfiler( On | Off ) 2001-07-18 09:46:42 +00:00
Maurilio Longo
bd80e8d997 2001-07-18 09:06 GMT+2 Maurilio Longo <maurilio.longo@libero.it>
* source/rtl/tbrowse.prg
     + activated scoping
   * include/hbapierr.h
     include/hbapiitm.h
     include/hbvm.h
     source/rtl/errorapi.c
     source/vm/hvm.c
     source/vm/itemapi.c
     ! fixed va_start() use or, better, changed it to be compatible with OS/2 EMX GCC
       compiler which REQUIRES that va_start() calls use a type which cannot be promoted
       to something bigger. That is, this call is correct:
       va_start(valist, ulUnsignedLongType)
       while this one is not:
       va_start(valist, usUnsignedShortType)
       Using a type which can be promoted to a bigger one leads to memory corruption.
       I think this requirement could exist even on other ANSI C compilers.
     ! Removed workaround inside hb_itemDo() and hb_itemDoC() to prevent this corruption.
2001-07-18 07:21:03 +00:00
Ron Pinkas
8abc351c51 2001-07-17 18:25 UTC-0800 Ron Pinkas <ron@profit-master.com>
* utils/hbpp/hbpp.c
     * Commented an exit() call in hb_compGenError() to continue processing after an error just like Harbour does.

   * include/hbapi.h
     + Added 2nd parameter BOOL bArg to hb_macroGetValue()

   * include/hbexpra.c
     + Added global BOOL hb_exp_bArgList = FALSE;

   * include/hbexprb.c
     + Added logic to generate HB_P_MACROPUSHARG rather than HB_MACROPUSH when pushed macro is a function call argument.

   * include/hbpcode.h
   * source/compiler/genc.c
   * source/compiler/hbfix.c
   * source/compiler/hbpcode.c
     + Added new HB_P_MACROPUSHARG

   * source/macro/macro.y
     + Added logic to generate an error if macro expression is list, unless servicing an HB_MACROPUSHARG.

   * source/vm/hvm.c
     + Added support for new HB_P_MACROPUSHARG calling hb_macroGetValue() with TRUE for bArg.

   * source/vm/macro.c
     + Added 2nd parameter BOOL bArg to hb_macroGetValue() to signify servicing of HB_P_MACROPUSHARG.

   * contrib/dot/pp.prg
     + Added bSplit 4th paramater to PP_PreProLine() defaulting to .T.. - Calls from PP_PreProFile() set it to .F..
2001-07-18 01:29:53 +00:00
Ron Pinkas
6ed48b5b25 2001-07-16 09:45 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/hvm.c
   * source/vm/macro.c
     + Wrapped macro statement support within #ifdef HB_MACRO_STATEMENTS (which is NOT defined).
2001-07-16 16:42:59 +00:00
Ron Pinkas
d8977933fa 2001-07-16 03:40 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/hvm.c
   * source/vm/macro.c
     + Added missing #include "hbpp.h" to resolve strict compiler warnings.
2001-07-16 10:40:24 +00:00
Ron Pinkas
4454fbac5e 2001-07-16 03:00 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/vm/hvm.c
     + Added call to hb_pp_Free() in hb_vmQuit() to release pp tables if loaded by macro evaluation.
2001-07-16 10:03:05 +00:00