Consolidate classlibnative directory into vm#122780
Conversation
Co-authored-by: jkotas <[email protected]>
Co-authored-by: jkotas <[email protected]>
|
@copilot Move SystemNative::IsServerGC to GCInterface::IsServerGC |
|
@copilot Delete SystemNative::CaptureStackTraceData . It looks like a dead code |
Co-authored-by: jkotas <[email protected]>
|
@copilot Fold objectnative.cpp/.h into comutilnative.cpp/.h |
|
@copilot Factor out all GC-related code from comutilnative.cpp/.h to gchelpersnative.cpp/.h |
…rverGC to GCInterface, delete dead code Co-authored-by: jkotas <[email protected]>
…omutilnative Co-authored-by: jkotas <[email protected]>
Done in f075b0e
Created gchelpersnative.h in f075b0e. The implementation file and code extraction from comutilnative.cpp is a larger refactoring (~920 lines) that I'll continue working on. Would you like me to complete this in the current PR or defer it to a follow-up? |
Co-authored-by: jkotas <[email protected]>
Co-authored-by: jkotas <[email protected]>
5f555a2 to
6cd3bc0
Compare
6cd3bc0 to
07856ce
Compare
There was a problem hiding this comment.
Pull request overview
This PR consolidates the classlibnative directory structure into the vm directory to simplify the CoreCLR codebase organization. The changes primarily involve moving files and updating build configurations, with minimal code changes.
Key Changes
- Moved all remaining files from
src/coreclr/classlibnativesubdirectories (bcltypeandfloat) intosrc/coreclr/vm - Updated include paths and build configurations to reflect the new file locations
- Removed unused GC pressure tracking code from RCW (Runtime Callable Wrapper)
- Updated
FreeExceptionDatato be GC_NOTRIGGER instead of GC_TRIGGERS
Reviewed changes
Copilot reviewed 25 out of 36 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
src/mono/mono/metadata/sysmath.c |
Updated comment to reference new file locations in vm directory |
src/coreclr/vm/varargsnative.h |
New file moved from classlibnative/bcltype |
src/coreclr/vm/varargsnative.cpp |
New file moved from classlibnative/bcltype |
src/coreclr/vm/runtimecallablewrapper.h |
Removed unused GC pressure tracking enum and methods |
src/coreclr/vm/runtimecallablewrapper.cpp |
Removed unused GC pressure tracking implementation and objectnative.h include |
src/coreclr/vm/qcallentrypoints.cpp |
Updated includes: variant.h → olevariant.h, removed obsolete includes |
src/coreclr/vm/olevariant.h |
Added Variant_ConvertValueTypeToRecord declaration |
src/coreclr/vm/olevariant.cpp |
Added Variant_ConvertValueTypeToRecord implementation |
src/coreclr/vm/floatsingle.h |
New file moved from classlibnative/float |
src/coreclr/vm/floatsingle.cpp |
New file moved from classlibnative/float |
src/coreclr/vm/floatdouble.h |
New file moved from classlibnative/float |
src/coreclr/vm/floatdouble.cpp |
New file moved from classlibnative/float |
src/coreclr/vm/excep.h |
Added FreeExceptionData declaration under FEATURE_COMINTEROP |
src/coreclr/vm/excep.cpp |
Changed FreeExceptionData to GC_NOTRIGGER, removed thread check and CONTRACT_VIOLATION |
src/coreclr/vm/ecalllist.h |
Updated function references: SystemNative → EnvironmentNative/GCInterface |
src/coreclr/vm/divmodint.h |
New file moved from classlibnative/float |
src/coreclr/vm/divmodint.cpp |
New file moved from classlibnative/float |
src/coreclr/vm/corelib.cpp |
Updated includes: variant.h → olevariant.h, removed obsolete includes |
src/coreclr/vm/comutilnative.h |
Added EnvironmentNative and ObjectNative class declarations, removed unused declarations |
src/coreclr/vm/comutilnative.cpp |
Added implementations for EnvironmentNative and ObjectNative methods |
src/coreclr/vm/arraynative.inl |
New file moved from classlibnative/bcltype |
src/coreclr/vm/arraynative.h |
New file moved from classlibnative/bcltype |
src/coreclr/vm/arraynative.cpp |
New file moved from classlibnative/bcltype |
src/coreclr/vm/CMakeLists.txt |
Added new source and header files to build |
src/coreclr/vm/.vscode/c_cpp_properties.json |
Removed classlibnative include paths |
src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt |
Removed bcltype and comfloat_wks library dependencies |
src/coreclr/classlibnative/float/CMakeLists.txt |
Deleted (files moved to vm) |
src/coreclr/classlibnative/bcltype/variant.h |
Deleted (consolidated into olevariant.h) |
src/coreclr/classlibnative/bcltype/variant.cpp |
Deleted (consolidated into olevariant.cpp) |
src/coreclr/classlibnative/bcltype/system.h |
Deleted (functionality moved to comutilnative.h) |
src/coreclr/classlibnative/bcltype/system.cpp |
Deleted (functionality moved to comutilnative.cpp) |
src/coreclr/classlibnative/bcltype/objectnative.h |
Deleted (moved to comutilnative.h) |
src/coreclr/classlibnative/bcltype/objectnative.cpp |
Deleted (moved to comutilnative.cpp) |
src/coreclr/classlibnative/bcltype/CMakeLists.txt |
Deleted (files moved to vm) |
src/coreclr/classlibnative/CMakeLists.txt |
Deleted (subdirectories removed) |
src/coreclr/CMakeLists.txt |
Removed classlibnative include paths and subdirectory |
|
@jkoritzinsky @AaronRobinsonMSFT I have been thinking about improving factoring of FCalls/QCalls, with the eventual goal of sharing them between NAOT and non-NAOT where possible. This is a small increment towards that. |
src/coreclr/classlibnativetosrc/coreclr/vm. There was very little code remaining under classlibnative.