diff options
author | Aleksey Kliger (λgeek) <akliger@gmail.com> | 2018-02-06 00:31:42 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-06 00:31:42 +0300 |
commit | 993ed19a6ffb74edc285f7983d15c2e2fd4d9090 (patch) | |
tree | 207f8b5e5e8f970c1dc95375dcc958eba2b7fa25 /msvc/libmonoruntime-common.targets | |
parent | f01083ac485b9333c85536ef31e3af332d621929 (diff) |
[metadata] Move MonoClass initialization to a separate file (#6611)
Use `git blame -C10 mono/metadata/class-init.c` to see attribution for most of the old code.
This PR comprises:
* [metadata] Move (some) MonoClass construction to class-init.c
So far moved MonoClassDef, MonoClassGtd and MonoClassGenericInst construction
functions.
The idea is to eventually isolate functions that needs write/setter access to
MonoClass fields in a separate translation unit and make MonoClass opaque and
only accessible via getters everywhere else.
* [metadata] Move pointer MonoClass creation to class-init.c
* Mark mono_ptr_class_get as external only, runtime should use
mono_class_create_ptr.
* [msvc] Add mono/metadata/class-init.c (and .h) to the .targets file
* [metadata] Rename mono_generic_class_get_class
to mono_class_create_generic_inst
* [metadata] Move array class creation to class-init.c
* Mark mono_array_class_get external only, runtime should use
mono_class_create_array
* Mark mono_bounded_array_class_get external only, runtime should use
mono_class_create_bounded_array
* [metadata] Move generic param creation to class-init.c
* Also move mono_class_setup_vtable_general, mono_class_init_sizes, mono_class_setup_methods
* [metadata] Move mono_class_setup_basic_field_info to class-init.c
* [metadata] Move mono_class_setup_fields to class-init.c
* [metadata] Rename mono_class_from_generic_parameter_internal
to mono_class_create_generic_parameter
* [metadata] Move mono_class_layout_fields to class-init.c
* [metadata] Move mono_class_setup_{properties,events} to class-init.h
* [metadata] Move mono_class_setup_interfaces to class-init.c
* Also move mono_class_setup_mono_type
* [metadata] Move mono_class_setup_parent to class-init.c
* [metadata] remove some extern statistics
Diffstat (limited to 'msvc/libmonoruntime-common.targets')
-rw-r--r-- | msvc/libmonoruntime-common.targets | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/msvc/libmonoruntime-common.targets b/msvc/libmonoruntime-common.targets index 9cf6f249da5..82e809cc046 100644 --- a/msvc/libmonoruntime-common.targets +++ b/msvc/libmonoruntime-common.targets @@ -15,6 +15,8 @@ <ClCompile Include="$(MonoSourceLocation)\mono\metadata\class.c" /> <ClInclude Include="$(MonoSourceLocation)\mono\metadata\class-internals.h" /> <ClInclude Include="$(MonoSourceLocation)\mono\metadata\class-inlines.h" /> + <ClCompile Include="$(MonoSourceLocation)\mono\metadata\class-init.c" /> + <ClInclude Include="$(MonoSourceLocation)\mono\metadata\class-init.h" /> <ClCompile Include="$(MonoSourceLocation)\mono\metadata\class-accessors.c" /> <ClCompile Include="$(MonoSourceLocation)\mono\metadata\cominterop.c" /> <ClInclude Include="$(MonoSourceLocation)\mono\metadata\cominterop.h" /> |