Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support array parameter types of custom attributes in Mono AOT compiler #69759

Merged
merged 24 commits into from
Jun 1, 2022

Conversation

ivanpovazan
Copy link
Member

@ivanpovazan ivanpovazan commented May 24, 2022

In order to support array parameter types for custom attributes the following has been done:

  1. New types MonoCustomAttrValue and MonoCustomAttrValueArray added
  2. New function load_cattr_value_noalloc added - utilises 1.
  3. mono_reflection_create_custom_attr_data_args_noalloc updated - calls 2.
  4. New type MonoDecodeCustomAttr introduced - holds all the information about decoded custom attributes
  5. mono_reflection_create_custom_attr_data_args_noalloc updated to use 4 - now returns a single structure
  6. mono_reflection_free_custom_attr_data_args_noalloc introduced - frees the return structure from 5.
  7. Returns from mono_reflection_create_custom_attr_data_args_noalloc updated - handling fetched named and typed arguments has been adjusted to match newly added types/functions
  8. mono_marshal_get_native_wrapper updated - native to managed wrapper generation now takes into account custom attributes by updating the method's signature

Fixes #52977

…s are constructed during AOT. (dotnet#69077)" since 'load_cattr_value' is not used anymore during AOT compiling

This reverts commit d2a7a6d.
@ivanpovazan
Copy link
Member Author

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ivanpovazan
Copy link
Member Author

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ivanpovazan
Copy link
Member Author

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ivanpovazan ivanpovazan marked this pull request as ready for review May 30, 2022 17:10
@ivanpovazan ivanpovazan changed the title WIP: Support array parameter types of custom attributes in Mono AOT compiler Support array parameter types of custom attributes in Mono AOT compiler May 30, 2022
@ivanpovazan
Copy link
Member Author

Failures seem unrelated.

@ivanpovazan
Copy link
Member Author

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ivanpovazan
Copy link
Member Author

@lambdageek, would you also like to take a look at the latest changes?

@ivanpovazan ivanpovazan merged commit 549b431 into dotnet:main Jun 1, 2022
@ivanpovazan ivanpovazan deleted the cattr-array branch June 4, 2022 08:05
@ghost ghost locked as resolved and limited conversation to collaborators Jul 4, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support arrays in mono_reflection_create_custom_attr_data_args_noalloc
4 participants