Richard Harter's World
Site map
July 2009
Mathcomp
San Language
email

June 20 2009: san_engine revisions

This is a summary of the changes to the san_engine code since the May 26 release. The code is not under revision control, but it is usable by the adventurous.

Many of the changes were made to simplify debugging. Stress tests had revealed a couple of very obscure bugs. It turned out that the engine code was okay and that the problems were in the getspace storage allocator. Said bugs have been fixed.

My plans for future changes are fairly open. There are two major objectives I have in mind - one is to make it easier to write programs that use the engine and the other is to improve performance. Improving performance is relatively easy - one creates test beds and measure where the time and space are going.

Making it easier to write programs using the engine is a differenet matter. What is involved here is a different way of writing programs and thinking about writing programs.


  1. The PORT_NO define was replaced by two typedefs, input_v and output_v, for inport and output ports respectively.

  2. The objtab table (actually agent table) free list linkage was converted from struct pointers to table indices. objtab_free_list was change to objtab_free_index.

  3. A new class of formats, pgmerror_formats, was created for internal error conditions that signify a dangerous bug in the engine code.

  4. The defaults for the storage allocator initialization were changed.

  5. The agent morbidity check was moved from san_delete_agent to delete_agent.

  6. A function called trap was added. As it stands it is a no-op, but it can be changed to act when a specified condition is met. There are calls to trap throughout the program.

  7. A new counter, usr_events, has been added. It is incremented every time user code is executed.

  8. The variable, pq, was renamed to inp in get_inport.

  9. The code was changed so that the objtab seqno field is odd for slots in the free list and even for slots currently in use.


This page was last updated June 20, 2009.

Richard Harter's World
Site map
July 2009
Mathcomp
San Language
email