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


Groups > comp.lang.forth > #30255

Re: Parameter passing when calling C

From stephenXXX@mpeforth.com (Stephen Pelc)
Newsgroups comp.lang.forth
Subject Re: Parameter passing when calling C
Organization MPE
Message-ID <536e3801.303184823@news.demon.co.uk> (permalink)
References (1 earlier) <8da8e09b-bf3b-4062-b380-8ec6fb244bcd@googlegroups.com> <lke0td$tgl$1@dont-email.me> <d46f6240-63f8-4dbc-86c2-5d45d4f28496@googlegroups.com> <536d9864$0$2914$e4fe514c@dreader37.news.xs4all.nl> <2014May10.110212@mips.complang.tuwien.ac.at>
Date 2014-05-10 14:40 +0000

Show all headers | View raw


On Sat, 10 May 2014 09:02:12 GMT, anton@mips.complang.tuwien.ac.at
(Anton Ertl) wrote:

>Also, most calling conventions pass 3-8 parameters in registers.
>Unless you use that as your stack representation (which is probably
>suboptimal), you have the remapping effort on platforms with these
>calling conventions (i.e., most platforms) anyway.  So reversing
>optimizes the implementation effort on one platform, and burdens all
>programmers on all platforms.  Not a good deal.

Hmmm ... I'm not so sure. If you are calling C libraries or an
operating system, you're doing a hosted Forth. The Forth is probably
going to be a native code Forth.

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.

With register-based C calling conventions, the overhead of copying
parameters is insignificant compared to the inefficiency of keeping
several Forth stack items in registers. I'll get around to doing that
set of measurements one of these days ...

Stephen

-- 
Stephen Pelc, stephenXXX@mpeforth.com
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691
web: http://www.mpeforth.com - free VFX Forth downloads

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