Skip to content
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.

Merge nmirror to master #1662

Merged
merged 7 commits into from
Aug 17, 2016
Merged

Merge nmirror to master #1662

merged 7 commits into from
Aug 17, 2016

Conversation

jkotas
Copy link
Member

@jkotas jkotas commented Aug 17, 2016

No description provided.

Atsushi Kanamori and others added 4 commits August 16, 2016 15:04
RuntimeTypeInfo.GetDeclaredMethods() and GetDeclaredNestedType()
were inheriting their implementations from TypeInfo.
This is fine with today's bits but as soon as we replace
TypeInfo with the one from the full framework, these
will break as the full framework TypeInfo routes everything
through the BindingFlags apis which won't be implemented
yet.

To avoid that, we'll override them with a self-sufficient
implementation to tide us over until everything's
back up and running.

This also shone light on the fact that the unspoken
convention of making sure each override/no-override
decision is made explicit in this particular codebase
has bit-rotted some. So I added some new override
declarations to fill those holes.
A small preparatory change for TypeInfo restoration.
Addressing a big known problem of the native metadata reader - allocating way too many arrays (and array enumerators) when reading metadata.

I'm updating the reader generator to generate XXXCollection types that are structs and have a struct enumerator.

I'm specifically not updating the consumers to take advantage of this (i.e. we still sometimes pass the collection as an IEnumerable within the reflection stack). This is because I don't want the changeset to clash with the reflection refactoring work - I would like to push this change into our next release. This makes SharedLibrary.dll 35 kB smaller on x86 because we no longer have the crazy amount of array types implementing all the crazy collection types.

[tfs-changeset: 1622617]
@jkotas
Copy link
Member Author

jkotas commented Aug 17, 2016

@dotnet-bot test Windows_NT Debug please

jkotas added 2 commits August 16, 2016 21:26
Delete assert to verify asm get current thread implementation because it was not detecting potential bugs soon enough, required extra platform-specific asm code, and there are number of other asserts that will detect potential mismatch between C++ and asm current thread implementation (e.g. in RhpReversePInvokeAttachOrTrapThread2).

[tfs-changeset: 1622722]
@jkotas jkotas merged commit 0c0fb0e into master Aug 17, 2016
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.

4 participants