Justin Van Patten [Mon, 11 May 2015 07:03:34 +0000 (00:03 -0700)]
Avoid unnecessary delegate allocations
There are 9 up-front delegate allocations (2 for TextReader and 7 for
TextWriter) that are unnecessary in most cases as most
TextReader/TextWriter subclasses override the base async methods where
such delegates are used. Instead, let the compiler allocate and cache
such delegates lazily, only in the rare cases when the delegates are
actually used.
Jan Vorlicek [Fri, 22 May 2015 19:21:44 +0000 (21:21 +0200)]
Merge pull request #1042 from janvorli/remove-setlocale
Remove the InitializeStringResources function
Jan Vorlicek [Fri, 22 May 2015 09:50:55 +0000 (11:50 +0200)]
Remove the InitializeStringResources function
Now that the default string resources are embedded in the libcoreclr, it is no longer necessary to
set the LC_MESSAGES locale to en_US in the PAL.
Pat Gavlin [Thu, 21 May 2015 22:14:32 +0000 (15:14 -0700)]
Merge pull request #1041 from pgavlin/JITMethodical
Import more JIT tests.
Aditya Mandaleeka [Thu, 21 May 2015 20:32:02 +0000 (13:32 -0700)]
Merge pull request #1030 from josteink/freebsd-tests
CoreClr: Make tests run on FreeBSD and document how to run them.
Pat Gavlin [Thu, 21 May 2015 17:41:53 +0000 (10:41 -0700)]
Import more JIT tests.
This imports the remainder of the tests under JIT\Methodical that are
able to target CoreCLR.
This also contains build fixes for tests under
JIT\Directed\coverage\oldtests that were mangled during a previous import.
Jostein Kjønigsen [Thu, 21 May 2015 13:23:33 +0000 (23:23 +1000)]
CoreClr: Make tests run on FreeBSD and document how to run them.
Not all platforms have bash in /bin/.
Documentation added to the general FreeBSD build-instructions.
Pat Gavlin [Thu, 21 May 2015 18:32:04 +0000 (11:32 -0700)]
Merge pull request #1028 from mmitche/fix-cmd-exit-codes
Fix cmd exit codes
Matt Mitchell [Thu, 21 May 2015 16:53:11 +0000 (09:53 -0700)]
Disable tests failing at runtime and remove tests failing to compile.
See #1036, #1037 and #1038
Jan Kotas [Thu, 21 May 2015 06:41:46 +0000 (23:41 -0700)]
Merge pull request #1007 from AlexGhiondea/updateBuildToolsVersion
Update Microsoft.DotNet.BuildTools.CoreCLR to version 1.0.2.
Jan Kotas [Thu, 21 May 2015 06:41:13 +0000 (23:41 -0700)]
Merge pull request #1029 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Wed, 20 May 2015 23:05:59 +0000 (16:05 -0700)]
ReadyToRun bugfixes
Fix bugs found by desktop tests
[tfs-changeset: 1474260]
John Chen [Wed, 20 May 2015 23:03:04 +0000 (16:03 -0700)]
Merge pull request #1024 from JohnChen0/master
Clarify that the final mscorlib.dll is in bin\Product
Alex Ghiondea [Fri, 15 May 2015 19:27:38 +0000 (12:27 -0700)]
Update Microsoft.DotNet.BuildTools.CoreCLR to version 1.0.2.
This version updates BclRewriter.exe with a copy that can run on Dev15 RC
Matt Mitchell [Wed, 20 May 2015 22:38:31 +0000 (15:38 -0700)]
Fix exit codes in build/test scripts
The use of goto :eof in numerous places in the build and test scripts is problematic. If preceded by an echo or other command, it will overwrite the exit code and the script may return incorrectly. This was happening for buildtest, masking a recent ycompilation error in one of the tests.
Change all of the goto :eof's to exit /b.
Andy Ayers [Wed, 20 May 2015 22:32:14 +0000 (15:32 -0700)]
Merge pull request #1025 from AndyAyersMS/TypedReferenceTest
Add simple JIT test for typed references.
Andy Ayers [Wed, 20 May 2015 21:01:04 +0000 (14:01 -0700)]
Add simple JIT test for typed references.
This compiles directly against mscorlib since TypedReference is not part of any contract assembly.
Pat Gavlin [Wed, 20 May 2015 17:16:53 +0000 (10:16 -0700)]
Merge pull request #1021 from pgavlin/JITDirected
Import JIT tests.
John Chen (JOCHEN7) [Wed, 20 May 2015 16:30:56 +0000 (09:30 -0700)]
Clarify that the final mscorlib.dll is in bin\Product
Jan Kotas [Wed, 20 May 2015 15:48:50 +0000 (08:48 -0700)]
Merge pull request #1023 from janvorli/add-readytorun-to-glossary
Add ReadyToRun term to the glossary
Jan Vorlicek [Wed, 20 May 2015 14:35:11 +0000 (16:35 +0200)]
Add ReadyToRun term to the glossary
Jan Kotas [Wed, 20 May 2015 12:10:07 +0000 (05:10 -0700)]
Merge pull request #1022 from janvorli/readytorun-linux
Enable ReadyToRun feature on Unix
Jan Vorlicek [Thu, 30 Apr 2015 20:32:25 +0000 (13:32 -0700)]
Enable ReadyToRun feature on Unix
This change enables building the ReadyToRun feature on Unix systems.
Carol Eidt [Tue, 19 May 2015 23:52:16 +0000 (16:52 -0700)]
Merge pull request #1004 from BruceForstall/JitCodingConventions
Add JIT Coding Conventions document in markdown format
Bruce Forstall [Wed, 13 May 2015 22:40:12 +0000 (15:40 -0700)]
Add JIT Coding Conventions document in markdown format
Pat Gavlin [Mon, 18 May 2015 16:53:47 +0000 (09:53 -0700)]
Import JIT tests.
This brings over most of the tests from `JIT/Directed` that can
target CoreCLR.
Jan Kotas [Tue, 19 May 2015 20:21:10 +0000 (13:21 -0700)]
Merge pull request #1020 from dotnet-bot/from-tfs
Merge changes from TFS
Aditya Mandaleeka [Tue, 19 May 2015 19:59:52 +0000 (12:59 -0700)]
Merge pull request #1009 from adityamandaleeka/string-resources-linux
Ensure fallback to English resources on non-Windows platforms
Aditya Mandaleeka [Tue, 19 May 2015 19:19:28 +0000 (12:19 -0700)]
Simplify logic for ensuring minimum hex length in rctocpp
Simplified the logic for ensuring that a hex string has 8 characters after
the '0x' prefix. Also clarified a comment about potential loss of numeric
precision when using numbers as indices in awk arrays.
Jan Kotas [Tue, 19 May 2015 07:55:02 +0000 (00:55 -0700)]
Fix potential null pointer dereference
Calling WriteFile with both lpOverlapped and lpNumberOfBytesWritten set to null is invalid combination on Windows 7
[tfs-changeset: 1472978]
Aditya Mandaleeka [Fri, 15 May 2015 23:56:23 +0000 (16:56 -0700)]
Ensure fallback to English resources on non-Windows platforms
Take the resources in RC files and build a static library that contains
the ID->English string mappings. Use those strings as the key to gettext
so that when gettext is not able to find a suitable string in the desired
language, it falls back on returning the English string.
Bengu Li [Mon, 18 May 2015 20:54:25 +0000 (13:54 -0700)]
Merge pull request #966 from libengu/TestNan
Add Methodical/NaN test cases for JIT.
Jan Kotas [Mon, 18 May 2015 20:12:17 +0000 (13:12 -0700)]
Merge pull request #1014 from JohnChen0/master
Fix register used in method fixup stubs
John Chen (CLR) [Mon, 18 May 2015 17:18:21 +0000 (10:18 -0700)]
Fix register used in method fixup stubs
On x64, Linux uses rsi instead of rdx to pass the second parameter.
Jan Kotas [Mon, 18 May 2015 15:57:03 +0000 (08:57 -0700)]
Merge pull request #1013 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Mon, 18 May 2015 15:06:24 +0000 (08:06 -0700)]
Merge pull request #1001 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Mon, 18 May 2015 14:33:51 +0000 (07:33 -0700)]
Rollback error handling change in CorHost2::SetStartupFlags
This change is breaking existing CoreCLR hosts.
[tfs-changeset: 1472596]
Jan Kotas [Mon, 18 May 2015 14:29:18 +0000 (07:29 -0700)]
Fix contract for PEFile::IsILImageReadyToRun
[tfs-changeset: 1472594]
Jan Kotas [Mon, 18 May 2015 14:27:20 +0000 (07:27 -0700)]
Handle NULL explicitly in VirtualCallStubManager::getStubKind
[tfs-changeset: 1472593]
Pat Gavlin [Fri, 15 May 2015 23:05:43 +0000 (16:05 -0700)]
Merge pull request #1006 from pgavlin/JitInterfaceNullRef
Fix a null dereference in the JIT interface.
Pat Gavlin [Fri, 15 May 2015 20:45:57 +0000 (13:45 -0700)]
Fix a null dereference in the JIT interface.
Jan Kotas [Fri, 15 May 2015 13:41:15 +0000 (06:41 -0700)]
Merge pull request #998 from kangaroo/gitignore-updates
Add atom-build and ctags to gitignore
Pallavi Taneja [Fri, 15 May 2015 00:37:35 +0000 (17:37 -0700)]
Update the OSS mscorlib to match the closed one by doing the following
1. Updated the location from where we pick up the whitelists.
2. Updated the debug flag to debug+ debug:pdbOnly
3. Removed the CODE_ANALYSIS flag from the ret builds.
[tfs-changeset: 1471259]
Wes Haggard [Fri, 15 May 2015 02:50:18 +0000 (19:50 -0700)]
Merge changes from parent branch
[tfs-changeset: 1471040]
Jan Kotas [Thu, 14 May 2015 21:45:50 +0000 (14:45 -0700)]
Merge pull request #999 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Thu, 14 May 2015 20:48:06 +0000 (13:48 -0700)]
Merge pull request #996 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Thu, 14 May 2015 20:47:57 +0000 (13:47 -0700)]
Merge pull request #997 from tony/chmod-x-freebsd-install-lldb
[trivial] chmod +x freebsd lldb script
Geoff Norton [Thu, 14 May 2015 17:49:51 +0000 (10:49 -0700)]
Add atom-build and ctags to gitignore
Tony Narlock [Thu, 14 May 2015 02:48:33 +0000 (21:48 -0500)]
chmod +x freebsd lldb script
Eric St. John [Wed, 13 May 2015 22:05:57 +0000 (15:05 -0700)]
Remove circular dependency from System.Diagnostics.Tracing
EventSource was recently changed to depend on System.Collections.Concurrent, which is a problem since System.Collections.Concurrent itself uses eventsource. This cycle caused issues during package resolution (NUGET/DNX fails fast when it finds a cycle) and would also cause problems during cross-gen.
Desktop & CoreCLR do not have this cycle since ConcurrentDictionary and EventSource both live in mscorlib. This is only a problem for N.
According to @VanceM the FEATURE_ACTIVITYSAMPLING that requires ConcurrentDictionary is not needed for ProjectN so we are disabling it. The feature is not needed for CoreCLR either, so even though we don't care about the cycle we'll remove the feature for consistency.
[tfs-changeset: 1470229]
Ryan Byington [Wed, 13 May 2015 21:24:23 +0000 (14:24 -0700)]
Removing System.dll from ProjectK and NetCoreForCoreCLR
Updating the runtime to find the necessary marshing helpers in the new assemblies for CoreCLR builds.
[tfs-changeset: 1470196]
Jan Kotas [Wed, 13 May 2015 18:44:37 +0000 (11:44 -0700)]
Merge pull request #994 from dotnet-bot/from-tfs
Merge changes from TFS
Pallavi Taneja [Wed, 13 May 2015 17:20:39 +0000 (10:20 -0700)]
While trying to throw MissingManifestResourceException in NetCoreForCoreCLR we try to load MissingManifestResource_ResWFileNotLoaded, which is not present in the CoreCLR version of the mscorlib, resulting in throwing ArgumentNullException instead. This change simply adds the two resources to the CoreCLR version of the assembly.
[tfs-changeset: 1469999]
Jan Kotas [Tue, 12 May 2015 23:42:45 +0000 (16:42 -0700)]
Merge pull request #992 from dotnet-bot/from-tfs
Merge changes from TFS
Carol Eidt [Tue, 12 May 2015 23:00:55 +0000 (16:00 -0700)]
Minor fix: add 'const' inadvertently omitted from CS #1467781.
[tfs-changeset: 1469457]
Carol Eidt [Tue, 12 May 2015 22:28:50 +0000 (15:28 -0700)]
Merge pull request #981 from CarolEidt/EnableSIMDAndAVX
Enable FEATURE_SIMD and FEATURE_AVX_SUPPORT in the JIT
Carol Eidt [Tue, 12 May 2015 04:25:51 +0000 (21:25 -0700)]
Enable FEATURE_SIMD and FEATURE_AVX_SUPPORT in the JIT
For amd64 processors, the JIT supports SIMD intrinsics and supports generating AVX instructions when the processor support is available.
Fix # 977
Carol Eidt [Tue, 12 May 2015 21:11:14 +0000 (14:11 -0700)]
Merge pull request #982 from AndreyAkinshin/master
Documentation/ryujit-overview.md: small improvements
Andrey Akinshin [Tue, 12 May 2015 07:59:37 +0000 (10:59 +0300)]
Documentation/ryujit-overview.md: small improvements
Pat Gavlin [Tue, 12 May 2015 19:43:51 +0000 (12:43 -0700)]
Merge pull request #988 from pgavlin/GcInfoConst
Fix some const-correctness issues in the GC info encoder.
Jan Vorlicek [Tue, 12 May 2015 19:40:38 +0000 (21:40 +0200)]
Merge pull request #986 from janvorli/fix-osx-personality
Fix OSX personality routines encoding
Pat Gavlin [Tue, 12 May 2015 18:27:16 +0000 (11:27 -0700)]
Fix some const-correctness issues in the GC info encoder.
Jan Kotas [Tue, 12 May 2015 17:26:05 +0000 (10:26 -0700)]
Merge pull request #985 from jkotas/cachefullname
Cache Type.FullName in StackTrace
Jan Vorlicek [Tue, 12 May 2015 15:31:09 +0000 (17:31 +0200)]
Fix OSX personality routines encoding
This change fixes a crash that occured in case a managed callback
called from a native code throws an exception. The correct behavior
is to exit the process and dump the managed call stack. It works ok
on Linux, but on OSX, it crashes with segmentation violation trying
to execute code at address 4.
The problem is caused by the fact that either the assembler or
the linker ignores personality routines specified using the encoding
0 (absolute pointer) and stores value 4 instead of the routine address
no matter what routine is specified.
Fortunatelly, there is another encoding that can be used and that works.
It is an indirect PC relative encoding (code 0x9b).
However, there is another problem. The linker issues a warning when there
are more than 3 personality routines in the whole libcoreclr.dylib:
ld: warning: too many personality routines for compact unwind to encode
As for now, I have removed the ExceptionHijackPersonalityRoutine from
the ExceptionHijack asm helper to fix this problem.
We will need to figure out what to do about it once we enable the thread
hijacking on Unix. This personality routine's purpose is to make stack
walker walk stack of a highjacked function as if the highhack routine was
called from it. It seems we can use a different technique for that -
to create a helper frame that would have IP pointing to a function that
is never called, but has an unwind info that ensures that we walk
through the hijack correctly. The same technique is used for hardware
exception handling on OSX.
Jan Kotas [Tue, 12 May 2015 16:00:23 +0000 (09:00 -0700)]
Cache Type.FullName in StackTrace
Jan Kotas [Tue, 12 May 2015 15:47:26 +0000 (08:47 -0700)]
Merge pull request #929 from justinvp/stacktrace_stringallocations
Removes some string-related allocations from StackTrace and StackFrame
Jan Kotas [Tue, 12 May 2015 02:34:40 +0000 (19:34 -0700)]
Merge pull request #979 from stephentoub/export_opensemaphorew
Export OpenSemaphoreW from PAL
Jan Kotas [Tue, 12 May 2015 02:34:17 +0000 (19:34 -0700)]
Merge pull request #975 from jkotas/missingrc
Update assertion failure message
Jan Kotas [Mon, 11 May 2015 18:49:22 +0000 (11:49 -0700)]
Update assertion failure message
Jan Kotas [Tue, 12 May 2015 01:42:38 +0000 (18:42 -0700)]
Merge pull request #980 from janvorli/fix-vm-range-issue
Fix VM total space issue
Jan Vorlicek [Tue, 12 May 2015 00:43:48 +0000 (02:43 +0200)]
Fix VM total space issue
This change fixes an issue that caused brick table corruption due to
an incorrectly reported VM total space and the gc_heap::grow_brick_card_tables
not being resilient against that.
This change updates the GlobalMemoryStatusEx PAL function to return appropriate
VM user space size value and also modifies the gc_heap::grow_brick_card_tables
so that in case an end address of a new GC heap segment is larger than the
approximate maximum obtained using the GlobalMemoryStatusEx, we don't
clip down the range that the new card_table / brick_table will cover.
Otherwise an object allocated above that range would cause indexing into the
card_table to overrun the end of the table.
Stephen Toub [Mon, 11 May 2015 22:59:19 +0000 (18:59 -0400)]
Export OpenSemaphoreW from PAL
Semaphore.OpenExisting uses OpenSemaphoreW from the PAL, but it's not being exported, resulting in EntryPointNotFoundExceptions.
Justin Van Patten [Tue, 5 May 2015 16:36:22 +0000 (09:36 -0700)]
Remove unnecessary allocations
I noticed some string allocations that can be trivially avoided in
StackTrace and StackFrame.
Jan Kotas [Sat, 9 May 2015 04:52:49 +0000 (21:52 -0700)]
Merge pull request #856 from DickvdBrink/guid-fix
Parse Guid correctly
Jan Kotas [Sat, 9 May 2015 04:48:00 +0000 (21:48 -0700)]
Merge pull request #968 from toptensoftware/master
osxbundlerun - corerun for use in OS-X app packages
Brad Robinson [Sat, 9 May 2015 03:50:16 +0000 (13:50 +1000)]
osxbundlerun - corerun for use in OS-X app packages
Jan Kotas [Sat, 9 May 2015 03:38:01 +0000 (20:38 -0700)]
Merge pull request #967 from dotnet-bot/from-tfs
Merge changes from TFS
Carol Eidt [Sat, 9 May 2015 02:09:51 +0000 (19:09 -0700)]
Recognize System.Numerics as a SIMDVectorAssembly (1168471)
With the refactoring of the SIMD Vector types, System.Numerics needs to also be marked as a SIMDVectorAssembly.
[tfs-changeset: 1467781]
Bengu Li [Fri, 8 May 2015 23:50:42 +0000 (16:50 -0700)]
Add Methodical/NaN test cases for JIT.
Add Methodical/NaN test cases for JIT. Related proj, config,
and sln files added and updated. Passed build, buildtest, runtest.
Also added Generic/Exceptions, Methodical/MDArray/DataTypes,
Directed/StructPromote tests to AllTestProject.sln.
Jan Kotas [Fri, 8 May 2015 23:07:47 +0000 (16:07 -0700)]
Merge pull request #965 from stephentoub/fix_progress_model
Fix System.Progress`1 in model.xml
Stephen Toub [Fri, 8 May 2015 21:37:28 +0000 (17:37 -0400)]
Fix System.Progress in model.xml
The BCL rewriter is stripping System.Progress`1 out of mscorlib when
compiling for Linux and OSX, because the model.xml has it conditionally
and erroneously included based on FEATURE_COMINTEROP. Code trying to use
System.Progress`1 type forwarded from System.Runtime.Extensions.dll then
blows up at run time, since the type isn't available.
Jan Kotas [Fri, 8 May 2015 18:49:49 +0000 (11:49 -0700)]
Merge pull request #964 from dotnet-bot/from-tfs
Merge changes from TFS
Aditya Mandaleeka [Fri, 8 May 2015 18:43:59 +0000 (11:43 -0700)]
Merge pull request #960 from adityamandaleeka/pipes-for-create-thread-suspended
Add ability to use pipes for creating threads suspended
Jan Kotas [Fri, 8 May 2015 18:10:13 +0000 (11:10 -0700)]
Set IMAGE_SECTION_HEADER::PointerToRawData correctly
The OS loader expects PointerToRawData to be zero for sections without raw data.
[tfs-changeset: 1467437]
Aditya Mandaleeka [Fri, 8 May 2015 18:05:31 +0000 (11:05 -0700)]
Use pipes for creating threads suspended on Darwin too
Remove USE_PIPES_FOR_CREATING_SUSPENDED_THREADS and just enable it for all
the platforms. Previously, it was disabled on Darwin.
Jan Kotas [Fri, 8 May 2015 00:03:43 +0000 (17:03 -0700)]
Merge pull request #961 from ajensenwaud/freebsd-lldb-doc21
Updated FreeBSD installation instructions with LLDB steps
Anders Jensen-Waud [Thu, 7 May 2015 23:16:52 +0000 (09:16 +1000)]
Updated FreeBSD installation instructions with LLDB steps
Included build instructions for FreeBSD on how to
manually build and install LLDB on FreeBSD STABLE
Included FreeBSD LLDB install script
Fixed spacing issues
Fixed installation formatting
Aditya Mandaleeka [Thu, 7 May 2015 21:56:17 +0000 (14:56 -0700)]
Add ability to use pipes for creating threads suspended
Added the ability in PAL to create a thread in suspended state by
specifying a pipe which ResumeThread will write to in order to
wake it up. This functionality is protected behind
USE_PIPES_FOR_CREATING_SUSPENDED_THREADS which is enabled on
everything except Darwin.
Jan Kotas [Thu, 7 May 2015 21:06:07 +0000 (14:06 -0700)]
Merge pull request #957 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Thu, 7 May 2015 20:54:43 +0000 (13:54 -0700)]
Merge pull request #958 from edhedges/patch-1
Updated Garbage Collector design document URL
Eddie Hedges [Thu, 7 May 2015 20:51:54 +0000 (15:51 -0500)]
Updated Garbage Collector design document URL
Jan Kotas [Thu, 7 May 2015 19:59:04 +0000 (12:59 -0700)]
Merge pull request #956 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Thu, 7 May 2015 19:41:45 +0000 (12:41 -0700)]
Enable crossgen CreatePDB for desktop
[tfs-changeset: 1466606]
dotnet-bot [Thu, 7 May 2015 06:43:46 +0000 (23:43 -0700)]
Merge changes from parent branch
[tfs-changeset: 1466545]
Jan Kotas [Thu, 7 May 2015 18:55:33 +0000 (11:55 -0700)]
Merge pull request #949 from jkotas/warnings
Changes for building using VS2015
Jan Kotas [Thu, 7 May 2015 06:53:09 +0000 (23:53 -0700)]
Changes for building using VS2015
Jan Kotas [Thu, 7 May 2015 17:05:32 +0000 (10:05 -0700)]
Merge pull request #942 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Thu, 7 May 2015 16:39:14 +0000 (09:39 -0700)]
Fix build break on Unix
Gaurav Khanna [Thu, 7 May 2015 00:22:02 +0000 (17:22 -0700)]
Disable AssemblyLoadContext in AppX mode
When running an app in AppX mode, the AssemblyLoadContext based PInvoke resolution mechanism kicks in incorrectly as it does not account for an assembly bound by the WinRT binder. It mistakes it to be the AssemblyLoadContext binder and attempts to perform a resolution via it, passing it NULL value for the managed load context. This results in GCHandle throwing InvalidOperationException.
The fix is to not go via the host if we are an AppX process and when we do, we account for WinRT binder as well.
[tfs-changeset: 1466015]
Jan Kotas [Thu, 7 May 2015 07:30:38 +0000 (00:30 -0700)]
Merge pull request #945 from jkotas/gcvalidation
Fix detection of uninitialized bricks during heap verification