From 944898dd40da1af4a21412dc7c1037e8637ea256 Mon Sep 17 00:00:00 2001 From: ceriel Date: Tue, 14 Mar 1989 11:03:24 +0000 Subject: [PATCH] updated to current situation --- doc/m2ref.doc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/m2ref.doc b/doc/m2ref.doc index d369c9449..32d0e0df2 100644 --- a/doc/m2ref.doc +++ b/doc/m2ref.doc @@ -355,7 +355,12 @@ The detection of this error depends on the EM implementation. All current EM implementations detect this error. .IP "stack size of process too large" .br -The current implementation limits the stack size of processes to 1024 bytes. +This is most likely to happen if the reserved space for a coroutine stack +is too small. In this case, increase the size of the area given to +\fCWNEWPROCESS\fP. It can also happen if the stack needed for the main +process is too large and there are coroutines. In this case, the only fix is +to reduce the stack size needed by the main process, f.i. by avoiding local +arrays. .IP "too many nested traps + handlers" .br This error can only occur when the user has installed his own trap handler. @@ -395,6 +400,11 @@ The descriptor is pushed first. If the parameter is a value parameter, the called routine must make sure that its value is never changed, for instance by making its own copy of the array. The Modula-2 compiler does exactly this. +.PP +When the size of the return value of a function procedure is larger than +the maximum of \fCWSIZE(LONGREAL)\fP and twice the word-size, the caller +reserves this space on the stack, above the parameters. Callee then stores +its result there, and returns no other value. .NH 1 References .IP [1] -- 2.34.1