home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / spo386.zip / HISTORY.TXT next >
Text File  |  1994-01-13  |  6KB  |  102 lines

  1. ----------------------------------------------------------------------------
  2.                             The history of Spo
  3. ----------------------------------------------------------------------------
  4.  
  5. Jan-Feb 1993   : Version 1,00
  6.                  All the basic stuff, but crude interface.
  7. Feb 5, 1993    : Wrote some documentation.
  8.                  Version 1,00 released to Internet via Garbo.
  9.  
  10. Feb 18, 1993   : Version 1,01 introduced.
  11.                  Added detection for units compiled by older versions
  12.                    of TP.  These caused a garbled error message.  Also
  13.                    added detection for files that are not units.
  14.                  Added check for unit larger than 64K which is not handled
  15.                    by Spo.  These caused run time errors.  I wasn't even
  16.                    aware of the possibility.  [I guess I have been pointing
  17.                    out too many bugs in other products...]
  18.                  Added setting of {$G+} flag when target>=186.
  19.                  Reduced memory requirements slightly.
  20.                  Updated the documentation with a list of errors and
  21.                    warnings with their causes.
  22.                  Added "/A" option to specify the assembler to use; useful
  23.                    for Tasmx.Exe only.
  24. Feb 23, 1993   : Added list of optimizations to the documentation.
  25. Feb 25, 1993   : Fixed some bugs in the regular expression search engine.
  26.                    These bugs should not have been noticed by users of Spo.
  27.                  Added some string optimizations.
  28.                  Command line parsing improved.  Among other things, the
  29.                    switch char (normally '/') returned by Dos is now
  30.                    respected.
  31. Feb 26, 1993   : Procedures and segments are now aligned according to
  32.                    processor.
  33. Mar 1, 1993    : Fixed bug in analysis; it didn't follow Loop instructions.
  34.                  Changed processor directive from "P386N" to "P386" to
  35.                    allow inlined protected instructions.
  36.                  Fixed overflow bug that sometimes caused strange assembly
  37.                    errors and even memory overwrites.
  38. Mar 2, 1993    : Fixed bug that caused spilling of file handles as more and
  39.                    more units were optimized.
  40.                  Error message "The unit does not use itself!" changed to
  41.                    warning.  It seems as if a unit is reported as using
  42.                    another if and if only some fixup depends on that unit.
  43.                  Improved the capacity significantly by compacting the data
  44.                    section by a factor of approximately 7.
  45.  
  46. Mar 6, 1993    : Version 1,10 introduced.
  47. Mar 7, 1993    : Made changes to allow Spo itself to run in protected mode.
  48. Mar 8, 1993    : Changed "Int_0405" to work in protected mode also.
  49.                  Fixed a bug that caused incorrect code when emulated
  50.                    8087-instructions used segment override.
  51.                  Fixed a bug in the above mentioned compaction of the data
  52.                    segment.
  53. Mar 9, 1993    : Efficient Shr/Shl for longints on 86/186/286.
  54.                  Improved ZUnion, ZDifference, ZIntersect, and ZEqual.
  55.                  Improved 186->86 conversion.
  56.                  Allowed "/T" on its own to specify the processor on which
  57.                    Spo is running.
  58. Mar 11, 1993   : Broke the 32 bit barrier for the assembly buffer (DPMI
  59.                    version, 386+ only).
  60.                  Put macros for Op32/Addr32/Pushd/Fnsetpm in the start of
  61.                    all assembler files.
  62.                  Wrote units Need_186, Need_286, and Need_386 to check for
  63.                    processor at run time.
  64. Mar 12, 1993   : Improved some for-loops guaranteed to execute either at
  65.                    least once or never.
  66. Mar 13, 1993   : Added clearing of {$G+} flag when target is 8086 and no
  67.                    errors were detected.
  68.                  Added "/Cx" option to specify target platform.
  69.                  Implemented searching for units for dos protected mode or
  70.                    Windows.
  71.                  Added the system tables for dos protected mode.
  72.                  Had my first game of optimized TvChess.  Lost.
  73.                  Increased the starting size of the assembly buffer to 32K
  74.                    for Spo386.
  75. Mar 14, 1993   : Found very ugly bug in procedure alignment.  Affected all
  76.                    Cpu targets except 486.  (I'm glad that didn't make it
  77.                    to the internet!)
  78.                  Corrected the FLn replacement under "/NH".
  79. Mar 15, 1993   : Bug in "LongShl 8" found and corrected; misspelling.
  80. Jan 5, 1994    : Target is set to 286 for non-dos targets if no higher target
  81.                    is specified.
  82.                  Added some hooks for OS/2 units.
  83.                  Minor optimization: don't set Al after addtion etc.
  84.                  Updated docs.
  85.                  Significantly improved the annotation of call statements
  86.                    with procedure names.  Some cache may be benefical when
  87.                    this code is used.  Annotation no longer inhibits any
  88.                    optimization since they are now added at a later stage.
  89.                  Improved Need_186 and Need_286 by making them a no-op user
  90.                    non-dos platforms.
  91.                  Tables for Windows & OS/2 entered.  These targets enabled.
  92. Jan 6, 1994    : Fixed a bug that caused bad results for longint
  93.                    multiplication and division is some rare cases.  (It
  94.                    was found because some already faulty code didn't do
  95.                    what it was supposed to!)
  96. Jan 11, 1994   : Target defaults to 8086 (Real), 286 (Prot.+Windows), and
  97.                    386 (OS/2).
  98.                  Target cannot be set lower then default.  Attempts are
  99.                    silently ignored.
  100.                  The entry point of procedures are annotated with the name
  101.                    of the function, if that is in the interface.
  102.