Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #30298

Re: Parameter passing when calling C

From Bernd Paysan <bernd.paysan@gmx.de>
Newsgroups comp.lang.forth
Subject Re: Parameter passing when calling C
Date 2014-05-11 20:37 +0200
Organization 1&1 Internet AG
Message-ID <lkog22$h19$1@online.de> (permalink)
References (4 earlier) <536d9864$0$2914$e4fe514c@dreader37.news.xs4all.nl> <2014May10.110212@mips.complang.tuwien.ac.at> <536e3801.303184823@news.demon.co.uk> <2014May10.172622@mips.complang.tuwien.ac.at> <536f44f2.372042166@news.demon.co.uk>

Show all headers | View raw


Stephen Pelc wrote:

> On Sat, 10 May 2014 15:26:22 GMT, anton@mips.complang.tuwien.ac.at
> (Anton Ertl) wrote:
> 
>>>If the Forth data stack is not going to be the C/OS stack, then you
>>>have to make decisions such as to copy the arguments/return values
>>>or to switch the stacks. This decision impacts stack and task layout
>>>in memory to the level that you have to *know* how a particular
>>>O/S handles interrupts, signals and callbacks.
>>
>>What are you getting at, and what does the OS's handling of interrupts
>>and signals have to do with parameter passing?
> 
> For example, can you guarantee that any of the stack area below the
> stack pointer (assuming grow-down stacks) is safe to use? Some O/S
> permit this, some don't.

Windows even limits you in the amount of memory you can allocate from the 
stack in one go... this is mind-blowing stupid.

> How much stack space does a called C function use? You don't know
> for the most part. The C stack then has to be below the data stack.
> 
> Where are the stacks for callbacks? Some O/S use the original caller's
> stack. With nested callbacks we have seen applications in the wild
> need several megabytes of stack space.

In bigForth, I decided to leave the C stack to C, and for callbacks, the 
temporary stacks are allocated from that C stack.  The callbacks are often 
called in another thread which doesn't have its own per-thread Forth stacks.  
Gforth now (git head) follows the same decision.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

A new commercial indie game made in SwiftForth (Windows) roger.levy@gmail.com - 2014-05-03 21:19 -0700
  Re: A new commercial indie game made in SwiftForth (Windows) Paul Rubin <no.email@nospam.invalid> - 2014-05-03 22:22 -0700
  Re: A new commercial indie game made in SwiftForth (Windows) AKK <akk@nospam.org> - 2014-05-04 08:24 +0200
    Re: A new commercial indie game made in SwiftForth (Windows) Laurent Laborde <kerdezixe@gmail.com> - 2014-05-04 03:44 -0700
      Re: A new commercial indie game made in SwiftForth (Windows) AKK <akk@nospam.org> - 2014-05-04 14:46 +0200
        Re: A new commercial indie game made in SwiftForth (Windows) Mark Wills <markwills1970@gmail.com> - 2014-05-04 09:21 -0700
          Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-04 13:28 -0700
            Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-04 13:38 -0700
              Re: A new commercial indie game made in SwiftForth (Windows) Mark Wills <markwills1970@gmail.com> - 2014-05-04 13:53 -0700
    Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-04 13:36 -0700
      Re: A new commercial indie game made in SwiftForth (Windows) AKK <akk@nospam.org> - 2014-05-04 23:27 +0200
        Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-04 14:39 -0700
        Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-04 14:44 -0700
          Re: A new commercial indie game made in SwiftForth (Windows) AKK <akk@nospam.org> - 2014-05-05 07:35 +0200
  Re: A new commercial indie game made in SwiftForth (Windows) Alexander Skobelev <al.skobelev@gmail.com> - 2014-05-04 21:51 -0700
    Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-05 09:49 -0700
      Re: A new commercial indie game made in SwiftForth (Windows) Alexander Skobelev <al.skobelev@gmail.com> - 2014-05-05 22:55 -0700
        Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-07 01:21 -0700
          Re: A new commercial indie game made in SwiftForth (Windows) Paul Rubin <no.email@nospam.invalid> - 2014-05-07 02:07 -0700
            Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-07 07:12 -0700
              Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-07 07:15 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Richard Owlett <rowlett@pcnetinc.com> - 2014-05-07 09:28 -0500
                Re: A new commercial indie game made in SwiftForth (Windows) Paul Rubin <no.email@nospam.invalid> - 2014-05-07 09:23 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-07 09:56 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-07 09:57 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Paul Rubin <no.email@nospam.invalid> - 2014-05-07 10:02 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-07 10:08 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Paul Rubin <no.email@nospam.invalid> - 2014-05-07 12:03 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-07 12:12 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) "Elizabeth D. Rather" <erather@forth.com> - 2014-05-07 08:16 -1000
                Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-07 11:33 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) hughaguilar96@yahoo.com - 2014-05-07 22:32 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Howerd <howerdo@yahoo.co.uk> - 2014-05-08 01:50 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-05-08 10:24 +0000
                Re: A new commercial indie game made in SwiftForth (Windows) Elizabeth D Rather <erather@forth.com> - 2014-05-08 09:05 -1000
                Re: A new commercial indie game made in SwiftForth (Windows) Elizabeth D Rather <erather@forth.com> - 2014-05-08 09:00 -1000
                Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-08 12:09 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) stephenXXX@mpeforth.com (Stephen Pelc) - 2014-05-08 20:11 +0000
                Re: A new commercial indie game made in SwiftForth (Windows) Bernd Paysan <bernd.paysan@gmx.de> - 2014-05-09 01:22 +0200
                Re: A new commercial indie game made in SwiftForth (Windows) "Elizabeth D. Rather" <erather@forth.com> - 2014-05-08 17:08 -1000
                Re: A new commercial indie game made in SwiftForth (Windows) Elizabeth D Rather <erather@forth.com> - 2014-05-08 11:24 -1000
                Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-08 15:25 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Bernd Paysan <bernd.paysan@gmx.de> - 2014-05-09 01:30 +0200
                Re: A new commercial indie game made in SwiftForth (Windows) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-05-10 08:42 +0000
                Re: A new commercial indie game made in SwiftForth (Windows) Bernd Paysan <bernd.paysan@gmx.de> - 2014-05-10 15:30 +0200
                Re: A new commercial indie game made in SwiftForth (Windows) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-05-10 14:11 +0000
                Re: A new commercial indie game made in SwiftForth (Windows) Bernd Paysan <bernd.paysan@gmx.de> - 2014-05-10 16:26 +0200
                Re: A new commercial indie game made in SwiftForth (Windows) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-05-10 14:37 +0000
                Re: A new commercial indie game made in SwiftForth (Windows) Bernd Paysan <bernd.paysan@gmx.de> - 2014-05-10 21:17 +0200
                Re: A new commercial indie game made in SwiftForth (Windows) "Elizabeth D. Rather" <erather@forth.com> - 2014-05-10 10:45 -1000
                Re: A new commercial indie game made in SwiftForth (Windows) Mark Wills <markwills1970@gmail.com> - 2014-05-10 14:28 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) "Elizabeth D. Rather" <erather@forth.com> - 2014-05-10 11:41 -1000
                Re: A new commercial indie game made in SwiftForth (Windows) Mark Wills <markwills1970@gmail.com> - 2014-05-10 14:47 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Laurent Laborde <kerdezixe@gmail.com> - 2014-05-09 03:08 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) Mark Wills <markwills1970@gmail.com> - 2014-05-08 14:44 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) "Alex McDonald" <blog@rivadpm.com> - 2014-05-07 20:18 +0100
                Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-07 12:34 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) "Alex McDonald" <blog@rivadpm.com> - 2014-05-09 15:55 +0100
                Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-09 10:22 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) "Alex McDonald" <blog@rivadpm.com> - 2014-05-09 22:13 +0100
                Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-09 15:15 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-05-10 03:09 +0000
                Re: A new commercial indie game made in SwiftForth (Windows) mhx@iae.nl - 2014-05-09 23:06 -0700
                Re: A new commercial indie game made in SwiftForth (Windows) "Alex McDonald" <blog@rivadpm.com> - 2014-05-10 09:01 +0100
                Parameter passing when calling C anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-05-10 09:02 +0000
                Re: Parameter passing when calling C stephenXXX@mpeforth.com (Stephen Pelc) - 2014-05-10 14:40 +0000
                Re: Parameter passing when calling C anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-05-10 15:26 +0000
                Re: Parameter passing when calling C stephenXXX@mpeforth.com (Stephen Pelc) - 2014-05-11 09:46 +0000
                Re: Parameter passing when calling C anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-05-11 14:57 +0000
                Re: Parameter passing when calling C Bernd Paysan <bernd.paysan@gmx.de> - 2014-05-11 20:37 +0200
          Re: A new commercial indie game made in SwiftForth (Windows) Alexander Skobelev <al.skobelev@gmail.com> - 2014-05-07 04:03 -0700
  Re: A new commercial indie game made in SwiftForth (Windows) Zbigniew <empty.buffersYOU-DONT-WANT-THIS@gmail.NEITHER-THIS.com> - 2014-05-07 16:19 +0000
  Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-11 11:49 -0700
    Re: A new commercial indie game made in SwiftForth (Windows) foxaudioresearch@gmail.com - 2014-05-12 18:34 -0700
      Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-13 06:40 -0700
        Re: A new commercial indie game made in SwiftForth (Windows) Alexander Skobelev <al.skobelev@gmail.com> - 2014-05-13 23:55 -0700
        Re: A new commercial indie game made in SwiftForth (Windows) Mark Wills <markwills1970@gmail.com> - 2014-05-14 01:39 -0700
          Re: A new commercial indie game made in SwiftForth (Windows) Roger Levy <roger.levy@gmail.com> - 2014-05-14 07:08 -0700

csiph-web