svermeulen%Janus.MRC.AdhocNet.CA@UNCAEDU.BITNET (Steve Vermeulen) (09/16/88)
>From: "Flynn D. Fishman" <fdfishman@watcgl.waterloo.edu> >Subject: Large Program's Programming Problems (Manx Difficulties) > >Hi, >I have a problem that has been bugging me lately > >This problem crops up in different places at different times, and can be >removed by adding or removing a line of code, (but then it sometimes goes >else where). > Flynn, Do you have a function that is quite large, say 700 lines of code? Is this the place that adding/removing the code line summons/dismisses the GURU (or malfunction)? The reason I ask this is recently I was stonewalled by either an odd-address or illegal-instruction GURU when I was adding "a few more lines" to a monster routine (about 1100 lines). The only solution I found to this problem was to hack chunks out of the monster, creating a smaller monster and a new set of functions (in a separate object module - this may also be important). Among the things that I tried (I was using MANX 3.4a in small-code and small-data mode) was to recompile under large code, large data, and large code+data. I never tried the 32 bit int switch though. I also tried rearraging my object module linking orders a bit (I was using overlays throughout all this). All of this had no effect on the GURU. I also tried switching to 3.6a and tried out its various code/data modules with the same GURU summoning tendencies. I also looked at the sizes of the various object modules and the sizes reported by the linker and nothing appeared to indicate the extra code lines were pushing something accross a 64K (or 32K) boundary. One other point: the monster routine was essentially a very large switch statement - is this the case for your problem area? >FDFISHMAN (Flynn D. Fishman) @ WATCGL (but you can call me Flynn) Stephen Vermeulen Author: Express Paint Chairman: AMUC.