summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-07-31Change tizenasanenv.S syntax (AT&T -> intel) for AMD64sandbox/ches01/asan_amd64_intel_syntaxVyacheslav Cherkashin1-52/+54
Change-Id: Ia01f41c422ba2954297594906017c66caaabf4ef Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
2019-07-30fixup! ASan: add AMD64 supportVyacheslav Cherkashin3-88/+96
Change-Id: I57dc575b1fcfba3e7c354169b4e9e7773a42ca1e
2019-07-29ASan: add AMD64 supportVyacheslav Cherkashin4-0/+203
Change-Id: I48446ce7c8771a4c75149512bb7d8a8cb3fae8e5 Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
2019-07-29DEBUG: add __sanitizer_interceptors_are_enabled() checker to Internal...()Vyacheslav Cherkashin2-3/+31
Change-Id: I1c3c2d330694ae7700d5f65e2e2928c1d9f3b008 Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
2019-07-29Add debug printsVyacheslav Cherkashin2-2/+44
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
2019-07-29[Tizen] Implement ASan wrapper for Linux ARM32Vyacheslav Cherkashin6-0/+243
This commit implements wrappers that allow interception transitions from managed to external unmanaged code (jit -> native) and back (native -> jit). This allows enable/disable ASan during transitions. Due to this, we sanitize only external code, which allows us to achieve acceptable performance. Change-Id: I53ecdc14d28f7210cd9e7f5bd4db0c8ef5ed81fc Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
2019-07-26[Tizen] Implement detecting of sanitized librariesAndrey Drobyshev6-0/+182
Parse ".dynamic" section (ELF dynamic array tags) of the module being added, find ".rel(a).plt" section and search it for presence of '__asan_init' symbol. Change-Id: Ie7cc4c818b791b5f00713b42ba15131325b8152c Signed-off-by: Andrey Drobyshev <a.drobyshev@samsung.com>
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