- 01 11月, 2019 9 次提交
-
-
由 Elinor Fung 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/24b4e11161cf217672fcd3c62158b12c93822e18
-
由 Tomáš Rylek 提交于
I have renamed xplat-test-job to xplat-pipeline-job. In perf-job I duplicated a few variables from xplat-pipeline-job as the job is currently based on a completely different YAML file hierarchy. It would be probably useful to unify these two at some point but I believe it to be beyond the scope of my simple cleanup w.r.t. product build manipulation. Thanks Tomas Commit migrated from https://github.com/dotnet/coreclr/commit/9970bccb5ea8dee5e449845bff93e3677810a2dd
-
由 Andrew Au 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/01d2c1316843648d496d0530be3236efd2114e53
-
由 Tomáš Rylek 提交于
This change adds explicit layout checks using a loose port of the CoreCLR algorithm i.e. creating an array representing the individual bytes of the type layout and gradually filling it in with GC reference / non-GC reference markers for the individual fields. Thanks Tomas Commit migrated from https://github.com/dotnet/coreclr/commit/97c582975eed3260ef21e0bcc55c8c86d1e3bec8
-
由 Tanner Gooding 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/2c60f4b0dc0b853c98dc3a10491f0a84ee2f3870
-
由 Brian Sullivan 提交于
Fix dotnet/coreclr#27326 - Don't decrement curOffsReg when it is 0, as it is an unsigned and will wrap to MAX_UINT (dotnet/coreclr#27561) Fixes dotnet/coreclr#27326 Commit migrated from https://github.com/dotnet/coreclr/commit/21c0fefd52cf8035d4ce6e3d410223cc1e2533ea
-
由 Brian Sullivan 提交于
* Use info.compFullName as the input to create the JIT's MethodHash Update JitOrder to print out MethodHash and PerfScore Change eeGetMethodFullName to expand class and struct names for the argument types and the return type Fixed issue where bad edge weight were set in fgFoldConditional Made flEdgeWeightMin and flEdgeWeightMax private fields Added new method setEdgeWeights Added support method eeGetArgClass Added source for Tool to parse JitOrder output and associate PerfScores * Remove jitOrderParser.cs Commit migrated from https://github.com/dotnet/coreclr/commit/c6697a00ef7ecba6012b1a52f13401ce06b8295b
-
由 Stephen Toub 提交于
* Update analyzer packages to latest NuGet versions * Fix new warnings Signed-off-by: Ndotnet-bot <dotnet-bot@microsoft.com> Commit migrated from https://github.com/dotnet/coreclr/commit/fbf9e07f573f2db70de7aeae6aff963ca4c1eae6
-
由 Viktor Hofer 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/db5f07cc6a51a8cb3d0b59a53f4313f086da2765
-
- 31 10月, 2019 8 次提交
-
-
由 Elinor Fung 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/77b2c2b0fb5148228ae917ae92c35220189108a9
-
由 Stephen Toub 提交于
- Use string.IndexOf rather than an open-coded, unsafe loop. - Avoid an unnecessary SequenceEquals at the end: we're only at this point if a `%` was found highlighting that something escaped was found. - Use stack memory for smaller inputs if possible, to avoid unnecessary ArrayPool interaction - Remove an unnecessary argument to a helper function. - Fix ValueStringBuilder.Grow to only copy the contained data. Signed-off-by: Ndotnet-bot <dotnet-bot@microsoft.com> Commit migrated from https://github.com/dotnet/coreclr/commit/32e2ae94dc818e5eaa364f06bf36478c6138a13c
-
由 Ben Adams 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/946e57b61a4db9ccb574fc3a754f783208080947
-
由 Tomáš Rylek 提交于
As Jeremy discovered, my recent CoreCLR pipeline optimization change broke GC stress tests. This change should fix the problem; I have also deleted the platform-matrix-managed-test-build script that is no longer used. Thanks Tomas Commit migrated from https://github.com/dotnet/coreclr/commit/d931f7772e9d7ee9299682fcb43b8d9a0a9429ca
-
由 Jakob Botsch Nielsen 提交于
* Fix slow tailcalls to VSDs This was broken when fgCanFastTailCall was changed to call fgInitArgInfo. fgInitArgInfo has side effects and will in some cases add arguments to the arg list. Specifically for calls to VSD, the VSD arg is added, however this case is treated specially for slow tailcalls and it does not expect the arg to be here. This targeted fix just removes this arg from the arg list. * Reenable more_tailcalls on x64 Windows * Disable more_tailcalls on Unix, arm32 and arm64 * Address feedback * Disable STRESS_UNSAFE_BUFFER_CHECKS for more_tailcalls Commit migrated from https://github.com/dotnet/coreclr/commit/f4a886369b270d648552d4ae973e1c92d4202b8c
-
由 mikedn 提交于
* Enable block init unroll on ARM32 * Small LowerBlockStore cleanup Commit migrated from https://github.com/dotnet/coreclr/commit/41546b05e31c0ba72537ec6445176086964717bb
-
由 Andy Ayers 提交于
Look for blocks with single statement noreturn calls, and try to reroute flow so there's just one block call that all predecessors target. Resolves dotnet/coreclr#14770. Note this impairs debuggability of optimized code a bit, as it can change which line of code apparently invokes a throw helper in a backtrace. But since we're already commoning jit-inserted throw helpers (like array index OOB) this is not breaking any new ground. We could also handle commoning BBJ_THROW blocks, with some extra effort, but prototyping indicates duplicate throws are pretty rare. This phase runs just before `optOptimizeFlow`, so that we can leverage the ref counts and predecessor lists to ensure we make correct flow updates. It doesn't bother trying to clean out IR, that happens naturally as blocks become unreferenced. In some cases nothrow helpers end up being tail call candidates. We now suppress tail calling noreturn methods if there is more than one such call site in the method, hoping that instead we can merge the calls. Commit migrated from https://github.com/dotnet/coreclr/commit/b962c97257400bee07805ccee66cd85d97195b40
-
由 Egor Chesakov 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/a6e54c083708f2711f573b10fcb7217fc008ecb9
-
- 30 10月, 2019 15 次提交
-
-
由 Egor Chesakov 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/74ec37af01d33b11f788ef20a80403badf13ae99
-
由 Egor Chesakov 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/a9ab3ca5849c601e6843d59febf6f163d5179843
-
由 Tomáš Rylek 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/73a6c7bf96a5671807006ab11e699ee5eb99693f
-
由 Elinor Fung 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/139e79c08485866fdf5f6245e49a4f65acc7968f
-
由 Jan Kotas 提交于
Signed-off-by: Ndotnet-bot <dotnet-bot@microsoft.com> Commit migrated from https://github.com/dotnet/coreclr/commit/f1ff212f4c2775d48b1a30cc0842ec9b42178ea8
-
由 Carlos Sanchez Lopez 提交于
Approved API Proposal: dotnet/coreclr#41614 Related change for directory creation method that takes an ACL: dotnet/coreclr#41834 -merged and ported to 3.1 Prev2 Description We have extension methods in System.IO.FileSystem.AclExtensions that let the user get and set ACLs for existing files, but we do not have methods that create files with predefined ACLs. .NET ACL (Access Control List) support is Windows specific. This change will reside inside the System.IO.FileSystem.AccessControl assembly. Customer impact Before this change, customers had to create a file or filestream, then set its ACLs. This presents a few problems: Potential security hole as files can be accessed between creation and modification. Porting difficulties as there isn't a 1-1 API replacement Stability issues with background processes (file filters) can prevent modifying ACLs right after creation (typically surfaces as a security exception). This change addresses those problems by adding a new extension method that allows creating a file and ensuring the provided ACLs are set during creation. This change is expected to be backported to 3.1. Signed-off-by: Ndotnet-bot <dotnet-bot@microsoft.com> Commit migrated from https://github.com/dotnet/coreclr/commit/be9323fa75dba520599815b1faa68e19a87a39a9
-
由 Stephen Toub 提交于
We need to use it in corelib, too. Signed-off-by: Ndotnet-bot <dotnet-bot@microsoft.com> Commit migrated from https://github.com/dotnet/coreclr/commit/549ba51466e56dec67056499706213524bfa6c63
-
由 Filip Navara 提交于
Signed-off-by: Ndotnet-bot <dotnet-bot@microsoft.com> Commit migrated from https://github.com/dotnet/coreclr/commit/c058fad9b54ce3061b862c50f2a85304baf3b5ba
-
由 mikedn 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/00e89cf4f9c39ff093fbe9e060bab84cb586fa02
-
由 Aaron Robinson 提交于
* Revert removal of SuppressGCTransition from SystemNative_GetTimestamp() * Insert GC_POLL before statement with unmanaged call. * JIT test for insertion of GCPoll Commit migrated from https://github.com/dotnet/coreclr/commit/77f64aa03e74496c34ca484d6351263fe978757d
-
由 Sergey Andreenko 提交于
* Delete unused `scAvailable`. * Delete unused `PhysRegIntervalIterator`. * Expression is always true. * Possible overflow. * Delete unreachable/unused code. * Two or more case-branches perform the same actions. * Check self-copying. * The 'isOnStack' variable is assigned values twice successively. * The 'then' statement is equivalent to the 'else' statement. `MAX_COST` is `UCHAR_MAX` so if `unsigned char cost >= MAX_COST` then it is equal to ``MAX_COST`. So the code was correct, but confusing. * Expression 'newPage == nullptr' is always true. * Expression 'inconsistentProfileData' is always false. * A part of conditional expression is always false: typ == TYP_BOOL. * A part of conditional expression is always true: emitFullGCinfo. We have an early return from this function if `emitFullGCinfo == false`. * A part of conditional expression is always true: asgNode. We have an early return if it is nullptr. * delete an unused function with errors. There were 3 incorrent printf arguments. * Delete another unused function without return. * An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression, * The expression is of enum type. It is odd that it is used as an expression of a Boolean-type. * the usage of '#pragma warning(default: X)' is incorrect in this context. The '#pragma warning(push/pop)' should be used instead. That function and almost the whole file is unused, do we want to delete it? * The expression 'eeGetHelperNum(method)' is of enum type. It is odd that it is used as an expression of a Boolean-type. * `nodeThis` and `nodeOther` are always true. * 'this == nullptr' expression should be avoided - this expression is always false on newer compilers, because 'this' pointer can never be NULL. Don't compare `this` with null. * Variables 'm_Cost', 'm_Size' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'Expr()->GetCostSz()' expression. * Parameter 'toRefPosition' is not used inside function body. * Expression 'parentOfArgObj == parentArgx' is always true. We assigned `parentOfArgObj ` to `parentArgx` and did not change any of them before that check. * The 'srcCount' variable is assigned values twice successively. Perhaps this is a mistake. * Response review. Commit migrated from https://github.com/dotnet/coreclr/commit/80867d1b5753ea5625b63aecccab1084c84e62af
-
由 Drew Scoggins 提交于
* Add osGroup parameter to perf call * Change parameters to match queue schema * Remove space Commit migrated from https://github.com/dotnet/coreclr/commit/9cae8fab0b75539e497c4931bbd2758306abcf85
-
由 Adeel Mujahid 提交于
Remove gcc nonnull-compare suppression and impossible conditions. > error: nonnull argument 'this' compared to NULL > [-Werror=nonnull-compare] Commit migrated from https://github.com/dotnet/coreclr/commit/4afbe3a43814803bcdc1cefb1e2f2792257cf02f
-
由 Vladimir Sadov 提交于
Reduce frequency of GC long running tests to twice a week. Make Gc simulator tests run nightly, for now. (dotnet/coreclr#27521) Commit migrated from https://github.com/dotnet/coreclr/commit/564dcc0525e623578c91e6d0fbe28c9af9e426b4
-
由 Jeremy Koritzinsky 提交于
* Resolve IBCMerge's path via NuGetPackageRoot since we never actually restore ibcmerge.csproj directly. * Additional fixes to get IBCMerge working again. * Update src/.nuget/optdata/ibcmerge.csproj Co-Authored-By: NElinor Fung <47805090+elinor-fung@users.noreply.github.com> Commit migrated from https://github.com/dotnet/coreclr/commit/ff7c12cc6c208176b76e62c793c3754fe8cac9ed
-
- 29 10月, 2019 8 次提交
-
-
由 Egor Chesakov 提交于
Commit migrated from https://github.com/dotnet/coreclr/commit/eae780cfa390ba1ea26f575a7082b961ea473864
-
由 Noah Falk 提交于
1. Fix NullReferenceException. When the filter args exceeded the hard-coded size limit GetDataFromController would return data = null. The code previously asserted that data was not null and triggered NRE when it was. The fix correctly null checks the value instead of asserting and uses an empty args dictionary in this case, the same as if filter args had been empty to begin with. 2. ETW has always limited filter args to 1024 bytes but EventPipe has no such restriction. When using DiagnosticSourceEventSource it can be useful to specify a larger filter arg blob. I can't do anything about ETW's restriction but there is no need for the runtime to force EventPipe to be equally limited. The larger size also reduces the chance that we need to hit the fallback path above causing filter args to be ignored. Commit migrated from https://github.com/dotnet/coreclr/commit/857797d9ba9be6f82b83ae6c29b51d490d41cf87
-
由 Omair Majid 提交于
The destructor cleans up resources allocated by MethodCallSummarizer during its normal lifetime. Commit migrated from https://github.com/dotnet/coreclr/commit/caaed1b78c3c20dc17e39e2986712264149ae923
-
由 Ilia 提交于
Move required _Unwind_* definitions to src/vm/exceptionhandling.cpp; Remove src/pal/inc/pal_unwind.h (dotnet/coreclr#27509) Fixes dotnet/coreclr#27503 Commit migrated from https://github.com/dotnet/coreclr/commit/2773be53ea7e8e1b9297b167c697ccd22f4cfb42
-
由 Jan Vorlicek 提交于
* Fix GCStress C issue with the fix to VS2019 optimization There is a place in the runtime that we hit during GCStress C and that was creating uninitialized GCFrame and initializing it only conditionally. In the GCFrame destructor, we always try to pop the GCFrame out of the per-thread linked list and this was breaking it. The fix is to always initialize the GCFrame. In the problematic place, it was not being initialized / pushed on the linked list when number of GC slots it was to protect was 0. But the logic in GCFrame works just fine even in that case, so I've made the initialization over there unconditional. I've also made a couple of methods in the GCFrame private as they are never supposed to be called from the outside, removed the default GCFrame constructor so that noone can create uninitialized GCFrame anymore and also removed placement new from GCFrame that doesn't seem to have any purpose. * Reflect more feedback * Folded the Pop and Push functions into their callers * Folded the Initialize to the constructor Commit migrated from https://github.com/dotnet/coreclr/commit/eb5d634dc11f7cc4b07bf0d089246feedb28af84
-
由 Tomáš Rylek 提交于
Today, R2R compilation of test MSIL using Crossgen happens during test execution in Helix. This means that the managed artifacts for a given OS / architecture / config combo are identical for a R2R / non-R2R job. Additionally, we need very few artifacts for running the CoreFX tests. In practice it turns out we only need to build the test host. We can exploit these facts to further reduce the number of test build jobs in CoreCLR pipelines. Thanks Tomas Commit migrated from https://github.com/dotnet/coreclr/commit/446c6fe0bfae263bee0c3ace46a5b9a74015e4d1
-
由 Jan Kotas 提交于
* Delete empty FireCustomerDebugProbe FCall * Delete duplicate C++ compiler command line options Commit migrated from https://github.com/dotnet/coreclr/commit/8460516ceb23458f7a279bb73aa6176e17e8a90d
-
由 Carol Eidt 提交于
* Preparatory changes for EH WriteThru - Add a method on BasicBlock to determine EH flow in or out Commit migrated from https://github.com/dotnet/coreclr/commit/50750540fa45e44ccc3847fbf5ec9afa4bc6d552
-