Add implementation staging plan and status section to the GC-support documentation.
This commit is contained in:
Swaroop Sridhar 2015-04-21 14:03:14 -07:00
Родитель 2f64cd5990
Коммит 0722cd7b34
1 изменённых файлов: 19 добавлений и 0 удалений

Просмотреть файл

@ -541,3 +541,22 @@ C++ methods or similar.
A *PInvoke* (Platform Invoke) is a call to a native method from Jitted code.
A *Reverse PInvoke* is a call to a Jitted method from native code.
## Staging Plan
No. | Implementation | Testing | Issue | Status
---- |--------------- | --------| ------| -------
1 | Insert GC Safepoints: Run the PlaceSafepoints and RewriteSafepointsForGC phases before Code generation, and ensure that statepoints are inserted and lowered correctly | LLILC tests pass with Conservative GC | [32](https://github.com/dotnet/llilc/issues/32) | In Progress
2 | Bring GCInfo library to LLILC: Use the GCInfo library to encode Function size correctly; no live pointers reported at GC-safe points | LLILC tests pass with Conservative GC | [30](https://github.com/dotnet/llilc/issues/30) | In Progress
3 | Report GC liveness: Encode GC pointer liveness information in the CLR format using the GC-Encoding library | A few functions compiled by LLILC with correct GCInfo, bail out on all other functions | [31](https://github.com/dotnet/llilc/issues/31) |
4 | Test Pass | LLILC tests pass with Precise GC, bail out on unimplemented features (see 7,8,9 below). Standard lab testing switched over to use Precise GC | |
5 | Add GC-specific stress tests| All existing and new tests pass | |
6 | GC Stress testing | Run the LLILC tests in GCStress mode; some GCStress testing running regularly in the lab | |
7 | Special reporting for pinned pointers | Code with pinned pointers handled by LLILC | [29](https://github.com/dotnet/llilc/issues/29) | |
8 | Support interior pointers | Code with interior pointers handled by LLILC | [33](https://github.com/dotnet/llilc/issues/33) | |
9 | Fully-Interruptible code: Investigate whether fully interruptible code should be supported | Test and GCStress Pass | [473](https://github.com/dotnet/llilc/issues/473) | |
10 | Lower Write barriers to Calls late | Test and GCStress Pass | [471](https://github.com/dotnet/llilc/issues/471) | |
11 | Place Safepoint-polls only where necessary for CoreCLR runtime | Test and GCStress Pass | [425](https://github.com/dotnet/llilc/issues/425) | |
12 | Track GC-pointers in registers | Test and GCStress Pass | [474](https://github.com/dotnet/llilc/issues/474) | |
13 | Implement GC Checker | Test and GCStress Pass | [34](https://github.com/dotnet/llilc/issues/34) | |
14 | Identify Object and Managed pointers differently| Test and GCStress Pass | [28](https://github.com/dotnet/llilc/issues/28) | |