summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-04-02Nullable: Interlocked, Volatile (#23655)Stephen Toub3-16/+18
Also fixing the class? annotation on public LazyInitializer methods.
2019-04-02Nullable: Overlapped and friends (#23656)Stephen Toub6-39/+44
* Nullable: Overlapped and friends * Address PR feedback
2019-04-02Merge remote-tracking branch 'dotnet/master' into merge-master-nullableSantiago Fernandez Madero123-2354/+4628
2019-04-02Nullable: System.Enumbuyaa-n2-58/+56
2019-04-02Nullable: globalization remainder (#23526)Krzysztof Wicher50-439/+470
* Nullable: remainder of globalization * annotate windows specific files * add TODO-NULLABLE next to TODO suggesting comments * fixes after merging other globalization annotations, apply feedback * fix windows * address feedback * fix windows * fixes * apply feedback * remove workaround * s_Invariant?, couple of Debug.Asserts
2019-04-02JIT: prolog zeroing accounting changes (#23498)Andy Ayers1-13/+42
Stop double-counting some locals when computing how many slots need to be zeroed in the prolog. Bump threshold for rep stosb style init from 16 bytes to 32 bytes on x64.
2019-04-02[EventPipe] Streaming events out-of-proc using IPC (#23448)José Rivero21-386/+499
- There was a race condition on EventPipe::Disable where we deallocated the s_pSession and set it to NULL, but there was still a thread waiting to write and dereference the null pointer. Now, we check that the session is not null. - Added a new attach event to be handled to the Diagnostic server: Add streaming functionality (Syncronus) #23299 - On Linux, IPC was failing when delete was invoked because we were using new (std::nothrow) instead of new (nothrow) when allocating the newly connected clients/streams. I have replaced the call with new. This fixed #23580 - Move multiFileTraceLengthInSeconds out of the EventPipeSession. - Unlink previously existing socket. - EventPipeBlock: _ASSERTE was updated not to fail when data is not aligned if an error has already occurred. - Update _ASSERTE in fastserializer.cpp to take into account the the write operation could have failed.
2019-04-02Nullable: System.Buffers (#23619)Stephen Toub66-31/+104
* Nullable: System.Buffers * Address PR feedback
2019-04-01Nullable: AsyncLocal (#23618)Stephen Toub6-58/+59
* Nullable: AsyncLocal * Address PR feedback
2019-04-01Nullable: WaitHandles (#23604)Stephen Toub15-58/+70
2019-04-01Nullable: SemaphoreSlim (#23628)Stephen Toub1-26/+27
* Nullable: SemaphoreSlim * Address PR feedback
2019-04-01Nullable: ExecutionContext (#23611)Stephen Toub4-39/+48
* Nullable: ExecutionContext * Add TODO comments * Fix conflict with ThreadPool PR
2019-04-01Fix build break due to nullable PR conflicts (#23641)Stephen Toub2-3/+3
2019-04-01PermissionSet: follow netfx more in order to avoid workarounds with nullable ↵Krzysztof Wicher1-2/+2
(#23637)
2019-04-01Nullable: ThreadLocal (#23626)Stephen Toub1-38/+43
2019-04-01Nullable: Lazy (#23639)Stephen Toub3-30/+33
2019-04-01Nullable: SpinWait/Lock (#23613)Stephen Toub2-0/+2
2019-04-01Nullable: CancellationToken (#23609)Stephen Toub3-42/+58
2019-04-01Nullable: Monitor (#23603)Stephen Toub1-2/+1
2019-04-01Nullable: ManualResetEventSlim (#23630)Stephen Toub1-8/+11
2019-04-01Change PermissionSet.SyncRoot to return this instead of null (#23631)Krzysztof Wicher1-1/+1
2019-04-01Match BOX idioms early in the importer (#23550)Jan Kotas2-18/+123
2019-04-01Nullable: SynchronizationContext (#23634)Stephen Toub5-15/+19
2019-04-01Fix bad Debug.Assert statements in UTF-8 processing (#23627)Levi Broderick2-7/+4
2019-04-01Nullable: Annotate remaining System.*Exception (#23585)Santiago Fernandez Madero49-160/+188
* Nullable: Annotate remaining System.*Exception * PR feedback
2019-04-01Nullable annotations for Delegate/MulticastDelegate (#23615)Dan Moseley3-130/+92
* Nullable annotations for Delegate/MulticastDelegate * Dead string * Remove TODO's * Review * Review2 * More * More * Unnecessary ? * Update src/System.Private.CoreLib/src/System/MulticastDelegate.cs Co-Authored-By: danmosemsft <danmose@microsoft.com> * Santi feedback * Jan feedback * No assert msg
2019-04-01LSRA cleanup (#23617)Carol Eidt3-75/+120
* LSRA cleanup These are zero-diff changes. Some cleanup, some in preparation for improvemetns to save/restore of upper vectors.
2019-04-01Add new era in Japan called "Reiwa" (#23614)Acid Chicken (硫酸鶏)3-7/+8
* Add new era in Japan called "Reiwa" * Update Japanese eras English names refs: <https://github.com/dotnet/coreclr/pull/23614#issuecomment-478680005>
2019-04-01Enable R2R compilation/inlining of PInvoke stubs where no marshalling is ↵Fadi Hanna33-33/+857
required (#22560) * These changes enable the inlining of some PInvokes that do not require any marshalling. With inlined pinvokes, R2R performance should become slightly better, since we'll avoid jitting some of the pinvoke IL stubs that we jit today for S.P.CoreLib. Performance gains not yet measured. * Added JIT_PInvokeBegin/End helpers for all architectures. Linux stubs not yet implemented * Add INLINE_GETTHREAD for arm/arm64 * Set CORJIT_FLAG_USE_PINVOKE_HELPERS jit flag for ReadyToRun compilations * Updating R2RDump tool to handle pinvokes
2019-04-01Nullable: ThreadPool (#23600)Stephen Toub2-59/+66
2019-04-01Enable negative type-check results in CoreLib version bubble (#23549)Jan Kotas1-2/+4
This negative type-check results are necessary to generate good code for AsyncTaskMethodBuilder.AwaitUnsafeOnCompleted
2019-04-01Annotate Unix interop (#23589)Dan Moseley37-9/+46
* Unix interop * More interop * Fix * fix
2019-03-30Fix ARM64 isFullyImplementedIsa (#23590)Fei Peng1-0/+4
2019-03-29Implement IEquatable to Memory and ReadOnlyMemory (#23586)Ganbarukamo412-2/+2
2019-03-29A new way of tracking variables (#23373)Brian Bohe16-225/+1620
* Defining VariableLiveRange class * Adding some typedefs to avoid rewriting * Defining VariableLiveDescriptor class * Initializing VariableLiveRange structures before BasicBlock code is being generated * Getting a siVarLoc for variable homes from a given LclVarDsc and stack level * Defining VariableLiveKeeper class * Reporting VariableLiveRanges on changes of variable livenesss or variable homes * Adding USING_VARIABLE_LIVE_RANGE flag to enable disable VariableLiveRange * Send VariableLiveRanges to debugger * Reporting variable homes on prolog * Wrong argument * Miss to change variable homes count before sending them to debugger * Adding dumper of VariableLiveRanges for each blocks and end of code generation * Close all open VaribleLiveRanges on last BasicBlock * Changing order of properties initialization on VariableLiveRange constructor * Type error on assignation * Rephrasing comments, moving dumps and fixing typos * Changing const VARSET_TP* for VARSET_VALARG_TP on args * Variable home was variable location in VariableLiveRange context * Rephrase and rename of VariableLiveKeeper properties * Missing some renames * Adding const where BasicBlock should not be modified * siBeginBlock and siInit have support for debug code for VariableLiveRange and siScope info * Adding USING_VARIABLE_LIVE_RANGE flags on methods definition. * Variable home -> variable location * Renaming and rephrasing names and uses of VariableLiveRange * Moving LiveRangeDumper ctor to class declation * Removing destructors Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Removing blank spaces and reordering functions inside class definition Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Miss to increment the index after refactoring * Logic for keeping the last BasicBlock end IL offset is shared between siScope and VariableLiverange for debug code * Missing to print on debug the last block VariableLiveRanges * Avoid updating VariableLiveRange when unspilling and dying at the same assembly instruction * Rephrasing #ifs and #ifdefs * Calling VariableLiveKeeper in one line * Avoid copying siVarLoc on genSetScopeInfo * Removing unused args from eeSetLVinfo * Changing VariableLiveKeeper ctor * Typo Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Updating VariableLiveDescriptor ctor Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Error on first argument Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Changing reference for pointer Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Renaming assembly offset -> native offset * removing unnecesary comments and asserts Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Update VariableLiveRange dump message Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Moving VariableLiveRanges classes inside VariableLiveKeeper * Wrong flag name * Adding documentation about how we track variables for debug info Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Adding opened issues to doc file Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Changing dump tittle Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Renaming VariableLiveKeeper property Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Update documentation Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Updating comments on flags Signed-off-by: Brian Bohe <brianbohe@gmail.com> * Setting Scope Info as default way of tracking variables for debug info Signed-off-by: Brian Bohe <brianbohe@gmail.com>
2019-03-29Fix HW intrinsic containment bugs (#23558)Carol Eidt1-19/+27
* Fix HW intrinsic containment bugs For the Fma case (#23430), fix the handling of contained 3-operand HW intrinsic nodes. For the Bmi case (#23534), fix a bad assert placement, and re-enable the Bmi tests. Fix #23530 Fix #23534 * Add guard for Fma test
2019-03-29Assembly.Load ALC name (#23574)Steve MacLean1-1/+1
Use normalized path for ALC name
2019-03-29Merge pull request #23533 from briansull/Issue_23441Brian Sullivan1-1/+1
Fix for issue 23411
2019-03-29Use GenTreeStmt* where it is implied. (#22963)Sergey Andreenko30-912/+755
* Extract `impAppendStmt` and `impExtractLastStmt`. * Delete `BEG_STMTS` fake stmt. Use new functions to keep the list updated. * Retype `impTreeList` and `impTreeLast` as statements. Rename `impTreeList` and `impTreeLast` to show that they are statements. * Fix fields that have to be stmt. * Start using GenTreeStmt. Change `optVNAssertionPropCurStmt` to use GenTreeStmt. Replace `GenTree* stmt = block->bbTreeList` with `GenTreeStmt* stmt = block->firstStmt()`. Save results of `FirstNonPhiDef` as `GenTreeStmt`. * Replace do-while with for loop. * Change type inside VNAssertionPropVisitorInfo. * Delete unused args fron `optVNConstantPropOnTree`. * Update fields to be stmt. Update optVNConstantPropCurStmt to use Stmt. Change `lvDefStmt` to stmt. Update LoopCloning structs. Update `optDebugLogLoopCloning`. Make `compCurStmt` a statement. Update declaration name in `BuildNode`. * Clean simple cpp files. Clean valuenum. Clean ssabuilder. Clean simd. Clean optcse. Clean loopcloning. Clean copyprop. Clean optimizer part1. * Start cleaning importer, morph, flowgraph, gentree. * Continue clean functons. Clean assertionprop. Clean morph. Clean gentree. Clean flowgraph. Clean compiler. Clean rangecheck. Clean indirectcalltransofrmer. Clean others. * Create some temp stmt. * Delete unnecessary noway_assert and casts. * Init `impStmtList` and `impLastStmt` in release. * Response review 1.
2019-03-29Simplify and unify Vector64/128/256 platform-agnostic intrinsic handling ↵Fei Peng11-416/+206
(#23028) * Simplify and unify Vector64/128/256 platform-agnostic intrinsic handling * Removed unsupported ISAs
2019-03-29Use char16_t for *_W macros in corhdr.h on Linux/MacOs (#23559)Ilia1-60/+60
It fixes COR_CTOR_METHOD_NAME_W and many other macros on Linux to be of type char16_t[] (not wchar_t[]) by using W("") instead of L"". Bug: #21977
2019-03-29Merge pull request #23561 from tannergooding/NullableSRITanner Gooding50-9/+59
Nullable: System.Runtime.Intrinsics
2019-03-29Nullable: System.Runtime.IntrinsicsTanner Gooding50-9/+59
2019-03-29Fixing the StringInfo constructor to work with the nullability analysisTanner Gooding1-2/+1
2019-03-29Correctly marshal structure return values in member functions on Win-x64 and ↵Jeremy Koritzinsky5-105/+170
Win-x86 (#23145) * In Windows-x64, if we have a native member function signature with a struct return type, we need to do a by-ref return. * Implement support for marshalling structure return values via a return buffer argument correctly in instance signatures on AMD64-Windows. * Change field initialization ordering to satisfy warning. * Try to narrow down the conditions that trigger these changes to just COM methods. * Don't bash the return type on AMD64 Windows. Only treat it as a byref return buffer. * PR feedback. * Enable returning structs from COM methods via a return buffer on x86 for structs <= 8 bytes. * Add test for struct returns with ThisCall. Extend the "struct return buffer" fix to functions marked as unmanaged thiscall since they all must be instance methods * Don't include the return-type-bashing switch on AMD64 platforms. * Don't do the signature swapping/copy on non-instance functions with struct returns. * Cast the return type of GetStubTargetCallingConv to the right calling convention enum type. * If we're doing a thiscall, marshal the "this" parameter before the return buffer (if the return buffer exists) on all platforms. * Remove temporary logging code I added in for debugging. * Clean up class naming. * Try using a vtable instead of a pointer-to-member-function. * Remove delete of class with non-virtual destructor
2019-03-29Merge pull request #23423 from franksinankaya/gcc_cleanup_16Jan Vorlicek5-13/+29
SSE abstraction for GCC and abstract __if_exists
2019-03-29Change Timer implementation on Unixes to use only one scheduling thread (#7071)Koundinya Veluri1-56/+93
* Change Timer implementation on Unixes to use only one scheduling thread - Separated from https://github.com/dotnet/corert/pull/7066 * Address feedback from https://github.com/dotnet/corert/pull/7066 * Remove reference to s_lock * Reduce work inside lock * Move _id * Fix duplicate timers in scheduled timer list, move info to TimerQueue Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
2019-03-29Merge remote-tracking branch 'dotnet/master' into NullableFeatureTanner Gooding39-537/+539
2019-03-29Nullable: Internal.Console, System.ValueType (#23505)buyaa-n2-3/+5
* Nullable: Internal.Console, System.ValueType * Making ToString() nullable
2019-03-29if existsSinan Kaya2-3/+11
llvm