Граф коммитов

7834 Коммитов

Автор SHA1 Сообщение Дата
Simon Nattress 8ca402c5a3 Merge branch 'master' into r2r 2018-09-05 11:57:39 -07:00
Toni Solarin-Sodara 4af59530ed [Interpreter] StackItem redesign (#6286)
* make StackItem an explicitly layed out struct (#5011)

* replace operator overloads with methods (#5011)

* set return based on method return type instead of stackitem kind (#5011)

* remove umanaged pointer field from StackItem (#5011)

* add program validity check to return import method (#5011)

* use ThrowHelper to throw invalid program exception (#5011)

* add Double to StackValueKind enum (#5011)

* use a double to store all floating point values (#5011)

* update handling of boolean return value (#5011)

* remove all asserts during return for integer based types (#5011)
2018-09-05 08:44:51 -07:00
Dan Moseley c4f82672cb Fix ServiceController name population perf (dotnet/corefx#32072)
* Fix ServiceController name population perf

* Split tests

* Remove dead field

* Remove new use of DangerousGetHandle

* SafeHandle all the things!

* VSB #1

* VSB #2

* Fix GLE

* Initialize machineName in ctor

* Test for empty name ex

* Null names

* Inadvertent edit

* Unix build

* Move interop into class

* Reverse SafeHandle for HAllocGlobal

* Fix tests

* Disable test for NETFX

* CR feedback

* Pattern matching on VSB

* Direct call

* typo

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-09-05 08:33:44 -07:00
Jan Kotas c8a9707235
Merge pull request #6291 from dotnet/nmirror
Merge nmirror to master
2018-09-04 18:35:36 -07:00
Atsushi Kanamori bdd0b15d92 Virtual AttributeType property and signature generic types (#19818)
* Virtual AttributeType property and signature generic types

https://github.com/dotnet/corefx/issues/31614

1. This will allow Reflection providers the option
to supply the attribute type without building
an entire constructor.

https://github.com/dotnet/corefx/issues/31798

2. This will permit other Reflection providers
to support Type.MakeGenericMethodParameter()
in their implementations.

* More robust argument validation.

* Change parameter name

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-09-04 14:59:16 -07:00
Simon Nattress 3577e093ce
Merge pull request #6293 from dotnet-bot/from-tfs
Merge changes from TFS
2018-09-04 13:28:50 -07:00
Simon Nattress 712ff6fa57 Update `CompilerTypeSystemContext` to use a single gc static table for gc and non-gc fields.
[tfs-changeset: 1712616]
2018-09-04 13:17:50 -07:00
Atsushi Kanamori 60a9b7c8c4
Make CustomAttributeData's AttributeType virtual (#6288)
https://github.com/dotnet/corefx/issues/31614

This will allow Reflection providers the option
to supply the attribute type without building
an entire constructor.
2018-09-04 11:24:15 -07:00
Michal Strehovský bf7be269ce
Merge pull request #6290 from dotnet-bot/from-tfs
Merge changes from TFS
2018-09-04 20:15:46 +02:00
Simon Nattress 6a1658b5cf Support separate blocks for Gc / Non-Gc thread statics in the managed type system. This is used in the Cross-plat AOT compiler for CoreCLR ready-to-run.
[tfs-changeset: 1712607]
2018-09-04 10:13:37 -07:00
Michal Strehovský 473e0dba00
Merge pull request #6289 from dotnet/master
Merge master to nmirror
2018-09-04 16:27:19 +02:00
Michal Strehovský 1bffabd1e3
Fix UAP build break (#6287)
Kick registry related files out of UAP builds.
2018-09-04 16:26:36 +02:00
Toni Solarin-Sodara 0ed3a0089e [Interpreter] Load Constants (#6284)
This PR adds support for loading constants to the interpreter. The following OpCodes are now supported:

* `ldc.*`
* `ldnull`
* `ldstr`
2018-09-04 11:51:58 +02:00
Santiago Fernandez Madero d82d460a85 Revert "Remove not necessary type forwarded from attributes when type comes from mscorlib in netfx" (#19784)
This reverts commit 4fb001d431e0f44df15709f02f776e565fec14c7.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-31 12:29:15 -07:00
Ben Adams 77819373b1 IndexOf(char, Ordinal) use fast path (dotnet/coreclr#19788)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-31 11:09:18 -07:00
Jan Kotas 74a91c7dbc Fix build break in CoreRT/ProjectN 2018-08-31 06:56:37 -07:00
Santiago Fernandez Madero d7e9cc3e11 Remove not necessary type forwarded from attributes when type comes from mscorlib in netfx
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-31 06:56:37 -07:00
Vance Morrison 15096cbc25 Review feedback
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-31 06:56:37 -07:00
Vance Morrison b12c95f56e Fixed from testing
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-31 06:56:37 -07:00
Vance Morrison 3889df2d36 fix spelling
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-31 06:56:37 -07:00
Vance Morrison e9a1deca3a Add try-catch
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-31 06:56:37 -07:00
Vance Morrison 77503ece9b Fix for passing enums to EventSources based on unsigned types.
See https://github.com/dotnet/coreclr/issues/19204

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-31 06:56:37 -07:00
yowl 755f9d4193 WASM: Add intrinsic implementation for ByReference<T> ctor and fix the Value getter (#5987) 2018-08-31 01:11:12 -07:00
Jan Kotas 7c79aac014
Update dependencies (#6279) 2018-08-30 23:18:09 -07:00
Jan Kotas 7662733e2f
Update MonoGame package version (#6277)
Fixes #6276
2018-08-30 11:24:29 -07:00
Simon Nattress 05abf70454 Add ready-to-run CoreCLR tests to CI
* Run CoreCLR tests that are known to pass in ready-to-run during CI
* Add a mechanism to easily collect the list of passing / failing tests for use in inclusion / exclusion lists.
2018-08-28 14:57:06 -07:00
Michal Strehovský 1d14948ca5
Merge pull request #6266 from dotnet-bot/from-tfs
Merge changes from TFS
2018-08-27 22:50:52 +02:00
Michal Strehovsky a843f957c5 Delete dead code in ILProvider
[tfs-changeset: 1711956]
2018-08-27 13:45:24 -07:00
Anipik 98081dfb35 using advapi32 instead of kernel32 2018-08-27 12:13:42 -07:00
Anirudh Agnihotry 17298c4d9c Using shared copy of registryvalueKind (dotnet/corefx#31922)
* using local copy of registryvaluekind and advapi32

* Moving complete file to shared

* name changed

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-27 12:13:42 -07:00
Michal Strehovský 3cb7813469
Merge pull request #6262 from dotnet/master
Merge master to nmirror
2018-08-26 14:19:14 +02:00
Jeremy Kuhne d62ba8968f Fix FileStream in WinRT build (dotnet/coreclr#19659)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-24 22:36:46 -07:00
Jan Kotas f0bcd9c2dc
Merge pull request #6259 from dotnet/nmirror
Merge nmirror to master
2018-08-24 20:58:06 -07:00
Ahson Khan c8bbf0e8d2 Workaround to remove unnecessary bounds checks when using {ReadOnly}Span.IsEmpty (#19640)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-24 20:57:55 -07:00
Jan Kotas cbb7caca89
Merge pull request #6258 from dotnet-bot/from-tfs
Merge changes from TFS
2018-08-24 17:02:22 -07:00
David Wrighton 31768b86b6 Fix equality comparison type issue
- Compiling a function calling Internal.IntrinsicSupport.EqualityComparerHelpers.StructOnlyEquals<T> from a function that is itself generic on T where T is Nullable<SomeGenericStructWhichImplementsIEQuatable<__Canon>> produces an internal compiler error
- The issue is that instantiating a method of Canon isn't actually permitted to be a "real, callable" instantiation
- Fix by changing the "default" variant of StructOnlyEquals to depend on EqualityComparer<T> which is known to work (by using universal generics)
- Then add a variant for just using the Equals function
- Change the compiler to use the "Normal" variant most of the time
- Except for the newly discovered problematic case which can fall back to the slower, but semantically correct EqualityComparar<T> path

[tfs-changeset: 1711845]
2018-08-24 16:04:43 -07:00
Ivan Arishchenko b059615c47 Unwinding support for arm (#6251)
* Registers_arm_rt :wrapper class around RT's VRS

RT uses REGDISPlAY structure for virtual registers set (VRS) representation.
The libunwind uses Registers_* classes to hold VRS.
The new class connects REGDISPlAY with libunwind Registers_* API.
Also the new class reuses validRegister, validFloatRegister,
getRegisterName methods from libunwind::Registres_arm class.

* Methods implementation for Registers_arm_rt class

* Avoid PORTABILITY_ASSERT() in StepFrame for ARM

The DoTheStep accepts 3 input parameters:

pc - it could be taken for regs input parameter
UnwindInfoSections - is not needed in case ARM, it will be located by
 libunwind later, before unwinding
regs - pointer to REGDISPLAY that represents RT's VRS

* Remove PORTABILITY_ASSERT() in DoTheStep()

SetInfoBaseOnIPRegister - sets unwind info for libunwind::UnwindCursor
 see UnwindCursor.hpp:1228 for additional comments

* libunwind API is updated: unw_set_reg sets pointer to register value

Since the unwinder must provide pointer to pc, setting only pc value
in the REGDISPLAY is not enough. For this reason the libunwind should
set pointers to registers to set pIP pointer.

* Clean up libunwind config file

The libunwind uses "if defined()" not "!()"

* Initialize Registers_arm_rt with REGDISPLAY

The pointer to REGDISPLAY is passed to Registers_arm_rt constructor
2018-08-23 20:51:28 -07:00
Jacek Blaszczynski e2df352701 Fix base types of second paramters used in Avx.PermuteVar and Avx2.Permute4x64 for float, double overloads
Fixes #19579

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-23 15:44:31 -07:00
Tomas Rylek 1f0ab27dc2 Fix for bug Bug 658901: [AppCompat] System.NullReferenceException caused by HockeyApp PEImageReader
In my initial ProjectN / CoreRT port of CoreCLR StackTrace from last year I mechanically included the ProjectN exception handling concept of "EdiSeparator" pseudo-frames. This is however not completely correct as such frames have invalid IP addresses and cause weird issues (e.g. by returning GetNativeImageBase = 0). I'm proposing to modify this logic so that the separator flag gets silently collapsed onto the previous frame without creating a frame of its own.

Historically, StackFrame has its own treatment for handling the EdiSeparator addresses; I haven't removed that as it doesn't seem to be harmful in any manner, it only slightly complicates formatting as such manually constructed frames constitute "separator only" frames while the ones created in StackTrace IP address expansion are normal frames with reasonable IP addresses.

Thanks

Tomas

[tfs-changeset: 1711591]
2018-08-23 14:02:26 -07:00
Brian Robbins 7c95acb9bf Make sure RuntimeEventSource is passed to EventListener.OnEventSourceCreated (#19393)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-22 23:00:30 -07:00
Morgan Brown 2d4981ac9e
Add wasm debug info (#6186)
* Add source line debug metadata. Works with javascript output.

* Add names of arguments and locals when they're stored on the stack (and thus easily visible in the debugger)

* Add debugging information to documentation
2018-08-22 16:04:53 -07:00
Krzysztof Wicher 6fdbbbadad AesGcm, AesCcm (dotnet/corefx#31389)
* AesGcm, AesCcm

* add osx stubs

* disable tests on osx and desktop (APIs not there/not supported)

* TagByteSizes on OSX

* fix TagByteSizes compilation error

* apply review feedback

* fix typo when setting tag/nonce length in ccm

* add missing SetCcmTagLength

* attempt to detect if ccm is available on Ubuntu 14.04

* disable tests on ubuntu 14.04, attempt for osx support

* attempt to fix osx

* fix osx

* review feedback

* disable new ccm testcases on ubuntu 14.04

* attempt to make Ubuntu 14.04 work

* add Interop.Initialization to OSX

* fix KeySizeHelpers after merge conflict

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-21 18:50:05 -07:00
Jan Kotas 5455c64016
Merge pull request #6248 from dotnet-bot/from-tfs
Merge changes from TFS
2018-08-21 14:09:14 -07:00
dotnet-bot 6df71f0a01 Fix an infinite app compilation
The ProjectN compiler never finishes compiling an app from an external use. The issue turns out to be due to the debug recording generation for a huge generic expansion. There are actually two problems:

1. The generic complexity computation is improper for the huge generic expansion in the failing case. The complexity computed was 0 and the compiler didn’t know it’s huge.

2. We are missing the check against the generic complexity in some places where UDT debug records are prepared.

Fixing #1 at this point is tricky since it may cause wide asm diffs where normal calls become USG calls.

Fixing #2 means the UDT types in the debug$T section for huge generic instantiations will fall back to USG or canonical records, so will the debug$S records for associated static fields. The debug$T change should only affect native debugging. The debug$S change can affect managed debugging but only for huge generic instantiations.

We've decided #2 is probably the less risky way to unblock the user in the next release and it's fixed by this change for both ProjectN and ProjectX.

[tfs-changeset: 1711506]
2018-08-21 13:55:36 -07:00
Jan Kotas 76e284fdef
Undo CoreFX update temporarily (#6244)
Try to trace down source of #6243
2018-08-21 12:59:07 -07:00
Jan Kotas 4ee7e7a8e7
Merge pull request #6247 from dotnet-bot/from-tfs
Merge changes from TFS
2018-08-21 12:58:55 -07:00
Fadi Hanna 213cea275b Fix a small linking error when building mrt100_app from a no_opt razzle window
[tfs-changeset: 1711497]
2018-08-21 11:48:20 -07:00
Clinton Ingram b8ad9c2183 Normalize whitespace/indentation
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-21 10:59:12 -07:00
Clinton Ingram 1531f06527 Update t4 templates to generate simplified type names
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-21 10:59:12 -07:00
Ben Adams e65798db4e Mark some readonly fields readonly (dotnet/coreclr#19559)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2018-08-21 10:59:12 -07:00