Files
harbour-core/harbour/source/vm
Przemyslaw Czerpak 0b660d8efd 2009-06-19 14:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
- harbour/include/hbhrb.ch
  + harbour/include/hbhrb.ch
    * replaced hbhrb.ch with slightly different version and set SVN
      attributes:
         svn:keywords : Author Date Id Revision
         svn:eol-style : native
      Now optional HB_HRBLOAD()/HB_HRBRUN() parameter is bitfield and
      the following predefined values can be used to control function
      bindings in loaded .hrb files:
         HB_HRB_BIND_DEFAULT      - do not overwrite any functions, ignore
                                    public HRB functions if functions with
                                    the same names already exist in HVM
         HB_HRB_BIND_LOCAL        - do not overwrite any functions
                                    but keep local references, so
                                    if module has public function FOO and
                                    this function exists also in HVM
                                    then the function in HRB is converted
                                    to STATIC one
         HB_HRB_BIND_OVERLOAD     - overload all existing public functions
         HB_HRB_BIND_FORCELOCAL   - covert all public functions to
                                    STATIC ones
      Other HB_HRB_* defines will be added in the future

  * harbour/include/hbvm.h
    * declared hb_vmSetFunction() as internal function

  * harbour/source/vm/hvm.c
    * modified hb_vmSetFunction() to update references also in unused
      modules.

  * harbour/source/vm/runner.c
    * removed CanUnload - it was not fully functional. Modules which
      overloads public functions cen be unload just like any other ones
      but unloading does not restore references to overloaded functions.
      Now such references are simply lost and this should be fixed in the
      future.
    + added support for HB_HRB_BIND_FORCELOCAL
    ! fixed <nOptions> parameter decoding in HB_HRBLOAD() to strictly
      follow declaration:
         HB_HRBLOAD( [ <nOptions>, ] <cHrb> [, <xparams,...> ] )
    ! fixed init procedures parameters in HB_HRBLOAD() to no pass <nOptions>
    + added support for <nOptions> to HB_HRBRUN()
         HB_HRBRUN( [ <nOptions>, ] <cHrb> [, <xparams,...> ] ) -> <retVal>
    * changed HB_HRBRUN() return value - now it's the result of executed
      function instead of .T.
    ! fixed public symbol updating to keep valid references to HB_FS_LOCAL
      function
    ! fixed possible memory leak
    % added const to some char * declarations

   TOFIX/TODO: add support for restoring overloaded functions when module
               is unloaded.
2009-06-19 12:09:26 +00:00
..