Age | Commit message (Collapse) | Author | Files | Lines |
|
Integration from dev/local-gc into master
|
|
Update runtest.cmd help to reflect reality
|
|
|
|
* Return 0 on success from GC Reliability Framework scripts
* Don't save standard out, Jenkins already does this
|
|
[RyuJit/ARM32] Adjust alignment for TYP_DOUBLE in tmpPreAllocateTemps
|
|
[RyuJit/ARM32] Fix wrong behavior of UINT->CHAR casting
|
|
CoreRT needs one less indirection to get to the virtual method.
On CoreCLR a virtual method call resolution goes like:
```
this -> MethodTable -> chunk(?) -> slot
```
On CoreRT, it's more flat:
```
this -> EEType -> slot
```
|
|
the buffer is not big enough (#12051)
* Return last error properly
* adjust pcwchUsed if ERROR_INSUFFICIENT_BUFFER
* return hr
* ERROR_INSUFFICIENT_BUFFER is a win32 error....
|
|
|
|
|
|
|
|
Fix optdata restore functionality (#11935)
Bring back optdata restore functionality following the move to 2.0
BuildTools and csproj-based CLI. Disable a harmless warning that broke
the Linux build when consuming PGO counts due to -Werr.
Fix #11796 for master
|
|
PackagePlatform (#11900)
|
|
|
|
Fix the case when the path doesn't have any '\'.
Fix clean_up.
|
|
|
|
[RyuJIT/ARM32][LSRA] Fix restoring TYP_DOUBLE interval in ARM32
|
|
Fixed tests build on Linux
|
|
Merge remaining common arm32/arm64 lowering functions
|
|
* [Local GC] Don't use g_SystemInfo to infer the number of processors
* [Local GC] Avoid using g_SystemInfo.dwAllocationGranularity from within
the GC.
In a few places, the GC aligns the size of a request memory reservation
to the allocation granularity before calling
GCToOSInterface::VirtualReserve. Upon inspection, this isn't necessary.
* [Local GC] Remove uses of g_SystemInfo from the handle table
* Add new API on GCToOSInterface for querying the total number of procs on the machine
|
|
* [Local GC] Skeleton for GC configuration
* Initial tweaks after design feedback:
1) Use string keys instead of enums. Upon receiving a string key,
the EE looks at it and, if it's something that comes from startup
flags, responds using the startup flag information. Otherwise, it
forwards the string onto CLRConfig.
2) Add a mechanism for getting string configuration values from the
EE. This includes adding a RAII wrapper around strings so that they
are freed correctly.
* Remove uses of g_pConfig from the GC and replace with GCConfig
* Use the GCConfig system for the GC log
* Fix poorly-named parameter
* Add documentation and caching of bool and int configs obtained from the EE
* Remove AppDomainLeaks as dead code
* Remove GC trace configs as dead code
* Repair unix build
* Fix an issue where we started the GC in the wrong latency mode
* Fix the unix build
* Pipe GCRetainVM configuration to the GC
* Dead code removal in the GC sample
* EEConfig -> GCConfig for heap verification constants in the GC
* Populate config information for bools and ints eagerly at startup
* Initialize g_theGCToCLR before initializing GCConfig
* Propegate HoardVM config to the GC
* Fix an incorrect comment
|
|
* [Local GC] Add async pinned handle methods to the handle interface
* Add a callback to HandleAsyncPinnedHandles for handle enumeration
* Rename HandleAsyncPinnedHandles -> EnumerateAsyncPinnedHandles
* Introduce typedef for function pointer type
|
|
|
|
(#11358)
|
|
|
|
* Configure the build system to build a CoreCLR capable of loading a standalone GC
* Proto-implementation of dynamic GC loading
* Build the GC with the VM's CMakeLists when doing a non-standalone build of the GC
* [Local GC] Introduce a new feature define, FEATURE_STANDALONE_GC_ONLY, to be used by the CI to explicitly test local GC dynamic loading code paths
* Fix the FEATURE_STANDALONE_GC_ONLY build for unix linkers
* Rebase against master
* Code review feedback: use the existing Unix exports file
|
|
* multiple export files as input for generate_exports_file
Now, generate_exports_file is able to process multiple input arguments.
This feature is useful when you want to export additional symbols depending on
compile time dependannt feature(-D option.)
* export file for gdbjit added
src/dlls/mscoree/gdbjit_unixexports.src file added
To enable gdbjit feature, libcoreclr.so should have __jit_xxx
symbols.
Current tizen build system removes .symtab section during rpm debuginfo
build. This patch moves __jit_xx symbols into .dynsym section.
|
|
|
|
|
|
- This update contains a fix for this issue: https://github.com/Microsoft/xunit-performance/issues/230
- Consolidate the Api version in two places: `dependencies.prop` and `PerfHarness.csproj`
- Move performance log files to root directory where Jenkins can archive them
- Fixed the output to console, so it is easier to see on the Jenkins job the sccript steps live and get an exact repro step if needed
|
|
IDeserializationCallback.OnDeserialization method. (#12024)
|
|
* [x64/Linux] Use correct argument registers in InterpreterStub
* Adjust Linux/Windows ABI difference
* Use macros instead of array
* Follow naming convention
|
|
Ensure several runtime file descriptors are CLOEXEC
|
|
|
|
This is based on the following principles:
- We should not be making changes to instance/virtual methods
in the abstract base types for Reflection. These are apis
in themselves to third party classes that subclass these types.
Even if the Runtime chooses not to make its own implementations
of these type serializable, third party classes have the right
to make that choice for themselves and build off the base class
serialization infrastructure that was shipped before.
RuntimeAssembly and RuntimeModule still override with PNSE
so we'll get the desired exception for those cases.
- The Runtime's own implementations of these types will not be
serializable. Removing all [Serializable] attributes and
serialization interfaces. Runtime types are internal types and
thus have no duty to implement ISerializable if the public
abstract base type does not.
|
|
|
|
|
|
|
|
|
|
Expose Enumerator members out of EnvironmentAugments.
|
|
'JIT\Regression\CLR-x86-JIT\V1-M11-Beta1\b44879\b44879\b44879.cmd'
When UINT cast to CHAR, MOV instruction had been emitted with R0 to R0 for extending the type.
It is wrong behavior to cast.
In case of INT to BOOL casting, that use uxtb instruction to extend BOOL type.
So this PR would use a uxth instruction too insted of wrong mov instruction.
@dotnet/arm64-contrib @dotnet/arm32-contrib Please make sure this code is okay.
|
|
- Introduce findAnotherHalfRegRec()
- Restore TYP_DOUBLE interval to valid double register
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
- Group cases for each target to improve readability
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
- Use canRestorePreviousInterval() for all target
- Update condition for restoring TYP_DOUBLE interval
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
Internal hashtable serialization attribute removed
|
|
NoGC region. (#11923)
This is just so that I can test with larger SOH seg size to make sure we are not getting AVs.
More perf changes will happen with the NoGC region changes.
|
|
|
|
|
|
serialization (#11910)
* Variables renamed for reflection based serialization
* Make EqualityComparers serialize like desktop
* add missing interfaces
* TimeZone serializable added
* Internal hashtable serializable
* Removed TimeZone as serializable type
* Remove Lazy<T>'s [Serializable] attribute for 2.0
For performance, Lazy was completely rewritten for .NET Core 2.0 and has an entirely different format than desktop; trying to get it to match the desktop serialization format would require either reverting or providing a complicated custom serialization/deserialization implementation to try to match. Lazy can also wrap an Exception that occurred from trying to instantiate the object, and the only exception types that are serializable as of now in core are the base Exception and AggregateException. As such, we're cutting it from the list of supported types in 2.0. An easy workaround is simply to do what the implementation does: serialize lazy.Value instead of lazy.
* tiny fixes to equalitycomparer.cs
|
|
[RyuJIT/arm32] Fix double argument passing
|