Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Calling conventions Doc #5254

Merged
merged 1 commit into from
Jun 12, 2020
Merged

Conversation

dsouzai
Copy link
Member

@dsouzai dsouzai commented May 28, 2020

This information was only available internally; this PR adds it to the repo to aid with debugging.

@dsouzai
Copy link
Member Author

dsouzai commented May 28, 2020

@fjeremic could you please review?

@0xdaryl
Copy link
Contributor

0xdaryl commented Jun 9, 2020

A couple thoughts from me:

  • What's the reason to put Windows and Linux together in the same table? Just a space savings? Since this is a reference doc the length doesn't matter as much and I'd rather separate them. It will give us more freedom to add other commentary specific to that particular linkage later if desired (e.g., describing how memory arguments are passed and how the memory for those arguments is allocated) and might prevent some misinterpretations.

    Separating might also allow us to reorder the registers differently for each calling convention. For example, we could list all the integer parameter registers together and in passing order.

  • Personally, I'm not really a fan of the emojis. I would prefer just a simple "V" or "P", but that's just me.

  • If there are public documents for any of these calling conventions perhaps we could link to them, especially if they are harder to find (e.g., P and Z linkages)

@dsouzai
Copy link
Member Author

dsouzai commented Jun 10, 2020

@0xdaryl made changes suggested, could you take a look?

[ci skip]

Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
@andrewcraik
Copy link
Contributor

Looking good

@dsouzai
Copy link
Member Author

dsouzai commented Jun 12, 2020

@fjeremic do you mind merging if you're satisfied as well?

@fjeremic fjeremic merged commit cc87ff1 into eclipse:master Jun 12, 2020
@fjeremic
Copy link
Contributor

Great initial doc. Let's check this in and we can improve if we think there is a need.

@dsouzai
Copy link
Member Author

dsouzai commented Jun 12, 2020

@knn-k do you mind creating the tables for arm / aarch64?

@janvrany do you mind creating the table for riscv?

@knn-k
Copy link
Contributor

knn-k commented Jun 14, 2020

I opened #5308 for 32-bit Arm and AArch64.

@janvrany
Copy link
Contributor

I opened #5313 for RISC-V

@dsouzai dsouzai deleted the callingConventions branch January 4, 2021 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants