platform/upstream/coreclr.git
5 years agoUpdate IbcData, PgoData to master-20181110-0042, master-20181110-0040, respectively...
dotnet-maestro-bot [Sat, 10 Nov 2018 14:06:20 +0000 (06:06 -0800)]
Update IbcData, PgoData to master-20181110-0042, master-20181110-0040, respectively (#20925)

5 years agoUpdate BuildTools, CoreClr, CoreFx, CoreSetup, IbcData, PgoData to preview1-03407...
dotnet-maestro-bot [Sat, 10 Nov 2018 06:19:39 +0000 (22:19 -0800)]
Update BuildTools, CoreClr, CoreFx, CoreSetup, IbcData, PgoData to preview1-03407-01, preview-27110-01, preview.18560.1, preview-27109-05, master-20181109-0043, master-20181109-0044, respectively (#20790)

5 years agoAdd back support for deserialization of BinaryFormatted resources (#20907)
Eric StJohn [Sat, 10 Nov 2018 01:54:47 +0000 (17:54 -0800)]
Add back support for deserialization of BinaryFormatted resources (#20907)

* Add back support for deserialization of BinaryFormatted resources

This adds back support for using BinaryFormatter to deserialize resources when loaded
from assembly.

We conditionally load BinaryFormatter and will throw if asked to deserialize binary formatted
resources and cannot find it.

* Apply code-review feedback

Changes lazy initialization to use LazyInitializer

Remove special handling of missing serialization assembly.

Clean up comments,

* Use named parameter when specifying permitDeserialization

5 years agoDelete dead/unreachable code related to remoting (#20880)
Jan Kotas [Sat, 10 Nov 2018 01:49:12 +0000 (17:49 -0800)]
Delete dead/unreachable code related to remoting (#20880)

5 years agoExpose Index and Range types (#20899)
Tarek Mahmoud Sayed [Sat, 10 Nov 2018 01:46:06 +0000 (17:46 -0800)]
Expose Index and Range types (#20899)

* Expose Index and Range types

* Address Review Comments

* Address more feedback

* Addressing more comments

5 years agoFix path to python on sod and illink jobs (#20914)
Michelle McDaniel [Fri, 9 Nov 2018 23:09:00 +0000 (15:09 -0800)]
Fix path to python on sod and illink jobs (#20914)

5 years agoMerge pull request #20895 from dotnet/dev/unix_test_workflow
Bruce Forstall [Fri, 9 Nov 2018 18:18:39 +0000 (10:18 -0800)]
Merge pull request #20895 from dotnet/dev/unix_test_workflow

Adjust corefx output directory name

5 years agoFast-path ExecutionContext for ThreadPool items (#20308)
Ben Adams [Fri, 9 Nov 2018 17:26:42 +0000 (17:26 +0000)]
Fast-path ExecutionContext for ThreadPool items (#20308)

Fast-path ExecutionContext for ThreadPool items

Maintain the ThreadPool threads on the Default contexts between work items.

Always restore the Default context on the ThreadPool Dispatch loop after a workitem has run (to clean up any ExecutionContext leakage from changes on flow suppressed workitems, or AsyncLocal change eventhandlers; as well as firing their notifications if they have them)

Store the `CurrentThread` as part of the thread static `ThreadPoolWorkQueueThreadLocals` which are already looked up at the start of the Dispatch loop to avoid an additional lookup via `Thread.CurrentThread`.

As workitems are started on the Default context and are returned to it `QueueUserWorkItemCallbackDefaultContext` items can just be run their callbacks directly rather than via `ExecutionContext.Run` (as the EC don't need to move to Default and is always moved back to Default).

As `QueueUserWorkItemCallbackDefaultContext` now runs items directly; flow suppressed callbacks can use the smaller `QueueUserWorkItemCallbackDefaultContext` rather than `QueueUserWorkItemCallback` with a null context; and handling for flow suppression can be removed from `QueueUserWorkItemCallback`.

As `AwaitTaskContinuation`'s `IThreadPoolWorkItem.Execute` doesn't preform additional work after it completes, it can run `m_action` directly for Default context in addition to the flow suppressed context, rather than going via `ExecutionContext.Run`.

Given that the items on the ThreadPool are always started on the threadpool and restored to it; we can introduce some faster paths than `ExecutionContext:RunInternal` (328 bytes asm).

Introduce `ExecutionContext:RunForThreadPoolUnsafe` (71 bytes asm), for `IThreadPoolWorkItem`s where they need to run on a provided context, but do not need to execute anything after they complete so can rely on the Dispatch loop restore. This includes `QueueUserWorkItemCallback`, `QueueUserWorkItemCallback<TState>` and `AwaitTaskContinuation`.

Introduce `ExecutionContext:RunFromThreadPoolDispatchLoop` (225 bytes asm), for items run from the ThreadPool, so don't need to capture current context (Default) to restore later, however need to do need to restore back to Default after execution as they then perform additional work. This includes
`Task`/`AsyncStateMachineBox`/`AwaitTaskContinuation`/`Timer`.

Change `Task.ExecuteFromThreadPool()` to take the thread `Task.ExecuteFromThreadPool(Thread threadPoolThread)` from the ThreadPool Dispatch loop so it can pass it into the `ExecutionContext:RunFromThreadPoolDispatchLoop` overload and avoid the `Thread.CurrentThread` lookup.

Perf test: https://github.com/dotnet/coreclr/pull/20308#issuecomment-436805786

Resolves: dotnet/corefx#32695

5 years agoFix typos in comments (#20908)
Li Shengqiu [Fri, 9 Nov 2018 14:35:58 +0000 (22:35 +0800)]
Fix typos in comments (#20908)

5 years agoOptimize Char.GetUnicodeCategory and related checks (#20864)
Pent Ploompuu [Fri, 9 Nov 2018 14:32:16 +0000 (16:32 +0200)]
Optimize Char.GetUnicodeCategory and related checks (#20864)

5 years agoMoving the Utf8Parser/Utf8Formatter to be shared (dotnet/corefx#33348)
Tanner Gooding [Fri, 9 Nov 2018 01:58:24 +0000 (17:58 -0800)]
Moving the Utf8Parser/Utf8Formatter to be shared (dotnet/corefx#33348)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoImplement escape analysis and stack allocation of non-box objects without gc fields.
Eugene Rozenfeld [Tue, 30 Oct 2018 00:34:17 +0000 (17:34 -0700)]
Implement escape analysis and stack allocation of non-box objects without gc fields.

This change implements a conservative flow-insensitive escape analysis and stack allocation
of non-box objects without gc fields.

Handling of objects with gc fields, box objects, and fixed-size arrays is future work.

Escape analysis is based on the one described here: https://www.cc.gatech.edu/~harrold/6340/cs6340_fall2009/Readings/choi99escape.pdf

Main limitations of this version of the escape analysis:
1. The analysis is flow-insensitive.
2. The analysis is intra-procedural and only sees the current method and the inlined methods.
3. The analysis assumes that references passed to non-pure-helper calls escape.
4. The analysis assumes that any references assigned to fields of objects escape.

Some of these limitations will be removed in future work.

I started with prior prototypes from @echesakovMSFT and @AndyAyersMS and extended and refactored
parts of them.

I also added tests for cases that are currently handled or will be handled soon.

5 years agoMake getClassGClayout work with with class types.
Eugene Rozenfeld [Tue, 30 Oct 2018 00:08:02 +0000 (17:08 -0700)]
Make getClassGClayout work with with class types.

Also add an assert to getHeapClassSize to ensure it's not
called in R2R cross-version-bubble.

5 years agoAllow creation of variables of TYP_STRUCT with non-value class handles.
Eugene Rozenfeld [Tue, 30 Oct 2018 00:05:44 +0000 (17:05 -0700)]
Allow creation of variables of TYP_STRUCT with non-value class handles.

Variables of TYP_STRUCT with non-value class handles represent stack-allocated objects.
Temporarily disable promotion of fields of stack-allocated objects.

5 years agoAdd JitObjectStackAllocation config option.
Eugene Rozenfeld [Tue, 16 Oct 2018 01:40:35 +0000 (18:40 -0700)]
Add JitObjectStackAllocation config option.

5 years agoRemove cached invariant globalization mode flag
Jan Kotas [Thu, 8 Nov 2018 19:45:13 +0000 (11:45 -0800)]
Remove cached invariant globalization mode flag

Direct check of readonly flag is better with tiered JITing (the check is optimized out)

5 years agoDelete unnecessary ReferenceSystemPrivateCoreLib
Jan Kotas [Thu, 8 Nov 2018 21:42:34 +0000 (13:42 -0800)]
Delete unnecessary ReferenceSystemPrivateCoreLib

5 years agoRevert "Passing the CONTEXT in ICorDebugManagedCallback4::DataBreakpoint"
Jan Kotas [Fri, 9 Nov 2018 05:12:57 +0000 (21:12 -0800)]
Revert "Passing the CONTEXT in ICorDebugManagedCallback4::DataBreakpoint"

This reverts commit 9dd2a3688320fa197a3a2a412523416f10e7fa3b.

5 years agoRemove System.Memory reference from several libraries (#33343)
Stephen Toub [Fri, 9 Nov 2018 01:16:52 +0000 (20:16 -0500)]
Remove System.Memory reference from several libraries (#33343)

Minor cleanup... they only have this System.Memory reference in order to support MemoryMarshal.GetReference, and we can just use the default GetPinnableReference instead. (We could also just stackalloc into a pointer instead of using span at all, but using span keeps it tidy and adds a tiny amount of additional safety).

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoChanging Number.NumberBuffer to carry a `Span<byte>` rather than a `Span<char>` ...
Tanner Gooding [Fri, 9 Nov 2018 03:47:35 +0000 (19:47 -0800)]
Changing Number.NumberBuffer to carry a `Span<byte>` rather than a `Span<char>` (#20879)

* Changing Number.NumberBuffer to carry a `Span<byte>` rather than a `Span<char>`

* Renaming NumberBuffer.Sign to NumberBuffer.IsNegative

* Renaming NumberBuffer.Precision to NumberBuffer.DigitsCount

* Adding a ToString and CheckConsistency method to NumberBuffer

* Adding some number.CheckConsistency() calls for debug validation

* Fixing the UTF16Formatter to meet the consistency checks

5 years agoPassing the CONTEXT in ICorDebugManagedCallback4::DataBreakpoint
Andrew Au [Thu, 8 Nov 2018 18:55:00 +0000 (10:55 -0800)]
Passing the CONTEXT in ICorDebugManagedCallback4::DataBreakpoint

5 years agoEventPipe support for "Parameters" (#20796)
José Rivero [Fri, 9 Nov 2018 00:20:29 +0000 (16:20 -0800)]
EventPipe support for "Parameters" (#20796)

These changes enable passing "arguments" to an EventSource.

5 years agoEnlighten ValueNumStore::EvalOpSpecialized about bswap nodes (#20883)
Levi Broderick [Thu, 8 Nov 2018 23:35:32 +0000 (15:35 -0800)]
Enlighten ValueNumStore::EvalOpSpecialized about bswap nodes (#20883)

5 years agoMerge pull request #20838 from briansull/issue_18259
Brian Sullivan [Thu, 8 Nov 2018 23:01:32 +0000 (15:01 -0800)]
Merge pull request #20838 from briansull/issue_18259

ValueNum add check for ZeroOffsetFldSeq on LclVar reads

5 years agoSpecify path to python3.5 for perf jobs (#20443)
Michelle McDaniel [Thu, 8 Nov 2018 21:56:00 +0000 (13:56 -0800)]
Specify path to python3.5 for perf jobs (#20443)

* Specify path to python3.5 for perf jobs

* Change path to python in throughput testing

5 years agoReplace reflection in an assert with ==
Michal Strehovský [Thu, 8 Nov 2018 16:15:26 +0000 (17:15 +0100)]
Replace reflection in an assert with ==

Reflection on private implementation of the CoreLib is disallowed in CoreRT to save disk space (we don't have to bother emitting the metadata).

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoMerge pull request #20890 from BruceForstall/FixMoreFxPaths
Bruce Forstall [Thu, 8 Nov 2018 21:17:59 +0000 (13:17 -0800)]
Merge pull request #20890 from BruceForstall/FixMoreFxPaths

Fix more CoreFx 'artifacts' paths

5 years agoFix more CoreFx 'artifacts' paths
Bruce Forstall [Thu, 8 Nov 2018 21:16:41 +0000 (13:16 -0800)]
Fix more CoreFx 'artifacts' paths

5 years agoAdd work item dumping support to SOS' ThreadPool command (#20872)
Stephen Toub [Thu, 8 Nov 2018 20:34:27 +0000 (15:34 -0500)]
Add work item dumping support to SOS' ThreadPool command (#20872)

Adds a -wi switch to the ThreadPool command that will enumerate all queues dumping out all found work items.

5 years agoFix "LTTng-UST: Error (-17) while registering..." error when debugging (20874)
Mike McLaughlin [Thu, 8 Nov 2018 20:29:10 +0000 (12:29 -0800)]
Fix "LTTng-UST: Error (-17) while registering..." error when debugging (20874)

Fixes issue #20205.

This has been happening in more and more scenarios:

1) SOS when the coreclr hosting the SOS managed code is a different version that the one being debugged
2) Lee ran into it with ClrMD for Linux
3) The dotnet-diagnostictests repo with the current arcade build changes because the coreclr version hosting mdbg is different than the version running the debuggees.

This fix is simple: only link the tracepointprovider.cpp code that loads libcoreclrtraceptprovider.so into libcoreclr.so and not in any other module that uses the PAL library (libdbgshim.so, libmscordaccore.so, etc.). Create a new "tracepointprovider" library with the tracepointprovider.cpp source file in it and remove it from the "coreclrpal".  Link this new lib into libcoreclr.so.

5 years agoMerge pull request #20882 from BruceForstall/FixFxDir
Bruce Forstall [Thu, 8 Nov 2018 19:20:55 +0000 (11:20 -0800)]
Merge pull request #20882 from BruceForstall/FixFxDir

Adjust for corefx output directory change

5 years agoAdjust for corefx output directory change
Bruce Forstall [Thu, 8 Nov 2018 19:12:09 +0000 (11:12 -0800)]
Adjust for corefx output directory change

The "bin" directory is now under the "artifacts" directory.

5 years agoFixes issue 18259
Brian Sullivan [Tue, 6 Nov 2018 02:26:10 +0000 (18:26 -0800)]
Fixes issue 18259
The problem here was that we have an indirection of a LclVar that was a pointer to an array element whose type is a struct.

The following discussion refers to the test case GitHub_18259/GitHub_18259.cs
We recorded that the struct field F1.F0 is assigned 1234u.
With the bug all subsequent reads of vr7.F0 return this value.
We miss the update to zero because we didn't add the Zero Field sequence value to the LclVar vr7

Added Test case GitHub_18259.cs
Added Test case GitHub_20838.cs

5 years agoUpdate FreeBSD build timeout to 120.
Matt Galbraith [Thu, 8 Nov 2018 17:48:47 +0000 (09:48 -0800)]
Update FreeBSD build timeout to 120.

5 years agoAdd azure-pipelines build and test definitions (#20840)
Sven Boemer [Thu, 8 Nov 2018 16:50:37 +0000 (08:50 -0800)]
Add azure-pipelines build and test definitions (#20840)

This adds an azure pipeline definition with a matrix of product and test builds, using helix to run tests. The intention is that this definition will eventually be used for both our official build and CI testing.

There is one build job for each OS/platform/arch, and one test job for each OS/platform/arch/priority/R2Rflag. The test job builds tests and then submits them to helix, passing along a number of test run modes. One helix test job will be created for each OS/platform/arch/priority/R2Rflag/helixtargetqueue/testscenario.

There is a lot of work left to be done to get this up to parity with our official builds and CI, which I've tried to call out in comments.

5 years agoAdd test coverage for custom modifiers (#20546)
Michal Strehovský [Thu, 8 Nov 2018 11:11:25 +0000 (12:11 +0100)]
Add test coverage for custom modifiers (#20546)

Custom modifiers are only lightly tested within the CLR test codebase (both closed and open). This adds targeted tests for:

* Resolution and overriding
* Various places that should ignore them
* Reflection

5 years agoAdd string.GetHashCode(ROS<char>) and related APIs (#20422)
Levi Broderick [Thu, 8 Nov 2018 07:54:11 +0000 (23:54 -0800)]
Add string.GetHashCode(ROS<char>) and related APIs (#20422)

5 years agoFixing up the Double/Single parsing code to be correct (#20707)
Tanner Gooding [Thu, 8 Nov 2018 04:23:49 +0000 (20:23 -0800)]
Fixing up the Double/Single parsing code to be correct (#20707)

* Don't normalize -0.0 to 0.0 when parsing

* Updating NumberBuffer to validate the constructor inputs

* Updating NumberToDouble to just get the precision

* Don't check for non-significant zero's in NumberToDouble

* Updating Number.BigInteger to carry additional space for the worst-case scenario

* Removing some dead code from double.TryParse

* Updating NumberToDouble to use the RealParser implementation from Roslyn

* Fixing TryNumberToDouble and TryNumberToSingle to apply the appropriate sign.

* Adding a fast path for double/single parsing when we have <= 15 digits and an absolute scale <= 22

* Update NumberBuffer to also track whether any input digits past maxDigCount were non-zero

* Renaming NumberToFloatingPointBitsRoslyn to NumberToFloatingPointBits

* Updating TryNumberToDouble and TryNumberToSingle to support Overflow to Infinity

* Fixing a Debug.Assert in TryParseNumber

* Fixing `DecimalNumberBufferLength` to 30

* Renaming NumberToFloatingPointBitsRoslyn to NumberToFloatingPointBits

* Clarifying the NumberBufferLength comments

* Fixing TryNumberToDecimal to check the last digit in the buffer, if it exists

* Disable some CoreFX tests due to the single/double/decimal parsing fixes

* Fix TryNumberToDecimal to not modify the value of p in the assert.

Co-Authored-By: tannergooding <tagoo@outlook.com>
* Updating NumberToFloatingPointBits to use single-precision arithmetic and extended-precision multiplication where possible

* Splitting the NumberToFloatingPointBits code into a fast and slow-path method

* Ensure Roslyn is properly attributed.

* Removing the 80-bit extended precision fast path for NumberToFloatingPointBits, due to a bug

* Fixing the double and single parser to ignore case for Infinity and NaN

* Add a clarifying comment to Number.NumberToFloatingPointBits that the code has been modified from the original source.

* Removing the remaining code that was used by the 80-bit extended precision fast-path in NumberToFloatingPointBits

* Adding a missing comma to the CoreFX.issues.json

* Remove licensing "glue" and re-release the Roslyn RealParser code under the MIT license.

* Some minor cleanup to the NumberToFloatingPointBits code.

5 years agoHandle 64-bit only intrinisc by nested classes (#20146)
Fei Peng [Thu, 8 Nov 2018 03:15:55 +0000 (19:15 -0800)]
Handle 64-bit only intrinisc by nested classes (#20146)

5 years agoMove the various helper intrinsics to be implemented on the S.R.Intrinsics.Vector...
Tanner Gooding [Thu, 8 Nov 2018 03:15:37 +0000 (19:15 -0800)]
Move the various helper intrinsics to be implemented on the S.R.Intrinsics.Vector types (#20147)

* Renaming Vector64.cs, Vector128.cs, and Vector256.cs to be Vector64_1.cs, etc

* Adding some core helper methods to the Vector64, Vector128, and Vecto256 types.

* Adding some documentation comments to the System.Runtime.Intrinsics.Vector types

* Changing `Set` to `With`

5 years agoAdd unloadability support to ReliabilityFramework (#20418)
Jan Vorlicek [Thu, 8 Nov 2018 00:08:46 +0000 (01:08 +0100)]
Add unloadability support to ReliabilityFramework (#20418)

* Add unloadability support to ReliabilityFramework

This change adds support for unloadable AssemblyLoadContext to the GC
ReliabilityFramework. It basically mimics what was there ifdef-ed out
for AppDomains.
It allows stress testing GC when running inside of an unloadable
AssemblyLoadContext. GC has some special handling for collectible
classes and this allows testing the respective code paths.

* Make tests run on separate threads

The tests running in the assembly load context were bot using separate
threads per test and so they were not really stressing GC as much as
possible. This change fixes that.
I've also merged code for AppDomains / AssemblyLoadContext at most
places so that the differences are clearly visible.

5 years agoRemove need for full GC for unloadable stuff (#20384)
Jan Vorlicek [Thu, 8 Nov 2018 00:08:20 +0000 (01:08 +0100)]
Remove need for full GC for unloadable stuff (#20384)

This change removes enforcing of full GC after native LoaderAllocator is
destroyed. It turns out it was not needed. There is no regression in
running coreclr pri 1 tests inside an unloadable AssemblyLoadContext and
unloading the context after a test completes for each test.

5 years agoFix string error handling for failed DNS lookup (dotnet/corefx#32351)
Tomas Weinfurt [Wed, 7 Nov 2018 14:55:12 +0000 (06:55 -0800)]
Fix string error handling for failed DNS lookup (dotnet/corefx#32351)

* better handling for dns failures

* cleanup

* add test for DNS failure exception

* relaxt test a little bit to make it more robust for future

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoImprove DumpAsync SOS command (#20845)
Stephen Toub [Wed, 7 Nov 2018 20:14:00 +0000 (15:14 -0500)]
Improve DumpAsync SOS command (#20845)

* Help DumpDelegate to dump more cases

* Improve DumpAsync command

- Add a stats summary at the beginning of the output
- Improved single-line-per-entry default behavior for increased readability
- Add option to include all tasks, not just async state machine objects
- Include state value for each async object, the state field for async state machines or the state flags for other tasks
- Support following continuation chains, rendered as "async stacks"
- Support resolving delegate names so that Task.Run and related items have the associated method name displayed
- Optional (experimental) DGML rendering of the graph
- Optionally include completed tasks, by default filtering them out
- Optionally display the fields of state machines

* Decode task state flags

* Add addr option and associated DumpAsync DML

* Fix cast warnings in checked / fprintf_s on Unix

* Remove DGML from DumpAsync

Not enough value right now, and complications in compilation on Unix given sos's current set up.  Not worth it.

5 years agoDelete dead code from IdnMapping (#20857)
Stephen Toub [Wed, 7 Nov 2018 18:55:22 +0000 (13:55 -0500)]
Delete dead code from IdnMapping (#20857)

5 years agoMerge pull request #20787 from CarolEidt/Arm64IntrinsicsWindows
Carol Eidt [Wed, 7 Nov 2018 15:06:40 +0000 (07:06 -0800)]
Merge pull request #20787 from CarolEidt/Arm64IntrinsicsWindows

Add Windows support for Arm64 HW Intrinsics

5 years ago[Darc-Update] Update dependencies from build 20181106.6 of https://github.com/dotnet...
dotnet-maestro[bot] [Wed, 7 Nov 2018 14:35:49 +0000 (14:35 +0000)]
[Darc-Update] Update dependencies from build 20181106.6 of https://github.com/dotnet/arcade (#20832)

* Updating version files

* Updating version files

5 years agoForce using clang5.0 for Ubuntu arm32 builds (#20825)
Bruce Forstall [Wed, 7 Nov 2018 06:35:12 +0000 (22:35 -0800)]
Force using clang5.0 for Ubuntu arm32 builds (#20825)

* Force using clang5.0 for Ubuntu arm32 builds

* Update for code review feedback

to https://github.com/dotnet/corefx/pull/33261

5 years agoexclude freebsd symbols from publishing (#20854)
Tomas Weinfurt [Wed, 7 Nov 2018 03:48:02 +0000 (19:48 -0800)]
exclude freebsd symbols from publishing (#20854)

* try to use exclude on same line as Include instead of remove in separate step

* update freebsd exclude pattern

5 years agoPull out GetContainingObject
Andrew Au [Mon, 5 Nov 2018 19:34:49 +0000 (11:34 -0800)]
Pull out GetContainingObject

5 years agoNITs
Andrew Au [Thu, 1 Nov 2018 23:59:55 +0000 (16:59 -0700)]
NITs

5 years agoComments in JIT helper
Andrew Au [Thu, 1 Nov 2018 19:01:54 +0000 (12:01 -0700)]
Comments in JIT helper

5 years agoMore code review feedback
Andrew Au [Tue, 30 Oct 2018 17:50:47 +0000 (10:50 -0700)]
More code review feedback

5 years agoGetContainingObject should be a method of ICorDebugValue
Andrew Au [Tue, 30 Oct 2018 01:31:45 +0000 (18:31 -0700)]
GetContainingObject should be a method of ICorDebugValue

5 years agoChange GetContainingObject API
Andrew Au [Thu, 25 Oct 2018 02:22:44 +0000 (19:22 -0700)]
Change GetContainingObject API

5 years agoFEATURE_DATABREAKPOINT
Andrew Au [Tue, 23 Oct 2018 23:49:52 +0000 (16:49 -0700)]
FEATURE_DATABREAKPOINT

5 years agoCode review feedback
Andrew Au [Thu, 18 Oct 2018 01:01:55 +0000 (18:01 -0700)]
Code review feedback

5 years agoComment on jithelp.asm
Andrew Au [Mon, 15 Oct 2018 18:45:01 +0000 (11:45 -0700)]
Comment on jithelp.asm

5 years agoEnsure BeforeGC and AfterGC events are always sent in pairs
Chuck Ries [Fri, 12 Oct 2018 23:28:36 +0000 (16:28 -0700)]
Ensure BeforeGC and AfterGC events are always sent in pairs

This latches the m_isGarbageCollectionEventsEnabled in BeforeGarbageCollection
to ensure that if we send a BeforeGC event we will send the corresponding
AfterGC event. It also ensure we will not send an AfterGC event if we did not
send the corresponding BeforeGC event.

5 years agoStepping out of the write barrier
Andrew Au [Sat, 13 Oct 2018 01:34:12 +0000 (18:34 -0700)]
Stepping out of the write barrier

5 years agoComplete the work for AMD64 unwind out of write barrier work
Andrew Au [Thu, 11 Oct 2018 20:53:55 +0000 (13:53 -0700)]
Complete the work for AMD64 unwind out of write barrier work

5 years agoBringing up the AMD64 support for unwinding away from JIT WriteBarrier
Andrew Au [Wed, 10 Oct 2018 22:29:48 +0000 (15:29 -0700)]
Bringing up the AMD64 support for unwinding away from JIT WriteBarrier

5 years agoMake the write barrier unwinding fix works for coreclr release build
Andrew Au [Wed, 10 Oct 2018 17:16:29 +0000 (10:16 -0700)]
Make the write barrier unwinding fix works for coreclr release build

5 years agox86 only stackwalk fix
Andrew Au [Wed, 10 Oct 2018 00:32:33 +0000 (17:32 -0700)]
x86 only stackwalk fix

5 years agoAllocating the DebuggerDataBreakpoint object in the right heap
Andrew Au [Thu, 20 Sep 2018 23:44:39 +0000 (16:44 -0700)]
Allocating the DebuggerDataBreakpoint object in the right heap

5 years agoAvoid unused event types
Andrew Au [Tue, 28 Aug 2018 03:48:54 +0000 (20:48 -0700)]
Avoid unused event types

5 years agoAvoiding triggering data breakpoint in Linux
Andrew Au [Tue, 28 Aug 2018 00:58:30 +0000 (17:58 -0700)]
Avoiding triggering data breakpoint in Linux

5 years agoLinux fix
Andrew Au [Tue, 28 Aug 2018 00:40:13 +0000 (17:40 -0700)]
Linux fix

5 years agoFix ARM compilation issue
Andrew Au [Mon, 13 Aug 2018 21:53:10 +0000 (14:53 -0700)]
Fix ARM compilation issue

5 years agoMore code review feedback
Andrew Au [Mon, 13 Aug 2018 18:14:18 +0000 (11:14 -0700)]
More code review feedback

5 years agoCode review feedback
Andrew Au [Sat, 11 Aug 2018 00:10:02 +0000 (17:10 -0700)]
Code review feedback

5 years agoMore comments about Debugger::SuspendComplete
Andrew Au [Fri, 10 Aug 2018 22:39:51 +0000 (15:39 -0700)]
More comments about Debugger::SuspendComplete

5 years agoUse proper macros for GetContainingObject()
Andrew Au [Fri, 10 Aug 2018 22:17:01 +0000 (15:17 -0700)]
Use proper macros for GetContainingObject()

5 years agoAdding comments for thread execution mode in DebuggerRCThread::SendIPCEvent
Andrew Au [Fri, 10 Aug 2018 22:16:48 +0000 (15:16 -0700)]
Adding comments for thread execution mode in DebuggerRCThread::SendIPCEvent

5 years agoMore API comments
Andrew Au [Fri, 10 Aug 2018 17:44:36 +0000 (10:44 -0700)]
More API comments

5 years agoFix a couple bugs in GetContainingObject
Andrew Au [Fri, 10 Aug 2018 17:27:24 +0000 (10:27 -0700)]
Fix a couple bugs in GetContainingObject

5 years agoRename lite to isEESuspendedForGC
Andrew Au [Thu, 9 Aug 2018 18:15:18 +0000 (11:15 -0700)]
Rename lite to isEESuspendedForGC

5 years agoICorDebug API documentation
Andrew Au [Thu, 9 Aug 2018 17:27:23 +0000 (10:27 -0700)]
ICorDebug API documentation

5 years agoTurn GarbageCollection events off by default and allow VS turning them on
Andrew Au [Tue, 7 Aug 2018 23:55:21 +0000 (16:55 -0700)]
Turn GarbageCollection events off by default and allow VS turning them on

5 years agoFixing the deadlocks
Andrew Au [Mon, 6 Aug 2018 22:04:37 +0000 (15:04 -0700)]
Fixing the deadlocks

5 years agoFix collision with ICorDebugProcess9 to 10
Andrew Wang [Thu, 2 Aug 2018 01:53:21 +0000 (18:53 -0700)]
Fix collision with ICorDebugProcess9 to 10

5 years agoFix a bug where a data breakpoint is accidentially deleted when the context is restor...
Andrew Au [Thu, 19 Jul 2018 20:00:49 +0000 (13:00 -0700)]
Fix a bug where a data breakpoint is accidentially deleted when the context is restored on FuncEval completion

5 years agoUsing Debugger::SuspendComplete()
Andrew Au [Fri, 13 Jul 2018 18:12:24 +0000 (11:12 -0700)]
Using Debugger::SuspendComplete()

5 years agoReturn better HR for failing to get managed thread context
Andrew Au [Wed, 11 Jul 2018 20:41:07 +0000 (13:41 -0700)]
Return better HR for failing to get managed thread context

5 years agoDo not handle the thread context for garbage collection events
Andrew Au [Wed, 11 Jul 2018 00:20:42 +0000 (17:20 -0700)]
Do not handle the thread context for garbage collection events

5 years agoSimple fixes
Andrew Au [Sat, 7 Jul 2018 16:33:14 +0000 (09:33 -0700)]
Simple fixes

5 years agoEliminate dataBreakpointMask from ICorDebug
Andrew Au [Fri, 29 Jun 2018 22:54:12 +0000 (15:54 -0700)]
Eliminate dataBreakpointMask from ICorDebug

5 years agoFixing linux build
Andrew Au [Wed, 27 Jun 2018 20:23:17 +0000 (13:23 -0700)]
Fixing linux build

5 years agoGet/Set the ThreadContext natively if the debuggee is block on garbage collection...
Andrew Au [Wed, 27 Jun 2018 18:15:04 +0000 (11:15 -0700)]
Get/Set the ThreadContext natively if the debuggee is block on garbage collection events

5 years agoHacking CordbProcess::GetThreadContext / SetThreadContext to retrieve/modify managed...
Andrew Au [Tue, 26 Jun 2018 17:31:07 +0000 (10:31 -0700)]
Hacking CordbProcess::GetThreadContext / SetThreadContext to retrieve/modify managed ThreadContext

5 years agoClear Canary cache unconditionally
Andrew Au [Thu, 21 Jun 2018 17:52:13 +0000 (10:52 -0700)]
Clear Canary cache unconditionally

5 years agoFix linux build
Andrew Au [Thu, 21 Jun 2018 17:45:31 +0000 (10:45 -0700)]
Fix linux build

5 years agoThis should fix the non-deterministic failures
Andrew Au [Wed, 20 Jun 2018 00:06:31 +0000 (17:06 -0700)]
This should fix the non-deterministic failures

5 years agoProperly fix the DB_IPCE_ASYNC_BREAK case
Andrew Au [Fri, 15 Jun 2018 23:18:48 +0000 (16:18 -0700)]
Properly fix the DB_IPCE_ASYNC_BREAK case

5 years agoRemoving unnecessary hacks
Andrew Au [Thu, 24 May 2018 22:52:32 +0000 (15:52 -0700)]
Removing unnecessary hacks

5 years agofind_object
Maoni0 [Wed, 23 May 2018 20:52:08 +0000 (13:52 -0700)]
find_object

5 years agoCompleted the lock reversal work
Andrew Au [Thu, 24 May 2018 18:43:54 +0000 (11:43 -0700)]
Completed the lock reversal work

5 years agoMaking sure issues are tracked by TODOs
Andrew Au [Tue, 22 May 2018 23:00:11 +0000 (16:00 -0700)]
Making sure issues are tracked by TODOs

5 years agoFiring the GC events within the thread suspension
Andrew Au [Tue, 22 May 2018 22:08:25 +0000 (15:08 -0700)]
Firing the GC events within the thread suspension

5 years agoContainerObject -> ContainingObject
Andrew Au [Thu, 17 May 2018 22:20:15 +0000 (15:20 -0700)]
ContainerObject -> ContainingObject