C2CMessagesDoc.tioga
============================================
NOT YET SENT
============================================
Architectural changes
C2C definitions have been designed as if C2C were a large program with information hiding in mind. This was appropriate while it was rapidly changing. Give the more mature status of C2C now I have redesigned some interfaces as if C2C were a small program. C2C's internal interfaces are less abstract, more describing a current state and might need more frequent recompilations. C2CAccess, a new module is a client level interface for C2C which does not need recompilations for internal changes. However, it will need recompilations on external changes, as it lays bare all options C2C currently has. Different (outer-level) modules now call C2C and register it with mimosa, or, as a stand alone command (for debugging).
I have deliberately given up the idea of multiple instances and re-introduced global variables. I have also given up about dynamically supporting multi-targets; An instance of C2C generate code for a single target. Generating code for multiple target nevertheless does share source code; only binaries are not shared anymore. (This has been done to simplify the structure in case somebody would work on little endianness). A welcome side effect: it ought to be slightly faster.
Got rid of switches for
poping up a viewer
preventing registration of modules
static instead of external module initialization
Different source macro versions.
A large number of new, renamed and replaced modules.
Position information feature
There is a new option for generating a position information stream (instead of putting position information into the C file). The purpose of this stream is to represent a relative dense data structure which could be put directly into the object files.
This will in future remove the need for debuggers to inspect the C file. Therefore
increase robustness,
increase performance of building debugger table (less and shorter files),
reduce number of files actualy accessed for debugging and, keeping on our disks (After temporary increase)
increase correctness, as creation of those files, their properties and interpreting them are understood simultanously. A separate interface will be anounced shortly.
A welcome side effect: did you know that generating the source position macros used to use a substantial fraction of all allocations in C2C.
Procedural changes
I'm adding a new pipeline stage in the process of fooling around with C2C, sometimes debugging it, then handing it to Jim for regression test and releasing.
Two more files added to its documentation.
Christian
============================================
SENT
============================================
Sent to very limited dl only
New C2C (needs regression test).
No hurry as no real bug is fixed; why don't you wait for testing for the front end fix for AR 2382.
1) Fixes C2C's part of AR 2382
2) New switch "q"
Default: generates inline assignment code for AssignRef and AssignRefInit
-q set: generates calls to XR𡤊ssignRef and XR𡤊ssignRefInit
This ought to save 6% execution time in one of Dan Greene's programs.
regression necessary to find out whether the inline code might cause optimizer failures (and vanilla bugs of course).
Christian