-
Notifications
You must be signed in to change notification settings - Fork 5
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
start of base of ASM building #35
base: main
Are you sure you want to change the base?
Conversation
hello @zarlo, should not we focus on x64 since NativeAOT barely supports x32? I think we should focus on x64 and ARM |
Are we sure we need the X# builder API surface? While it would be nice, I think it'd be a lot more code to maintain, especially given the fact that x86-64 has a lot of ISA extensions itself. If we're limiting inline assembly to the minimum, wouldn't X# be extremely underutilized in this scenario? I believe that we could get by if we only did what is currently known as [InlineAssembly]
public static void ReadCr3() {
InlineAssembly.Literal("""
mov rax, cr3
ret
""");
} ...or, alternatively: [InlineAssembly(
"""
mov rax, cr3
ret
"""
)]
public static extern void ReadCr3(); The latter would be easier to manipulate from compile-time IL weavers. That is, we would only need to read custom attribute data, rather than interpret known IL patterns. |
I think we may discuss with coredevs regarding XSharp @zarlo |
@valentinbreiz ill keep working on the build tasks i am not (build asm and link the objects in to one) as we will need it either way |
im going to wait for #43 so this can be easily tested |
No description provided.