Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: comp.arch Subject: Re: Calling conventions (particularly 32-bit ARM) Date: Wed, 08 Jan 2025 12:20:51 -0500 Organization: A noiseless patient Spider Lines: 12 Message-ID: References: <4903307dfcce354508c9fc016a4c1ea1@www.novabbs.org> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Wed, 08 Jan 2025 18:20:54 +0100 (CET) Injection-Info: dont-email.me; posting-host="fbf9c80cd459fda2d180dce1fed63774"; logging-data="3036775"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18rC94p/IanS7p4yIgCKa70mITKOw2YX28=" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:00N3k3SlO6NY4HE3DULKbrTvU8s= sha1:QyrhH1Mw69ST9AxlGL/21fMhIno= Bytes: 1530 >>I looked high and low for codes using more than 8 arguments and >>returning aggregates larger than 8 double words, and about the >>only things I found were a handful of []print[]() calls. > Large numbers of parameters may be generated either by closure > conversion or by lambda lifting. AFAIK in these cases the same compiler generates the code for the function and for the calls, so it should be pretty much free to use any calling convention it likes. Stefan