9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Pietro Gagliardi <pietro10@mac.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: Re: [9fans] Non-stack-based calling conventions
Date: Mon, 18 Feb 2008 16:50:05 -0500	[thread overview]
Message-ID: <8045405E-3A7F-4D7F-9506-B5001300FEB6@mac.com> (raw)
In-Reply-To: <45219fb00802160029s2087f479xd6654e65a7b6a29c@mail.gmail.com>

It says here that setjmp can be used to make coroutines:

http://my.execpc.com/~geezer/osd/tasks/index.htm

On Feb 16, 2008, at 3:29 AM, Lluís Batlle wrote:

> Talking about The Art of Computer Programming... this non-stack based
> calling convention made me think of Knuth's Coroutines. I'm quite
> interested on them, but although I've seen libraries for managing
> them, I've never seen a real useful program based on them. I think
> they could be used with advantages over the thread or normal function
> call abstractions.
>
> Maybe someone in this list can provide a good example of coroutines  
> use?
>
> 2008/2/16, Paweł Lasek <pawel.lasek@gmail.com>:
>> I don't have latest version of fascicle one (MMIX processor
>> architecture and MMIXAL assembler language, from new version of The
>> Art of Computer Programming) at hand, so I can't confirm it, but I
>> remember that MMIX had a special register which implemented a
>> "border", shifting register numbers to use them for procedure data
>> separation.
>>
>> And as in all RISC architectures, storing as many parameters in the
>> call stack is the way to go. Especially when you have 256 64-bit
>> general purpose registers :-) (Now if only someone implemented a sane
>> architecture using MMIX as main processor...)
>>
>>
>> On 2/16/08, Pietro Gagliardi <pietro10@mac.com> wrote:
>>> - DOS interrupt function calls use the registers, not the stack.
>>> - SPARC and MIPS registers are provided to pass parameters.
>>>
>>> On Feb 15, 2008, at 6:37 PM, Lyndon Nerenberg wrote:
>>>
>>>>>
>>>>> The calling conventions I have seen are the ccall, stdcall
>>>>> (Windows' slightly modified version of the ccall), and pascal. All
>>>>> of them push parameters on the stack.
>>>>
>>>> Take a look at the R-call and S-call conventions used on the IBM
>>>> System 360 architecture. These machines didn't even have a stack.
>>>>
>>>> --lyndon
>>>
>>>
>>
>>
>> --
>> Paul Lasek
>>


  parent reply	other threads:[~2008-02-18 21:50 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-13 22:03 [9fans] quote of the day erik quanstrom
2008-02-13 23:08 ` Pietro Gagliardi
2008-02-13 23:24 ` [9fans] Google search " dave.l
2008-02-13 23:31   ` Pietro Gagliardi
2008-02-13 23:41     ` erik quanstrom
2008-02-13 23:49       ` Pietro Gagliardi
2008-02-13 23:59     ` john
2008-02-14  0:04       ` Pietro Gagliardi
2008-02-14  6:11         ` Anant Narayanan
2008-02-15 17:39         ` Skip Tavakkolian
2008-02-14 16:45       ` Douglas A. Gwyn
2008-02-14 17:09         ` john
2008-02-14 17:27           ` erik quanstrom
2008-02-15  9:50             ` Douglas A. Gwyn
2008-02-15 11:49               ` Alf
2008-02-15 13:15               ` erik quanstrom
2008-02-15 14:56                 ` Brantley Coile
2008-02-15 15:44                   ` Eris Discordia
2008-02-15 16:07                     ` erik quanstrom
2008-02-15 16:43                       ` maht
2008-02-15 17:35                         ` ron minnich
2008-02-15 18:14                           ` Iruata Souza
2008-02-15 18:37                           ` maht
2008-02-15 17:39                       ` Eris Discordia
2008-02-15 19:05                         ` maht
2008-02-15 20:11                           ` Eris Discordia
2008-02-15 20:18                             ` Pietro Gagliardi
2008-02-15 20:49                             ` maht
2008-02-16 23:32                               ` Eris Discordia
2008-02-15 23:37                         ` [9fans] Non-stack-based calling conventions Lyndon Nerenberg
2008-02-15 23:39                           ` Pietro Gagliardi
2008-02-15 23:47                             ` Paweł Lasek
2008-02-16  0:23                               ` Brantley Coile
2008-02-16 23:32                                 ` Eris Discordia
2008-02-16 23:41                                   ` Pietro Gagliardi
2008-02-16 23:49                                   ` Brantley Coile
2008-02-17  0:04                                   ` Brantley Coile
2008-02-17 13:30                                     ` Eris Discordia
2008-02-17 15:04                                       ` erik quanstrom
2008-02-17 21:43                                         ` Uriel
2008-02-17 23:58                                           ` erik quanstrom
2008-02-18  1:54                                             ` Bruce Ellis
2008-02-18  3:43                                               ` erik quanstrom
2008-02-18  4:31                                                 ` Bruce Ellis
2008-02-18  4:40                                                   ` Pietro Gagliardi
2008-02-18  6:22                                               ` Robert William Fuller
2008-02-18  7:23                                                 ` Bruce Ellis
2008-02-18  8:38                                                   ` Anant Narayanan
2008-02-22 10:02                                                     ` Douglas A. Gwyn
2008-02-22 19:35                                                       ` Anant Narayanan
2008-02-18  8:30                                                 ` Anant Narayanan
2008-02-18  8:44                                                   ` Bruce Ellis
2008-02-18 18:50                                                 ` Federico G. Benavento
2008-02-18 21:53                                                   ` Lorenzo Fernando Bivens de la Fuente
2008-02-18 22:55                                                     ` y i y u s
2008-02-18 23:46                                                       ` Uriel
2008-02-18 22:14                                                   ` Pietro Gagliardi
2008-02-18 22:16                                                     ` Pietro Gagliardi
2008-02-18 22:32                                                       ` Federico G. Benavento
2008-02-20 11:39                                                   ` maht
2008-02-20 17:19                                                     ` Bruce Ellis
2008-02-22 10:02                                                     ` Douglas A. Gwyn
2008-02-22 10:02                                                   ` Douglas A. Gwyn
2008-02-18 22:13                                                 ` LiteStar numnums
2008-02-18  4:44                                             ` Pietro Gagliardi
2008-02-18  4:46                                               ` Pietro Gagliardi
2008-02-18  5:03                                                 ` Uriel
2008-02-17 16:08                                       ` Anthony Sorace
2008-02-17 22:03                                         ` Charles Forsyth
2008-02-22 10:01                                       ` Douglas A. Gwyn
2008-02-22 14:07                                         ` Iruata Souza
2008-02-22 10:01                                     ` Douglas A. Gwyn
2008-02-22 10:01                                 ` Douglas A. Gwyn
2008-02-16  8:29                               ` Lluís Batlle
2008-02-17 23:09                                 ` Chad Dougherty
2008-02-18 21:50                                 ` Pietro Gagliardi [this message]
2008-02-22 10:02                                 ` Douglas A. Gwyn
2008-02-26 21:30                               ` Paweł Lasek
2008-02-26 22:00                                 ` maht
2008-02-26 22:32                                   ` Brantley Coile
2008-02-26 23:15                                     ` Uriel
2008-02-26 22:33                                   ` Brantley Coile
2008-02-26 22:46                                     ` Bruce Ellis
2008-02-27  4:26                                 ` lucio
2008-02-27  6:52                                   ` ron minnich
2008-02-27 17:57                                     ` lucio
2008-02-28  9:33                                     ` Bill Gunshannon
2008-02-28  9:58                                       ` Charles Forsyth
2008-02-28 14:15                                       ` Bill Gunshannon
2008-02-14 17:14         ` [9fans] Google search of the day Eris Discordia
2008-02-14 17:28           ` Fco. J. Ballesteros
2008-02-14 20:14             ` Eris Discordia
2008-02-14 20:30               ` Patrick Kristiansen
2008-02-14 20:38                 ` Eris Discordia
2008-02-14 22:09                   ` Pietro Gagliardi
2008-02-15  9:00                     ` Eris Discordia
2008-02-14 17:51           ` Iruata Souza
2008-02-15  9:31             ` sqweek
2008-02-18  9:48               ` Douglas A. Gwyn
2008-02-18  9:57                 ` Gorka Guardiola
2008-02-19  9:17                 ` sqweek
2008-02-19  0:28 [9fans] Non-stack-based calling conventions Andrew Simmons
2008-02-19  0:39 ` Brantley Coile
2008-02-19  0:43   ` Andrew Simmons
2008-02-19  0:52     ` Uriel
2008-02-19  1:06       ` Pietro Gagliardi
2008-02-19  1:33         ` Brantley Coile
2008-02-19  3:18         ` Michaelian Ennis
2008-02-19  3:29           ` Michaelian Ennis
2008-02-19  3:35             ` Pietro Gagliardi
2008-02-19  5:18       ` Skip Tavakkolian
2008-02-19  5:33       ` Skip Tavakkolian
2008-02-19  4:11   ` Bruce Ellis
2008-02-20 14:59     ` maht
2008-02-20 15:28     ` Uriel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8045405E-3A7F-4D7F-9506-B5001300FEB6@mac.com \
    --to=pietro10@mac.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).