summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-06-06Use CMake's C# support to build DacTableGen instead of manually invoking ↵Jeremy Koritzinsky20-181/+129
csc.exe ourselves. (#24342) * Use CMake's C# support to build DacTableGen instead of manually invoking csc.exe ourselves. * Fix x86 failures. * Disable DAC generation when building with NMake Makefiles and issue an error since the CMake C# support is VS-only. We don't actually support building with NMake (only configure) so this is ok. * Clean up rest of the macro=1's PR Feedback. * Fix Visual Studio generator matching. * Explicitly specify anycpu32bitpreferred for DacTableGen so the ARM64 build doesn't accidentally make it 64-bit * Fix bad merge
2019-06-06Clear syncblock early when `VERIFY_HEAP && DEBUG` to prevent verification ↵Vladimir Sadov2-0/+15
asserts. (#24992) Fixes:#24879
2019-06-06Delete unnecessary security transparency attributes (#25007)Jan Kotas1-2/+0
2019-06-06Shortenning /Platform_Assemblies_Paths to just /p for convenience. Leaving ↵Fadi Hanna1-11/+11
the original switch name for compatibility reasons. (#24986)
2019-06-06PInvoke stubs for Unix platforms (#24834)Fadi Hanna9-34/+225
Enable pinvoke stub inlining on Unix Exclude x86 Unix platforms from inlining pinvoke stubs (limited support)
2019-06-06Fix tmp dir in configure.cmake (#25003)Jan Vorlicek1-3/+4
The ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS check was using a temp path that had some non-existent components. While this works fine on Linux, it fails to create the temp file on OSX. The fix is to use temp dir in the CMake's output dir.
2019-06-05Less work for OptimalMaxSpinWaitsPerSpinIteration fast-path (#21702)Ben Adams1-11/+13
2019-06-05APIs to allow profilers to use DoStackSnapShot on Linux (#24968)David Mason10-15/+109
2019-06-05Fix GCStress coverage for multi reg returns. (#24826)Sergey Andreenko5-246/+375
* Extract ReplaceInstrAfterCall. * Avoid GCStress when return multireg with pointers. Determinate when we need to protect the second register and do not cause GCStress in such cases. * Add a repro test. * Reenable MethodImplOptionsTests. * Extract IsGcCoveregeInterruptInstruction. That changes how we do checks for arm32 in `IsGcCoverageInterrupt`. * Tolerate direct call to JIT_RareDisableHelper. x86 ILStubClass:IL_STUB_PInvoke(byref,ref,int,byref):int generates it like: Generating: N119 ( 4, 7) [000118] ------------ * RETURNTRAP int REG NA IN0021: cmp dword ptr [0F9BF9F8H], 0 New Basic Block BB10 [0009] created. IN0022: je L_M6496_BB10 Call: GCvars=00000001 {V01}, gcrefRegs=00000000 {}, byrefRegs=00000000 {} IN0023: call CORINFO_HELP_STOP_FOR_GC * Support GC stress protect return 1/2/both Unix x64. * Fix arm64. Do not insert GC Stress instrucitons when we can't determinate the exact return kind. * Fix review1. * Fix review2. * Change the test as Andy suggested. * Fix some typos. * Replace all SLOT with PBYTE. * Disable assert that can fail because of multithreading.
2019-06-05Fix PAL_GetLogicalProcessorCacheSizeFromOS on mac (#24777)Andy Hanson3-0/+18
* Fix PAL_GetLogicalProcessorCacheSizeFromOS on mac In a previous PR (https://github.com/dotnet/coreclr/commit/ed52a006c01a582d4d34add40c318d6f324b99ba#diff-8447e54277bb962d167a77bb260760d7R1879), GetCacheSizePerLogicalCpu was changed to no longer rely on cpuid on amd64 systems; instead it uses GetLogicalProcessorCacheSizeFromOS(). Unfortunately that function consisted of a number of `#if`s, none of which were active on macs, and we just returned 0. This caused us to default to a gen0size of only 0.25MB, causing many GCs. Fixed by adding a new case that uses `sysctlbyname`. Fix #24658 * Fixes from code review * Check for function sysctlbyname instead of header
2019-06-05Shortenning /Platform_Assemblies_Paths to just /p for convenience. Leaving ↵fadimounir1-11/+11
the original switch name for compatibility reasons.
2019-06-05Zero initReg in genSetGSSecurityCookie (#24371)Egor Chesakov5-97/+97
Fix an issue that is reproduced when 1) a register is used in the prolog for initializing GSSecurityCookie (i.e. the register contains a random non-zero value) and 2) the same register holds a must-init GC variable in the next basic block and 3) the variable is live at the beginning of this basic block. The register was not zeroed at the end of the prolog and this was causing segmentation fault during GC.Collect().
2019-06-05Merge pull request #24937 from safern/FixNullableAnnotationsApiReviewSantiago Fernandez Madero62-275/+200
Fix some nullable annotations from API Review
2019-06-05Cleanup block stores and test for 24846 (#24950)Carol Eidt6-194/+125
* Cleanup block stores and test for 24846 Fix zero-length assert/bad codegen for initblk. Remove redundant assertions in codegen and those that don't directly relate to codegen requirements. Eliminate redundant LEA that was being generated by `genCodeForCpBlk`. Rename `genCodeFor[Cp|Init]Blk` to `genCodeFor[Cp|Init]BlkHelper` to parallel the other forms. Fix the test case for #24846.
2019-06-05Use Modern CMake features instead of CMAKE_CXX_FLAGS (#24861)Jeremy Koritzinsky9-13/+13
* Convert C++ standard settings and warning options from CMAKE_<LANG>_FLAGS to Modern CMake isms. * More $<COMPILE_LANGUAGE> generator expressions instead of CMAKE_CXX_FLAGS. * Use $<COMPILE_LANGUAGE:CXX> for all -fpermissive usage * Fix generator expression that generates multiple flags * Fix invalid use of CMAKE_CXX_FLAGS instead of CMAKE_C_FLAGS. * Treat AppleClang as though it is Clang (match pre-3.0 behavior). * Update our build system to understand that AppleClang is distinct from Clang and remove CMP0025 policy setting. * PR Feedback.
2019-06-05Small fixes around AST nodes. (#24957)Sergey Andreenko6-11/+11
* Fix MEASURE_NODE_SIZE and naming mistakes. * The additional fields were deleted in #14582 (~1.5 years ago). * Fix GT_INDEX_ADDR def. We created them as `new (this, GT_INDEX_ADDR) GenTreeIndexAddr` but used smaller `GenTreeIndex` as nessecary size. * Use LargeOpOpcode instead of GT_CALL.
2019-06-04signedness (#24878)Sinan Kaya1-1/+1
2019-06-04Remove stale Task async extension methods from TaskExtensions (#24958)Santiago Fernandez Madero1-30/+0
2019-06-04Remove Collection<T> range APIs (#24938)Santiago Fernandez Madero1-113/+0
2019-06-04Synchronize managed and unmanaged Variant fields (#24951)Jan Kotas7-214/+106
* Synchronize managed and unmanaged Variant fields Fixes #24948
2019-06-04More PR FeedbackSantiago Fernandez Madero6-58/+30
2019-06-04Make sure we can enable auto-trace when the root level define is added (#24955)Andrew Au1-0/+3
2019-06-04PR FeedbackSantiago Fernandez Madero13-31/+17
2019-06-04EventPipe fixes (#24952)Andrew Au3-3/+5
2019-06-04Fix PGO on Windows (#24949)Jeremy Koritzinsky1-0/+2
* Add warning disables around InitJITHelpers1 for C4731 * Move configureoptimization up in configurecompiler.
2019-06-04Update to AutoTrace (#24936)John Salem3-9/+28
* * Add license headers to autotrace.h|cpp * use W() macro for getting correct string literal type * formalize env vars to be COMPlus_* style * add documentation * modify cmake files to have the flag and set default value to 0 * Fix typo
2019-06-04Being consistent (#24927)Youssef13131-15/+110
Being consistent using all if statement with curly braces.
2019-06-04follow the ICU User Guide recommendation to optimize the perf of ↵Adam Sitnik1-17/+36
InvariantCultureIgnoreCase on Linux (#24889) * follow the ICU User Guide recommendation to optimize the perf of InvariantCultureIgnoreCase on Linux: 1. try to guess the max size and call ucol_getSortKey just once 2. if the buffer is not big enough, call the method again providing the actual sort key length * handle 0 case * handle integer overflow * shorten the time the buffers are pinned * use the cheapest pinning * code review fixes: don't use variable length stackalloc, don't copy text from docs (licensing) + don't try to go with the fast path when it would require allocating more managed memory for big strings * simplify the condition
2019-06-03PR FeedbackSantiago Fernandez Madero30-90/+40
2019-06-03Fix some nullable annotations from API ReviewSantiago Fernandez Madero52-149/+166
2019-06-03Specify TaskScheduler.Default in EventPipeEventDispatcher (#24930)Stephen Toub1-1/+1
Just in case there's a non-default TaskScheduler in play, explicitly specify TaskScheduler.Default so that we don't accidentally schedule this task to another scheduler, in which case it's up to that scheduler if and how to respect the LongRunning request.
2019-06-03Avoid moving the bitOffset twice when enumerating safepointsAndrew Au1-2/+0
2019-06-03Fix signature mismatch between managed and unmanaged GetCodeInfo signatures ↵Jan Kotas4-22/+5
(#24932) Fixes #24925
2019-06-03Remove some event trace asserts that can fail if tracing is stopped at a ↵Koundinya Veluri1-6/+0
particular point (#24897)
2019-06-03Remove unnecessary Shared<T> class from Task (#24931)Stephen Toub1-15/+2
It's just StrongBox<T>.
2019-06-03Adjust several `where T : class?` constraints (#24894)Stephen Toub4-12/+16
* Adjust several `where T : class?` constraints * Address PR feedback
2019-06-03Removing the TestAllOnes, TestAllZeros, and TestMixOnesZeros methods from ↵Tanner Gooding5-103/+0
the Sse41 class (#24886) * Removing the TestAllOnes, TestAllZeros, and TestMixOnesZeros methods from the Sse41 class * Removing JIT support for the SSE41_TestAllOnes, SSE41_TestAllZeros, and SSE41_TestMixOnesZeros intrinsics * Removing tests for the Sse41.TestAllOnes, Sse41.TestAllZeros, and Sse41.TestMixOnesZeros methods
2019-06-03Fix initialize methods to set m_Header correctly (#24892)John Salem1-0/+9
* put check in to ensure incoming message header has reasonable size
2019-06-03Fix logic for deletionJuan Hoyos1-5/+3
2019-06-03Fix event pipe session provider list clearJuan Sebastian Hoyos Ayala1-6/+2
2019-06-02Final touchAndrew Au2-2/+2
2019-06-02Productize auto_traceJohn Salem2-15/+49
2019-06-02AutoTrace - launch dotnet trace to capture trace as soon as the runtime is ↵Andrew Au4-1/+98
available to trace
2019-06-02Improve fatal err msg (#24390)Dan Moseley10-76/+30
* Improve fatal err msg * Match SO format * a * Remove dead define * More adjustments to ex msg * And PAL * Remove special case for SOE * Remove excess Debug.Assert newline * Remove excess newline * typo * New format * Remove DebugProvider redundancy * Adjustments * Remove preceding newline * Make other SOE and OOM consistent * Tidy up assertion msg * Fix missing newline after inner exception divider * CR when no inner exception * ToString never CR terminated * disable corefx tests temporarily
2019-05-31Move EventPipeEventSource deletion to a better place (#24901)Sung Yoon Whang1-2/+5
* Move EventPipeEventSource deletion to a better place * typo
2019-05-31Fix FileStream.FlushAsync() to behave like Flush() (#24902)Stephen Toub1-18/+2
Flush() behaves like Flush(false) and writes out any buffered data but doesn't P/Invoke to FlushFileBuffers/FSync to flush the OS buffers. But whereas FlushAsync() is supposed to just be an async equivalent of Flush(), it's actually behaving like Flush(true). This makes FlushAsync() inconsistent and much more expensive. (This is separate from FlushAsync not actually being async, which is an impactful problem to be solved separately.) This changes FlushAsync to behave like Flush()/Flush(false) rather than Flush(true). If someone wants the FlushFileBuffers/FSync behavior, they can call Flush(true).
2019-05-31Handle a zero byte cpblk (#24871)Carol Eidt7-31/+20
Fix #24846
2019-05-31Fix overlooked moduleIndex initial value (#24881)Jan Vorlicek1-1/+1
When adding the signature copying some time ago, I have overlooked one place where the moduleIndex was set to -1 instead of MODULE_INDEX_NONE. I was using the -1 during the development and replaced it by creating MODULE_INDEX_NONE during final cleanup at all but one places. This caused issues during crossgen even without large version bubble enabled. Methods requiring generic constraint were not crossgen-ed due to this.
2019-05-31Makes GetTotalAllocatedBytes monotonic in nonprecise case. (#24875)Vladimir Sadov1-5/+23
* Makes GetTotalAllocatedBytes monotonic in nonprecise case. Fixes:#24615 * read `dead_threads_non_alloc_bytes` atomically on 32bit platforms * Update src/vm/comutilnative.cpp Co-Authored-By: Jan Kotas <jkotas@microsoft.com>
2019-05-30Delete dead code (#24876)Jan Kotas2-51/+0