Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-08-13Add environment variables support for Unix (#6216)Robert Miles
2018-08-11Merge pull request #6213 from dotnet/masterMichal Strehovský
Merge master to nmirror
2018-08-10[armel tizen] Fixed unwinding support for ARM is not fully implemented #5874 ↵sergey ignatov
(#6197)
2018-08-09Trivial fix for typo in arm64 assembly (xzr -> wzr)Tomas Rylek
[tfs-changeset: 1709921]
2018-08-09Merge pull request #6193 from dotnet/nmirrorJan Kotas
Merge nmirror to master
2018-08-09Fix for a GC hole bug with exception rethrowing code (Bug 659148).Fadi Hanna
The issue is that the RhpRethrow stubs do not initialize the values of m_kind for the ExInfo objects they allocate on stack. Depending on the kind of garbage that gets assigned to m_kind, the stack iterator either takes the code path of reporting the gcroots of the RhpRethrow callsite, or takes the code path with the RemapHardwareFaultToGCSafePoint (if m_kind ends up getting a HW exception flag). The piece of code that initializes the m_kind field of the ExInfo object on rethrows is in ExceptionHandling.cs, and there’s a window of opportunity where GC collection can happen before m_kind gets initialized correctly. The bug needs the following conditions to occur: 1) Garbage value in ExInfo.m_kind before initialization causes the stack iterator to take one code path, then after initialization take the other code path. 2) GC collection happens in the middle, before m_kind gets properly initialized 3) Gc roots reported in each of the 2 different code paths are different 4) The GC collection in step #2 causes a relocation of a reference object of interest. The fix is to just initialize the field to something deterministic that makes sense (zero in that case). This would cause the stack iterator to use the gcroots reporting of the RhpRethrow callsite, until the field is initialized to a more meaningful value (ex: in case of a rethrow of a HW exception) where we would apply the correct algorithm to determine a more correct gcroots reporting point to use based on where execution is headed (ex: use the gcroots reporting point of a finally block if the rethrow is for a HW exception, and in a catch block) [tfs-changeset: 1709684]
2018-08-02Update RyuJIT (#6170)Michal Strehovský
2018-08-01Implement RuntimeThread.CurrentOSThreadId. (#6161)Brian Robbins
2018-07-27[tfs-changeset: 1708860]dotnet-bot
2018-07-23Fixing the warning (bug 497509) we get from an unsupported alignment value ↵Fadi Hanna
for the ALIGN macro (for some reason, the arm64 assembler warns that 16 bytes exceed the max alignment value, and will not guarantee any alignment). We do not need that anyways because the thunks instructions are 16-bytes long, and all thunks will naturally be aligned at 16 bytes boundaries. [tfs-changeset: 1708278]
2018-07-23Make generic composition details relative addressesMichal Strehovsky
I'm looking at size regressions between .NET Native 1.7 and the current mainline branch. A thing that stood out is universally bigger EETypes. A contributor to this was getting rid of GenericInstanceDescs between 1.7 and 2.0 and replacing them by direct references to generic composition details from the EEType. Size-wise, this was mostly a wash, but we can actually do better - these new fields are not critical to be pointer-sized. This change turns them into relative pointers. This saves 33 kB on a hello world app. I expect around 100 kB savings on the UWP People app based on my back-of-the-envelope calculation. Project N baggage: 1. Update pntestcl build configuration to compile it with a C# compiler that is not 8 years old 2. Disable metadata validation transform on class libraries. This is hitting what appears to be a CCI metadata validator bug (Validator.cs:796) where it thinks a modified type should have the same interned key as the unmodified version of it. The act of resolving a modified type strips off the modifier. This ticks off the validator. 3. Fix a Reducer bug where it wasn't marking non-interface constraints as necessary. The C# unmanaged constraint is expressed as [modreq UnmanagedType] ValueType. We were not marking UnmanagedType as necessary. 4. Update checked in binder because this is a file format change [tfs-changeset: 1708263]
2018-07-18Make thread statics faster (#6108)Michal Strehovský
* Fix the TODO to inline `.cctor` check into the R2R helper. This avoids some method calls and stack frame setup. * Remove array cast from the hot path. The runtime doesn't care what type the storage is, as long as it's a managed reference - in fact, it seems to be treated as an `Object` in `pCurrentThread->GetThreadStaticStorageForModule` anyway. I considered replacing the cast with an `Unsafe.As`, but just redeclaring the signatures as returning `object[]` seemed better (because now we actually guarantee the classlib won't pass anything but `object[]` to `RhSetThreadStaticStorageForModule`).
2018-07-17Add support for embedding runtime configuration (#6103)Michal Strehovský
Runtime configuration (e.g. whether to use server GC) can currently be provided either through environment variables at runtime, or through a RhConfig.ini file placed next to the executable. This adds another channel where we burn a blob similar to RhConfig.ini format into the executable. The order of precedence is environment variable > RhConfig.ini > embedded config. The `ServerGarbageCollection` project property that is used to determine whether to link with a runtime that supports server GC will be also used to control whether to generate a configuration that enables server GC at runtime by default. Fixes #6100.
2018-07-11Fix unnecessary thread-static handle reallocation (#6085)Jan Kotas
2018-07-06Merge pull request #6066 from dotnet/masterMichal Strehovský
Merge master to nmirror
2018-07-05Fixing a perf issue discovered in the arm64 assembly stubs: using the BR ↵Fadi Hanna
instruction for tail calls, instead of the RET instruction. These changes should improve the overall performance on ARM64. An example of measured perf gains: 362% improvement for interface calls on cached cells. Here's the test output for 100000000 iterations: BEFORE the changes: ======================= "LowLevelPerf.exe" -name INTERFACE_INTERFACE_METHOD -iters 100000000 INTERFACE_INTERFACE_METHOD Dynamic Timer = 425064.815690 Iters/Sec Seconds = 235.258239 Seconds Process Cycles = 565810805623.000000 Cycles Process Cycles/Iter = 5658.108056 Cycles/Iters AFTER the changes: ======================= "LowLevelPerf.exe" -name INTERFACE_INTERFACE_METHOD -iters 100000000 INTERFACE_INTERFACE_METHOD Dynamic Timer = 1531103.010283 Iters/Sec Seconds = 65.312392 Seconds Process Cycles = 156754061586.000000 Cycles Process Cycles/Iter = 1567.540616 Cycles/Iters [tfs-changeset: 1706580]
2018-07-04[Linux] Fix build for new clang versions (#6047)Petr Bred
Signed-off-by: Petr Bred <bredpetr@gmail.com>
2018-07-04Merge pull request #6024 from dotnet/nmirrorMichal Strehovský
Merge nmirror to master
2018-07-04Fix dumping cache topology and running debug x86 code on ARM64.Anton Lapounov
CR: SergeyK • Disable for ARM CPUs the assertion checking that two methods of calculating the CPU cache size produce the same results. • Replace "%zx" with "%Ix" in printf format strings. PalRedhawkMinWin.cpp is a part of mrt100.dll, which is built against the system CRT. The system CRT does not recognize the "z" size prefix added in https://github.com/dotnet/corert/commit/ef7be14256aed0bfeecda13f7687347d4d8ddbe9. [tfs-changeset: 1706474]
2018-07-02Update RyuJIT (#6038)Jan Kotas
2018-06-21Fix warning in cordebuginfo.h (#5983)Adeel Mujahid
2018-06-20Update RyuJIT (#5969)Jan Kotas
2018-06-17Merge pull request #5948 from dotnet/nmirrorJan Kotas
Merge nmirror to master
2018-06-15RI from ProjNdev3 up to CS1704145dotnet-bot
[tfs-changeset: 1704209]
2018-06-14Dwarf: add support for static members (#5592)Konstantin Baladurin
- change CU lang from C89 to C_plus_plus - ungroup gc, non-gc and thread statics in debuginfo
2018-06-09Use sysconf(_SC_NPROCESSORS_CONF) in PAL and GC ONLY on ARM and ARM64 (#5919)Jan Kotas
Port https://github.com/dotnet/coreclr/pull/18289
2018-06-08Enable Alpine ARM/ARM64 cross build (#5911)Jan Vorlicek
Also unify the cross build related files with coreclr and fix a bug in the build-native.sh
2018-06-05[ARM] Fix exception handling asm (#5898)Petr Bred
Signed-off-by: Petr Bred <bredpetr@gmail.com>
2018-06-05Switch back to SC_NPROCESSORS_ONLN for WebAssembly (#5861)Morgan Brown
* Switch back to SC_NPROCESSORS_ONLN for WebAssembly because SC_NPROCESSORS_CONF isn't implemented in Emscripten. Fixes an assert on startup.
2018-05-30Fix: call memory allocation instead of return (#5866)Ivan Arishchenko
The code EPILOG_POP "{r4,pc}" arm/AllocFast.S:472 RhpNewFastMisalign() returns from the RhpNewFastMisalign function without memory allocation, the input parameter (EEType pointer) is returned as result of memory allocation. It leads to using the EEType as object and application crashed with SIGSEGV.
2018-05-25Use sysconf(_SC_NPROCESSORS_CONF) to get number of processors (#5853)Jan Kotas
Port https://github.com/dotnet/coreclr/pull/18053/
2018-05-22[ARM] Add missed System.Private.TypeLoader.Native stubs (#5834)Petr Bred
Signed-off-by: Petr Bred <bredpetr@gmail.com>
2018-05-19Merge pull request #5816 from dotnet/nmirrorJan Kotas
Merge nmirror to master
2018-05-19Change condition check (#5818)Andon Andonov
2018-05-18Merge pull request #5821 from dotnet/masterMichal Strehovský
Merge master to nmirror
2018-05-18[tfs-changeset: 1700475]dotnet-bot
2018-05-17Do not build System.Private.TypeLoader.Native for WASM (#5811)Michal Strehovský
These are assembly helpers that support various thunk pools. WASM will have to do this in a different way. Should fix #5810.
2018-05-14Start building System.Private.TypeLoader.Native (#5805)Michal Strehovský
And remove workaround that was trying to avoid dependency on `ConstrainedCallSupport_GetStubs`.
2018-05-12Move TypeLoader.Native to openMichal Strehovsky
[tfs-changeset: 1699905]
2018-04-26Change label name in Unix macro (#5750)Andon Andonov
Add comment
2018-04-24Respect allowReentrantWait in PalCompatibleWaitAny (#5743)Jan Kotas
Fixes #5736
2018-04-13[ARM/X86] Fix calling conventions (#5684)Petr Bred
Signed-off-by: Petr Bred <bredpetr@gmail.com>
2018-04-12Merge remote-tracking branch 'upstream/nmirror' into nmirror-mergeMichal Strehovský
2018-04-12Add conservative upper bound calculation for GC in CoffNativeCodeManager (#5585)Andon Andonov
* Add upper bound calculation * Comment Change * Correct Stack Pointer calculation * Fix data flag address adjustment and move reverse pinvoke check * Move bound one pointer size up
2018-04-12UnwindRhpThrowHwEx - Fix the stack unwinding issue during hardware exception ↵Andrew Au
dispatch [tfs-changeset: 1696204]
2018-04-11Port dynamic load checks from CoreCLR (#5683)Andon Andonov
2018-04-11Fix cmake toolchain compile flags loop (#5646)Petr Bred
- fix https://github.com/dotnet/corert/issues/5093 - cmake toolchain refactoring - synchronization with CoreCLR/CoreFX Signed-off-by: Petr Bred <bredpetr@gmail.com>
2018-04-11[tfs-changeset: 1695985]dotnet-bot
2018-04-11Make ObjWriter build work on Windows (#5671)Jan Kotas
2018-04-10New ObjectWriter NuGet packaging scripts (#5667)Jan Kotas
* Delete old ObjectWriter NuGet packaging scripts * New ObjectWriter NuGet packaging scripts