summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-05-09[Tizen] seperate PIC and PIE to fix x86_64 build errorsubmit/tizen/20190509.094820accepted/tizen/unified/20190510.012106Woongsuk Cho1-3/+5
2019-04-19[Tizen] Add a library to retrieve memory regions for a coredumpMateusz Moscicki8-14/+338
This is needed to save a minicoredump of .NET applications to allows reconstruct managed stack by lldb and SOS plugin.
2019-02-14prestub: fix ExternalMethodFixupWorkersubmit/tizen/20190419.143735submit/tizen/20190419.042330submit/tizen/20190416.152950submit/tizen/20190410.105333submit/tizen/20190405.141848submit/tizen/20190327.110559submit/tizen/20190312.130143submit/tizen/20190312.123654submit/tizen/20190312.102237accepted/tizen/unified/20190422.045933Konstantin Baladurin1-1/+5
Use DispatchToken::CreateDispatchToken to get token to resolve virtual method in case of non interface MT.
2019-02-14Fix OOPStackUnwinderX86::Unwind crash when Eip is invalidIgor Kulaychuk1-1/+1
2019-02-14Fix EECodeManager::GetAmbientSP on x86/LinuxIgor Kulaychuk1-1/+2
2019-02-14[Tizen] Add -pie to linker optionHyungju Lee1-0/+1
There have been no -pie linker option. This patch adds -pie linker option into crossgen(for tizen) This originates from 0024-Add-pie-to-linker-option.patch
2019-02-14[Tizen] Enable -O3 optimization in clang 3.8junghyuk.park1-2/+2
2019-01-22Decouple JIT_FLAG_PREJIT from HW intrinsics (#22117)Michal Strehovský1-72/+69
Per dotnet/corert#6836 (comment) moving the decision whether to enable HW intrinsics to the EE side.
2019-01-22Restrict HW intrinsic name check to intrinsic types (#22116)Michal Strehovský1-18/+18
Avoids having to compare names of all types in CoreLib to see if they're HW intrinsics.
2019-01-22Do not throw from TraceResolver (#22126)Michal Strehovský1-3/+5
Fixes #22059.
2019-01-22Move MemoryFailPoint to shared CoreLib partition (#22104)Filip Navara20-250/+339
* Move MemoryFailPoint to shared CoreLib partition. * Split MemoryFailPoint into Unix and Windows versions. * Replace MemoryFailPoint.GetMemorySettings FCall with GC.GetSegmentSize to make sharing with CoreRT easier.
2019-01-22Fix CoreRT build breaksJan Kotas2-9/+5
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-21Move TplEtwProvider to shared partition (#22120)Marek Safar3-16/+6
2019-01-21Remove two unnecessary ToArray calls (#22119)Stephen Toub1-6/+6
We can just copy directly from the List, rather than first converting the list to an array and then copying that.
2019-01-21Avoid intermediate strings in some StringBuilder formatting (#22111)Stephen Toub4-16/+30
* Avoid intermediate strings in some StringBuilder formatting Several appends to string builders are first creating strings and then appending those strings, and they're not using the existing Append(primitive) overloads because they want to customize the format string or provider as part of appending the value. This fixes a few of those cases, using another internal AppendSpanFormattable overload on StringBuilder. * Address PR feedback
2019-01-20Move Task factory type to shared partition (#22089)Marek Safar4-22/+8
2019-01-20Use List<T>.ToArray() in places (#22101)Ben Adams2-18/+10
* Use ReadOnlySpan.ToArray in places * Use List.ToArray * Don't take .Length in to local and use as loop condition
2019-01-20Cleanup array related FCalls (#22097)Jan Kotas21-348/+166
* Cleanup Array FCalls * Disable outdated CoreFX tests https://github.com/dotnet/corefx/pull/34700
2019-01-19Fix CoreCLR build for changes in shared partitionJan Kotas7-165/+84
2019-01-19Fix build for ProjectN/WinRTInterop Delete superfluous AsyncCausalityTracer ↵Jan Kotas5-51/+49
arguments Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-19Fix buildMarek Safar2-2/+2
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-19Cleanup: Remove MethodDesc::GetLoaderAllocatorForCode (#22067)Jan Vorlicek12-30/+16
This function was recently changed to just return the MethodDesc::GetLoaderAllocator. This is a cleanup that removes the function completely and replaces all of its usages.
2019-01-19Removed unused 'Stack Walking' code (#22039)Matt Warren1-43/+0
As fair as I can tell `ECWGCFCrawlCallBack(..)` is not wired-up anywhere (I've successfully compiled CoreCLR locally with this change under `x86` and `x64`)
2019-01-18Fix calling conventions on reverse PInvoke callbacks. (#22044)Jeremy Koritzinsky1-2/+3
2019-01-18SuperPMI Collect/Replay/AsmDiff tool (#21252)Jarret Shook2-3/+11
This change adds superpmi.py. The tool feature three modes, collection, replay, and asmdiffs. Collection The collection logic is very similar to the logic in our superpmi-collect test. Mostly it just allows running a script which will run managed code and it will produce a .mch which is clean to be run against. See superpmi.md for more information on specific usage and problems. Replay Replay will take an existing .mch file and run the current jit over the collection. If there is no .mch file on disk, the script will download the latest collection and run against that. AsmDiffs superpmi.md has the latest information on what platforms support asmdiffs. So far, I have an updated OSX and Windows collection that I have run against. If there are binary diffs, the tool will automatically generate base & diff folders with the asm under each one. Future work would include automatically running jit-analyze over those locations. In addition, the tool has the option to automatically run and diff jit dumps, I have found this to be useful to looking into diffs created, as re-running superpmi with different jits to collect this same information is somewhat tedious. Future work This change is in no way the end of the work needed to leverage superpmi effectively. Instead, it is a good first step. Below are some suggestions for future superpmi work: Automated collections Add pmi collection support Leverage some of the new corefx work to use superpmi shim for collections of corefx runs To be added/changed I will unset zapdisable being set by default, it creates too much data, although it is useful it should be opt in Will include example usage in superpmi.md.
2019-01-18Move AsyncCausality to shared partition (#22062)Marek Safar6-74/+87
* Move AsyncCausality to shared partition * Set FeatureAsyncCausalityTracer property
2019-01-18Add Per-assembly Load Native Library callbacks (#21555)Swaroop Sridhar9-70/+256
Add Per-assembly Load Native Library callbacks This Change implements the Native Library resolution Call-backs proposed in https://github.com/dotnet/corefx/issues/32015
2019-01-18Enable detection of HW intrinsics (dotnet/corert#6836)Michal Strehovský25-4/+81
I took the liberty of marking the types containing the hardware intrinsics as [Intrinsic] to avoid doing a name check on everything in the system module. It feels like we should take advantage of this attribute in CoreCLR too. This doesn't actually enable the support because RyuJIT unconditionally disables HW intrinsics for prejit (both CoreRT and CPAOT are considered prejit). We might want to do something about this on the RyuJIT side to address that (for CPAOT, to be able to pregenerate best code possible ahead of time, assuming a fixed ISA; and for CoreRT without JIT, where the concerns about AVX-SSE penalty don't apply). See conversation in dotnet/coreclr#21603 Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-18Fix defines in TaskAwaiter (dotnet/corert#6846)Marek Safar1-34/+34
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-18Handle complex constrained calls with default interface methods (#21978)Michal Strehovský3-0/+33
This adds handling for the interface dispatch corner case where: * We have a constrained callsite to a method on a generic interface in shared code * The callsite cannot be statically resolved because the result of dispatch depends on the generic context * At runtime, the dispatch resolves to a default interface method This would require us to have infrastructure to build "boxing thunks" - thunks that would box their first argument before dispatching to the default interface method implementation. Since this is a corner case and the fix is actually quite involved, we're making the runtime just throw in this situation. The test is written so that it should pass both if the runtime chooses to throw, or if the runtime makes the boxing thunk (we're not hardcoding the implementation limitation).
2019-01-18Use correct resolution scope when checking default implementations (#22036)Michal Strehovský1-3/+5
We need to use the module of the interface. Fixes #22021.
2019-01-18Add comments on headers that gets parsed by Mono linker for whoever touches ↵Sung Yoon Whang5-1/+34
this next (#22054) * Add comments on headers that gets parsed by Mono linker for whoever touches this next * add more comments to the targets file
2019-01-17Move Environment to shared CoreLib (dotnet/corefx#34654)Stephen Toub41-0/+2737
Rather than having Environment partially live in corefx and call into an EnvironmentAugments type in CoreLib that in turn calls into an Environment type in CoreLib, we're just moving Environment to live in CoreLib. To start that, this PR moves Environment and its dependencies from their current locations into the shared CoreLib. Those changes will mirror over to coreclr. After that, I'll fix it up to work in CoreLib. And once those changes are built and available back to corefx, I'll update System.Runtime.Extensions to just use the functionality from CoreLib and delete remaining unnecessary code from corefx. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-17Remove ToString from RuntimeAssembly.GetManifestResourceStream (#22012)Stephen Toub2-4/+10
* Remove ToString from RuntimeAssembly.GetManifestResourceStream A small allocation we can avoid with the span-based string.Concat. * Address PR feedback
2019-01-17Split ContractsBCL into separate classes and move them to shared CoreLib ↵Filip Navara9-407/+368
(#22006) * Split up ContractsBCL into separate classes. * Move remaining Contract, ContractHelper code to shared partition. * Split ContractHelper to allow custom debugging experience in CoreRT. * Simplify ContractHelper.InternalContractFailed. * Use resource loading code from CoreRT. * Remove unused parameter.
2019-01-17Clean up a few minor Span-related uses (#22038)Stephen Toub6-10/+10
Some unnecessary Span to ReadOnlySpan casts. Some places where new Span(...).Slice(...) can be replaced with AsSpan(...). Etc.
2019-01-17Remove a few stale resource strings for ConcurrentStack (#22037)Stephen Toub1-9/+0
2019-01-17Avoid allocations in Utf8Formatter.TryFormat(float/double, ...) (#22011)Stephen Toub2-41/+81
* Avoid allocations in Utf8Formatter.TryFormat(float/double, ...) Currently every call to Utf8Formatter.TryFormat for a float or a double allocates two strings, one for the format string and one for the resulting number. This avoids those in the common case where we can use float/double.TryFormat and format directly into a stack buffer. Also removes some unsafe code; the performance of StandardFormat.ToString isn't currently worth the extra nanoseconds gained by using unsafe code. * Delete assert There's a test that uses unsafe code to cause this to fail and validate that no exception is thrown.
2019-01-17Fix AsyncMethodBuilder build on Mono (#22034)Marek Safar1-1/+1
2019-01-17Fix CoreCLR build of AsyncMethodBuilder.Filip Navara1-5/+9
2019-01-17Add new members to AsyncCausalitySupport.Filip Navara3-1089/+13
Remove file moved to shared partition. Fix builds without FeatureCominterop.
2019-01-17Move AsyncMethodBuilder to shared. (dotnet/corert#6832)Filip Navara3-0/+1140
* Move AsyncMethodBuilder to shared. * Bring back PROJECTN. * #if-out TrackAsyncMethodCompletion for CoreRT. Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-16Merge pull request #21997 from BruceForstall/FixFpRelativeInstructionsBruce Forstall1-7/+12
Fix two cases of FP-relative immediate offsets possibly not encodable
2019-01-16Reduce steps for string.Contains(string value) (#22008)Ben Adams1-3/+8
2019-01-16 Fix imm-operand encoding for SSE/AVX instructions (#21999)Fei Peng1-8/+24
* Move more SSE2 tests to the template * Improve Insert test template to involve more codegen situations * Fix imm-operand encoding for SSE/AVX instructions
2019-01-15String -> stringJan Kotas8-16/+16
2019-01-15Delete files moved to shared partitionJan Kotas6-224/+0
2019-01-15Move more COM exceptions to shared partition (dotnet/corert#6829)Marek Safar6-0/+212
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-01-15Fix two cases of FP-relative immediate offsets not being checked for ↵Bruce Forstall1-7/+12
encodability For ARM32/ARM64, the immediate offsets in addressing modes have limited range that varies by instruction. A couple cases were not checking for that range, leading to generating potentially un-encodable instruction. In particular, the test case shows a case where a very large frame in a function with a stored generic context would fail on ARM64. There are no code diffs from this change for ARM64, except we sometimes get better assembly comments where the local variable referenced is annotated on the store instruction. For ARM32, the "secret stub param" is now stored using SP-relative addressing, not FP-relative, if possible (which we generally prefer in main function bodies).
2019-01-15On SIGTERM default to a non-zero exit code (#21300)Tom Deseyn6-91/+130
* On SIGTERM default to a non-zero exit code * Fix Windows builds * Improve SIG_DFL/SIG_IGN handling * Remove PAL_GetTerminationExitCode * Use sa_handler/sa_sigaction based on SA_SIGINFO; remove HAVE_SIGINFO_T. * configure.cmake: remove siginfo_t check * Move restore_signal_and_resend so OSX can use it; add function documentation * Fix OSX build: include pal/process.h for gPID * Check SIG_IGN and SIG_DFL against sa_handler * Don't use sa_handler when SA_SIGINFO is set * Fix equality check * Swap order of checking SA_SIGINFO and SIG_IGN/SIG_DFL