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

[wasm] initial build of coreclr.runtime #113429

Merged
merged 19 commits into from
Mar 18, 2025
Merged

Conversation

radekdoulik
Copy link
Member

No description provided.

Verified

This commit was signed with the committer’s verified signature.
targos Michaël Zasso
It builds now
Copy link
Contributor

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

@@ -10181,6 +10181,8 @@ void MethodTableBuilder::CheckForSystemTypes()
// although applying 16 byte alignment is consistent with treatment of 128 bit SSE types
// even on X86
pLayout->m_ManagedLargestAlignmentRequirementOfAllMembers = 16; // sizeof(__int128)
#elif defined(TARGET_WASM)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks equivalent to the previous #elif, any reason for having it separate?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really, it is just that I would need to update the comment and I am also not sure if it is the final value. I don't know yet if we will need 16 bytes alignment for v128. It looks like 4 might be enough and 8 for int128 which is represented as structure of 2x int64 in wasm.

// Be sure to rebuild clr/src/vm/ceemain.cpp after changing this file, to
// ensure that the constants match the expected C/C++ values

#define DynamicHelperFrameFlags_ObjectArg 1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is this needed? These constants are used only by asm helpers.

Copy link
Member Author

@radekdoulik radekdoulik Mar 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hit it here

src/coreclr/vm/frames.cpp:1028:37: error: use of undeclared identifier 'DynamicHelperFrameFlags_ObjectArg'
   1028 |     if (m_dynamicHelperFrameFlags & DynamicHelperFrameFlags_ObjectArg)

Maybe I should disable FEATURE_READYTORUN. That would need more changes though IIRC.

It is not needed anymore
This is not needed anymore as FEATURE_METADATA_UPDATER is now disabled on wasm
UMEntryThunkCode was removed from main recently
Disable FEATURE_VIRTUAL_STUB_DISPATCH and enable FEATURE_CACHED_INTERFACE_DISPATCH
Copy link
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you!

@radekdoulik radekdoulik marked this pull request as ready for review March 18, 2025 09:45
@radekdoulik radekdoulik merged commit 86701f6 into dotnet:main Mar 18, 2025
146 of 150 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants