[Coco] About the tylg (type language) ident report

Gene Heskett gheskett at wdtv.com
Tue Oct 23 23:24:51 EDT 2012


On Tuesday 23 October 2012 23:22:01 Chris Hawks did opine:

> On Tue, 23 Oct 2012 20:45:41 -0400
> 
> Gene Heskett <gheskett at wdtv.com> wrote:
> > On Tuesday 23 October 2012 20:19:33 Robert Gault did opine:
> > > I've just realized that our current use of ident to report a 6809 vs
> > > 6309 module is essentially useless for the NitrOS-9 project. The
> > > reason for this is that the asm files used to build the project do
> > > not include a variable for language. The result is that a module
> > > such as IOMAN which can be built for both 6809 and 6309 systems
> > > will always give an ident report as a 6809 module.
> > > 
> > > Does anyone care about this? It could be corrected but would require
> > > a large amount of work on the NitrOS-9 project and the results
> > > could still be confusing.
> > > 
> > > If a correction were to be made and I am not volunteering, each .asm
> > > in the project would need to be checked for the presence of 6309
> > > code and when present the following added to the asm file.
> > > 
> > > 	ifne H6309
> > > 
> > > tylg	set	Systm+Obj6309
> > > 
> > > 	else
> > > 
> > > tylg	set	Systm+Objct
> > > 
> > > 	endif
> > > 
> > > You should not do this when 6309 code is not present or all programs
> > > in a 6309 package would be labeled 6309 even if no such code were
> > > present.
> > 
> > I believe this is probably less of a problem than it could be,
> > primarily because the huge majority of the modules that go to make up
> > the kernel do not actually have any 6309 only code in them.  If that
> > module builds on a 6809 premise setting, without the above ifne
> > verse, then it likely does not actually have 6309 code in it.  Or
> > this assembler (referring to the nitros9 assembler, not mamou) would
> > be squawking about it.
> > 
> > So far, ioman and the level3 only nitro are the two modules needing
> > fixing that we have found.  I think that tells us that there are lots
> > of the kernels separated out calls that probably could be further
> > optimized for the 6309. The 'hot' paths however can IMO wait until we
> > have stability again.
> > 
> > This somewhat resembles the "if it not broken, don't fix it" method. 
> > Fixes here to make it conditionally build optimized for each cpu, are
> > generally of the .1% speedup variety except for certain bit shift
> > situations where the first 8 bits each way can be done in 3 or 4
> > instructions, about 20x faster than the usual loop till done
> > construct, and which none of the so- called optimizers we have know a
> > thing about, so it will take many such fixes to get another 2% worth
> > of real throughput.
> 
> Gene:
> 
> 	Just as a matter of interest:
> 
> 'findg level\* \*.asm 6309 | grep -i .asm | wc -l' says that there are
> 92 .asm files with 6309 in them in the 3 levelX dirs.
> 
>  findg takes a directory to start in, filename_pattern, and grep_pattern
> (find $1 -name "$2" -exec grep -lis "$3" {} \; -exec grep -isn "$3" {}
> \; | more ;)
> 
> 	When we have the time, it should be worth the effort.

I just sent 14 of them to be build tested.

That fix is a bit incomplete as posted.  It should look more like this:
        ifne    H6309
tylg    set     Systm+Obj6309
atrv	set	ReEnt+ModNat+rev
        else
tylg    set     Systm+Objct
atrv    set	ReEnt+rev
        endif

The 'Systm' may change according to what it originally was.

Cheers, Gene
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
My web page: <http://coyoteden.dyndns-free.com:85/gene> is up!
New York now leads the world's great cities in the number of people around
whom you shouldn't make a sudden move.
		-- David Letterman



More information about the Coco mailing list