Path: news.cs.au.dk!not-for-mail From: "Sascha Kimmel \(tricos Mediaservice\)" Newsgroups: comp.lang.beta Subject: Sorry, IOA is full: cannot allocate 1091776 bytes. Program terminated. Date: 20 Feb 2000 12:03:58 -0000 Organization: University of Aarhus, Department of Computer Science (DAIMI) Lines: 48 Approved: mailtonews@cs.au.dk Distribution: world Message-ID: <20000220120358.21028.qmail@noatun.mjolner.dk> Reply-To: "Sascha Kimmel \(tricos Mediaservice\)" NNTP-Posting-Host: daimi.cs.au.dk X-Trace: xinwen.cs.au.dk 951048251 13367138 255.255.255.255 (20 Feb 2000 12:04:11 GMT) X-Complaints-To: news@cs.au.dk NNTP-Posting-Date: 20 Feb 2000 12:04:11 GMT Xref: news.cs.au.dk comp.lang.beta:12244 Hi, as a workaround for the bug I mentioned earlier this day I used - as I proposed - an array of ^text. I'm trying to load a file (@binfile) into memory (no runtime parsing possible!!) and cannot use arrays of chars to hold the information because of the bug I mentioned before. The program looks as follows: [...] a:[0]^text; [...] 272940->a.new; (** 272940 is an example, size of binfile **) (for i:a.range repeat &text[]->a[i][]; binfile.getByte->a[i].put; ... for); (** reading file into array **) [...] Then I get the following runtime message: "Sorry, IOA is full: cannot allocate 1091776 bytes. Program terminated." Let me guess: 1091776=272940*4+16 Every text object (reference...) allocates 4 bytes plus 16 bytes for the whole array?? That's really a problem, would be great if Mjolner would have mentioned *anywhere* which size the infant object area (IOA) can allocate at once. The program works fine when using the following code: [...] a:[0]^text; [...] (for i:272940 repeat 1->a.extend; &text[]->a[a.range][]; binfile.getByte... for); (** reading file into array **) [...] But when using that code the program becomes deadly slow. Any solution? Any help is appreciated! Regards, Sascha Kimmel