[comp.sys.mac.misc] only 4096 jump table entries?

eastick@me.utoronto.ca (Doug Eastick) (08/13/90)

This is posted for my brother who is responsible for the Mac port of
his company's product.  Any responses can be directed to
eastick@uncamult.bitnet, or I can forward them to him.  His letter is
mostly bitching and complaining, but if anyone can help him, I'm sure
he'd appreciate it.   --Doug

========  Begin letter number One ======
Date:	Sun, 12 Aug 90 01:23:00 EDT
Three days ago, the subject of this letter meant nothing to me.  Today,
it means I have to call my boss tomorrow and mention that I'll have
nothing to show in Houston - and we have this plane ticket already...

I finally got everything compiled OK (more or less), but each module
became a "code segment". To reference a routine in another code segment,
the Mac checks its jump table and jumps to it, loading the segment if it
isn't in memory yet. Well, apparently we have more than 4096 entries in
this table.  So, I try to mind-meld segments into larger segments
(cutting down the jump table entries). No problem, but now we have >32K
jumps within a segment (fucking 16 bit processors).

Man, there's just gotta be a way to increase the jump table entries...

This is really bugging me. Our tech support girl is in Houston for two
months and Kevin has been on vacation so Brain and I have been doing all
the tech support for three weeks. Thus, I've spent many a late night on
the Mac (I haven't watched this much Letterman in years). Needless to
say, I've been a little grouchy lately, too.

Well, now I'll try only melding a few segments. One last try. This means
compiling all the source again... I wonder what is on Much Music tonight...

===== Begin letter number TWO =====
Date:	Sun, 12 Aug 90 19:34:00 EDT
Subject:  What? It was the symbol table?

It looks like the problem was that the jump table was being used up by
the symbol table. I'm not entirely sure, and it's a little late now. So
I cancelled the flight and the hotel, and tomorrow I call Apple in
Houston. Tough luck, guys...

I called Craig (my really cool boss) and broke the news to him today. He
said it's too bad I don't drink - tonight would be a good night for a
bender. 

So now I start talking on BIX and find out what the scoop is on other
compilers (the Apple on is buggy) and maybe check out the scoop on AU/X
- the Macintosh version of UNIX. Oh, to program in 32 bit again...

===== End letters =====

oster@well.sf.ca.us (David Phillip Oster) (08/15/90)

My programs are often 3-4 meg of source. The 4096 entries in the jump table
limit has never bitten me. I write in C, and group my routines logically by
file, and declare as many routines as possible
static 

example:
static int FuncOfnoInterestOutsidethisFile(){}

this is good style, it means I KNOW this function is not called outside
this file, and it takes 0 entries in the jump table.  In pascal, nesting
procedures gives the same good effect.
-- 
-- David Phillip Oster - Note new signature. Old one has gone Bye Bye.
-- oster@well.sf.ca.us = {backbone}!well!oster