Commit ee0bb26
committed
Add ManagedObjectReferenceManager for CoreCLR
Add a new ManagedObjectReferenceManager that maintains GREF and WREF
counters entirely in managed code using Interlocked operations, with
zero P/Invoke overhead. Logging is disabled (LogGlobalReferenceMessages
and LogLocalReferenceMessages return false). The gref_gc_threshold
check for triggering full GC is preserved.
AndroidObjectReferenceManager is kept unchanged for Mono.
CoreCLR uses ManagedObjectReferenceManager, selected at runtime in
AndroidRuntimeOptions. NativeAOT uses the existing
Java.Interop.ManagedObjectReferenceManager with null log writers.1 parent 6748bb1 commit ee0bb26
File tree
3 files changed
+9
-2
lines changed- src
- Microsoft.Android.Runtime.NativeAOT/Java.Interop
- Mono.Android
- Android.Runtime
3 files changed
+9
-2
lines changedLines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
16 | 18 | | |
17 | 19 | | |
18 | 20 | | |
| |||
94 | 96 | | |
95 | 97 | | |
96 | 98 | | |
97 | | - | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
98 | 102 | | |
99 | 103 | | |
100 | 104 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
73 | 76 | | |
74 | 77 | | |
75 | 78 | | |
| |||
0 commit comments