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

Merge nmirror to master#3226

Merged
nattress merged 20 commits intomasterfrom
nmirror
Apr 7, 2017
Merged

Merge nmirror to master#3226
nattress merged 20 commits intomasterfrom
nmirror

Conversation

@MichalStrehovsky
Copy link
Member

No description provided.

atsushikan and others added 5 commits April 5, 2017 15:40
Noticed this while doing the pointer array work. Turns out *step through `typeof(Foo).MakeByRefType()` in a debugger and then find all other occurences of "IsPointer" "is Pointer", "is Parameterized" and update accordingly* is not a good strategy to write type loader code.

[tfs-changeset: 1653281]
* Add CoreRT implementation for the dynamic invoke template table which maps invoke stub name / sig to the canonical method entrypoint
* CoreRT based compilers use 32bit relative addresses to the stub containing EEType and method entry points (.NET Native uses RVAs). Set the bit on the reloc to indicate a 32bit rel reloc.
* Fix a bug in generic method template map where generic methods on structs were getting IsUnboxingStub set incorrectly

[tfs-changeset: 1653288]
nattress and others added 2 commits April 5, 2017 16:56
The dynamic invoke tests were failing because the JIT was inlining all the target methods leaving nothing to actually invoke through reflection. Mark all the methods we invoke (including the empty constructors) with `[MethodImpl(MethodImplOptions.NoInlining)]`.

[tfs-changeset: 1653296]
@jkotas
Copy link
Member

jkotas commented Apr 6, 2017

@dotnet-bot test OSX Debug and CoreCLR tests please

atsushikan and others added 4 commits April 6, 2017 08:10
Fix #2588


Port of SymCryptMarvin32() from marvin.cpp.

https://github.com/dotnet/coreclr/blob/master/src/vm/marvin32.cpp#L219


- Tested on various seeds and data arrays up to 30 bytes long.
  (test data obtained by hacking CoreCLR to get test data with deterministic
  seeds.)

- s0/s1 renamed to p0/p1 (for more consistency with algorithm description
  in patent.)

- Verified that NUTC generates fully inlined code for Marving.ComputeHashString()
  (including reducing _rotl to rol or ror.)

- Marvin specifies interpreting bytes in little-endian fashion - if this code
  ever runs on a big-endian machine, the result is probably not Marvin
  (though I can see how it's any less useful for the way we use it.)

- This is not turned on by default (we don't yet have a switch to turn
  on randomized string hashing in CoreRT).
@MichalStrehovsky
Copy link
Member Author

@cshung Are you set up to have a look at the CoreRT build breaks caused by your change? There's independent breakage in both Unix builds and Windows builds.

@cshung
Copy link
Contributor

cshung commented Apr 6, 2017

I am on it.

cshung and others added 9 commits April 6, 2017 14:25
[tfs-changeset: 1653426]
[tfs-changeset: 1653494]
ObjectInvariant - an obsolete method for supporting
contracts...

CreateWaitHandle - not too useful by itself,
but I assume this was meant to be overridden
by something more useful.

Synchronized - creates SyncStream.

-

Keeping Stream structured the same as the
CoreCLR version. Not going to attempt to share
this as there still lots of scary looking
async differences. I'll leave this to the
area owner.
[tfs-changeset: 1653504]
@nattress nattress merged commit 94744f1 into master Apr 7, 2017
@nattress
Copy link
Contributor

nattress commented Apr 7, 2017

This passed SimonCI locally on my Mac so just merging.

dotnet-bot pushed a commit to dotnet/coreclr that referenced this pull request Apr 7, 2017
Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
jkotas pushed a commit to dotnet/coreclr that referenced this pull request Apr 7, 2017
Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
@RussKeldorph
Copy link

I think this resulting in

208:2>System\Diagnostics\Tracing\EventCounter.cs(239,26): error CS0436: The type 'EventCounter' in 'C:\git\coreclr\_\fx\src\System.Diagnostics.Tracing\src\System\Diagnostics\Tracing\EventCounter.cs' conflicts with the imported type 'EventCounter' in 'System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. Using the type defined in 'C:\git\coreclr\_\fx\src\System.Diagnostics.Tracing\src\System\Diagnostics\Tracing\EventCounter.cs'. [C:\git\coreclr\_\fx\src\System.Diagnostics.Tracing\src\System.Diagnostics.Tracing.csproj]

Is there a corresponding dotnet/corefx PR ready to resolve this?

@RussKeldorph
Copy link

@brianrob see last comment.

@jkotas
Copy link
Member

jkotas commented Apr 10, 2017

I am going to submit one.

@RussKeldorph
Copy link

@jkotas Thanks. Looks like it just hit: dotnet/corefx#18167

@brianrob
Copy link
Member

@RussKeldorph, is this failing in coreclr, corefx or corert? I'm not 100% sure from the message above.

@RussKeldorph
Copy link

@brianrob This is latest corefx tests with latest coreclr. Sounds like @jkotas has it under control.

@brianrob
Copy link
Member

Ok, thank you. @jkotas if you need me to handle this, just let me know and I'll jump in.

dotnet-bot pushed a commit to dotnet/corefx that referenced this pull request Jan 13, 2018
Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
dotnet-bot pushed a commit to dotnet/corefx that referenced this pull request Jan 13, 2018
Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
safern pushed a commit to dotnet/corefx that referenced this pull request Jan 16, 2018
Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
safern pushed a commit to dotnet/corefx that referenced this pull request Jan 16, 2018
Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
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.

8 participants