dotnet / dotnet/android

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

Open
#10,747 0 comments 1 reaction 2 assignees Claimed by @simonrozsival View on GitHub
Area: CoreCLR Area: NativeAOT
Dominant language
C#
Stars
2.1k
Forks
579
Avg merge
1d 19h
Merged PRs (30d)
252

Description

### 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

```shell

```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.