Skip to content
Draft
Show file tree
Hide file tree
Changes from 15 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
332a9ca
Initial plan
Copilot Jan 30, 2026
10f0b0e
Move GC bridge processing from C++ to C#
Copilot Jan 30, 2026
6ea79d5
Remove C++ bridge-processing files - processing now done in C#
Copilot Jan 30, 2026
5703ac9
Code review and security checks completed
Copilot Jan 30, 2026
c8e4465
Remove temporary codeql symlink
Copilot Jan 30, 2026
c1eab3b
Simplify gc-bridge.cc by removing unused callback mode
Copilot Jan 31, 2026
27f2faf
Add clarifying comment to initialize_for_managed_processing
Copilot Jan 31, 2026
838dbaf
Regenerate pinvoke-tables.include after removing clr_initialize_gc_br…
Copilot Feb 1, 2026
db2dd25
Refactor GC bridge to use UCO callback instead of wait_for_processing
Copilot Feb 2, 2026
31b44dd
Trigger Java GC directly through JNI from C# and remove unnecessary c…
Copilot Feb 2, 2026
c7e3f51
Simplify GC bridge: use native background thread with managed callback
Copilot Feb 2, 2026
e6ccf05
Remove C++ structs from gc-bridge.hh - use void* instead
Copilot Feb 2, 2026
584b7ce
Address code review feedback on GC bridge implementation
Copilot Feb 3, 2026
bba1d17
Add BridgeProcessingLogger and use !RuntimeFeature.IsCoreClrRuntime
Copilot Feb 4, 2026
131cee2
Address code review: cleanup and reorganize GC bridge code
Copilot Feb 4, 2026
fae4460
Suppress CS0436 warning for RuntimeFeature type conflict
Copilot Feb 4, 2026
2ea8d7f
Address review: rename to clr_initialize_gc_bridge and move GCUserPee…
Copilot Feb 4, 2026
b82a214
Fix build errors: add missing files to csproj, rename class, regenera…
Copilot Feb 4, 2026
f6f23c8
Move AddReference to BridgeProcessingJniHelper, rename Trigger to Tri…
Copilot Feb 4, 2026
4d30da0
Fix BridgeProcessingLogger missing using statement
Copilot Feb 4, 2026
6748bb1
Replace lock(RegisteredInstances) and SemaphoreSlim with ReaderWriter…
simonrozsival Feb 9, 2026
ee0bb26
Add ManagedObjectReferenceManager for CoreCLR
simonrozsival Feb 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions src/Mono.Android/Android.Runtime/RuntimeNativeMethods.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,14 @@ internal unsafe static class RuntimeNativeMethods
[DllImport (RuntimeConstants.InternalDllName, CallingConvention = CallingConvention.Cdecl)]
internal static extern bool clr_typemap_java_to_managed (string java_type_name, out IntPtr managed_assembly_name, out uint managed_type_token_id);

[DllImport (RuntimeConstants.InternalDllName, CallingConvention = CallingConvention.Cdecl)]
internal static extern delegate* unmanaged<MarkCrossReferencesArgs*, void> clr_initialize_gc_bridge (
delegate* unmanaged<MarkCrossReferencesArgs*, void> bridge_processing_started_callback,
delegate* unmanaged<MarkCrossReferencesArgs*, void> bridge_processing_finished_callback);
/// <summary>
/// Initialize GC bridge for managed processing mode.
/// Takes a callback that will be invoked when mark_cross_references is called by the GC.
/// Returns the mark_cross_references function pointer to pass to JavaMarshal.Initialize.
/// </summary>
[DllImport (RuntimeConstants.InternalDllName, CallingConvention = CallingConvention.Cdecl)]
internal static extern delegate* unmanaged<void*, void> clr_gc_bridge_init (
delegate* unmanaged<void*, void> onMarkCrossReferencesCallback);

[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal static extern void monodroid_unhandled_exception (Exception javaException);
Expand Down
Loading
Loading