Skip to content

[NativeAOT] Try to move GC bridge code from C++ to C# #10747

@simonrozsival

Description

@simonrozsival

Android framework version

net11.0-android (Preview)

Affected platform version

.NET 11

Description

The GC bridge for Native AOT and CoreCLR is currently implemented in C++ (#10198). I would like to explore the posibility of moving as much code from native to managed code. All the processing in the background thread could be in managed code (what is now void GCBridge::bridge_processing ()). The only thing that needs to be a native entry point (can be C, doesn't have to be C++) is now void GCBridge::log_mark_cross_references_args_if_enabled (MarkCrossReferencesArgs *args) which runs when the managed world is stopped.

Steps to Reproduce

Did you find any workaround?

No response

Relevant log output

Metadata

Metadata

Labels

Area: CoreCLRIssues that only occur when using CoreCLR.Area: NativeAOTIssues that only occur when using NativeAOT.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions