summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-01-06Merge pull request #8835 from pgavlin/RemoveAsgdLclVarPat Gavlin3-191/+32
Remove the `asgdLclVar` analysis from liveness.
2017-01-06Merge pull request #8808 from rahku/cleanupRahul Kumar4-296/+16
Hide types implemented in corefx
2017-01-06Simplify lclNum fetching and a few assertions.Pat Gavlin1-11/+4
2017-01-06Hide types implemented in corefxRahul Kumar4-296/+16
2017-01-06Remove the `asgdLclVar` analysis from liveness.Pat Gavlin3-184/+32
This analysis is not necessary for correctness and does not appear to have any impact on the generated code: in particualr, internal assembly diffs show no changes with this analysis disabled. For example, consider the following statement: `(asg (lclVar V0) (add (lclVar V0) (icon 4)))` Under the `asgdLclVar` analysis, the visit of the lclVar node that is an operand to the add would mark the lclVar node that is the target of the assignment with `GTF_VAR_USEDEF` and exit without adding V0 to the current set of used lclVars. Instead, the visit of the lclVar node that is the target of the assignment would add V0 to both the set of used lclVar nodes and the set of defined lclVar nodes. With this analysis disabled, the visit of the lclVar node that is an operand to the add will add V0 to the set of used lclVar nodes and the visit of the lclVar node that is the target of the assignment will add V0 to the set of defined lclVar nodes. In both cases, the result is the same.
2017-01-06Delete unused InteropServices types (#8765)James Ko39-5260/+3
2017-01-06Use POSIX "command" instead of non-standard "which" (#8823)Jürgen Hötzel2-17/+17
GNU which might not be installed on a minimal GNU/Linux installation. Refs #6994 and #7025.
2017-01-05Merge pull request #8820 from pgavlin/RemoveVarTmpPat Gavlin4-6/+0
Remove `BasicBlock::bbVarTmp`.
2017-01-05Remove `BasicBlock::bbVarTmp`.Pat Gavlin4-6/+0
This field was never used.
2017-01-05Revert "Adding Microsoft.NETCore.Native package (#8791)"Sedar Gokbulut17-497/+0
This reverts commit eea7b4691c0a489435814e48a257a9d047475006.
2017-01-05Use x86 crossbuild for cross-architecture component on x64-linux (#8722)Hyeongseok Oh1-11/+10
* Use x86 crossbuild for cross-architecture component on x64-linux Fix build.sh and build system generator to use x86 cross-build system on x64-linux - x86-host/ARM32-target cross-architecture component build on x64 linux - use x86 root file system and cross buildtool * Modify build.sh - define new function: build_cross_arch_component - fix typo * Additional fix: build.sh add usage description - environment variable: CAC_ROOTFS_DIR - argument: crosscomponent
2017-01-05Use armel instead of arm-softfp (#8771)Hyung-Kyu Choi3-5/+5
* Use armel instead of arm-softfp for CoreCLR - Update scripts for rootfs, build, build system generation and CI - Update managed build project - Rename rootfs directory - Fix bug in rootfs script related to lldb package lldb package only usable lldb-3.5-dev for jessie/arm-softfp We cannot get lldb-3.6-dev or lldb-3.8-dev from jessie/arm-softfp repository Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com> Singed-off-by: Hyeongseok Oh <hseok82.oh@samsung.com> * Update ARM32 CI script We don't need a patch anymore, because we fixed cmake file. Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-01-05Fix unsigned_abs function on Unix (#8805)Jan Vorlicek1-4/+0
The unsigned_abs function in jit.h is implemented using labs function. However labs has 32 bit argument / result, while the unsigned_abs expects it to be 64 bit. The correct function to use for FEATURE_PAL is llabs. But since we now have abs overload for __int64 in pal.h, we can just remove the #ifdef for FEATURE_PAL and use the same implementation for both Unix and Windows.
2017-01-04Merge pull request #8809 from pgavlin/FixJitStressFailurePat Gavlin1-0/+2
Add a missing ref count bump in DecomposeLclFld.
2017-01-04Merge pull request #8711 from sivarv/simdAbsOptSivarv6-125/+266
Accelerate Abs intrinsic even in cases where there is no direct instruction support available.
2017-01-04Fix VSO 359733. (#8803)Pat Gavlin1-3/+5
* Fix VSO 359733. This bug was an assertion when extracting side effects that failed when checking that the presence or absence of value numbers on the head of the side effect list matched the presence or absence of value numbers on the node being added to the list. This condition does not hold when remorphing, as remorphing may create nodes without value numbers. In this case, the new comma node will have no value numbers for conservative correctness. The failing assertion was weakened to allow the presence/absence of value numbers on the head of the list and the node being added to differ during remorphing.
2017-01-04Merge pull request #8804 from adiaaida/devdiv_362706Michelle McDaniel1-0/+10
Fix DevDiv 362706
2017-01-04Add a missing ref count bump in DecomposeLclFld.Pat Gavlin1-0/+2
DecomposeLclFld transforms a single lclFld node into two lclFld nodes that reference the same lclVar, but was missing a corresponding ref count bump. This was causing a failure in JIT/Methodical/fp/exgen/10w5d_cs_do under JITStress=1 and JITStress=2.
2017-01-04Fix NULL string printing in printf (#8800)Jan Vorlicek28-42/+216
The functions implementing various printf flavors in PAL were not handling correctly the case when a string pointer passed to them for %S and %s formats was NULL. Instead of printing `(null)`, they were crashing. This change fixes the problem and also adds PAL tests to verify it is working properly.
2017-01-04Fix DevDiv 362706Michelle McDaniel1-0/+10
The issue here was that when we morphed a mod into a sub mul div, we would ultimately decrease the ref counts to the numerator of the original mod without performing a corresponding increase. The fix is to increase the ref count when morphing into the sub mul div.
2017-01-04Accelerate Abs intrinsic even in cases where there is no direct instruction ↵sivarv6-125/+266
support available.
2017-01-04Adding Microsoft.NETCore.Native package (#8791)Sedar Gokbulut17-0/+497
* "Adding Microsoft.NETCore.Native package" * Adding generic linux configuration to Microsoft.NETCore.Native package * Fixing the OSX pkgproj of Microsoft.NETCore.Native to include S.Globalization.Native.dylib and not .so
2017-01-04Path normalization performance improvementsJan Kotas9-129/+99
- Use const variant of path separators in the Path implementation - Add fast paths for common cases to hot parsing routines - Avoid redundant caches for MaxPath on Unix
2017-01-04Delete unused fileJan Kotas2-76/+0
2017-01-04Use ArrayPool for PathHelperJan Kotas12-610/+226
Replace special unmanaged memory pool used by PathHelper by shared ArrayPool. Custom memory pools are not good for global system performance, and the particular implementation of the unmanaged memory pool was also problematic for CoreRT port because of its dependencies.
2017-01-04[x86/Linux] Implement ResolveWorkerChainLookupAsmStub (#8780)SaeHie Park3-5/+102
Replace ResolveWorkerChainLookupAsmStub with actual implementation - code is copied from Win32 version - replaced some parts to compile in linux
2017-01-04[x86/Linux] Implement SinglecastDelegateInvokeStub (#8799)SaeHie Park3-5/+39
Implement SinglecastDelegateInvokeStub for x86/Linux - Code copied from that of AMD64 and some translation - Fixes LargeObjectAlloc.exe unit test case and maybe others
2017-01-03Remove un-necessary ITuple constraint (#8793)Julien Couvreur1-3/+13
2017-01-03Redo some argument name corrections (#8727)Stephen A. Imhoff11-25/+25
* TraceLogging * SignatureHelper * RuntimeReflectionExtensions * RuntimeHandles - Public * SemaphoreSlim - Public * Directory - Public * ModuleBuilder - Public * EncoderFallback - Public - Test Failures * StringBuilder - Public - Test Failures
2017-01-03Merge pull request #8757 from JosephTremoulet/FixHeapLiveInJoseph Tremoulet2-24/+3
Fix heap live-in calculation
2017-01-03Merge pull request #8789 from pgavlin/VSO359737Pat Gavlin1-1/+4
Fix DevDiv bug 359737.
2017-01-03Add a comment per code review.Pat Gavlin1-0/+2
2017-01-03Merge pull request #8788 from JohnChen0/apisetJohn Chen1-1/+1
Fix a typo that caused AVX2 flag to be unset
2017-01-03Merge pull request #8751 from mellinoe/corelibraries-unixEric Mellino1-1/+5
Add CORE_LIBRARIES to the TPA list if it's set in unixcoreruncommon
2017-01-03Remove unnecessary `canEndWithoutSeparator` parameter (#8786)Justin Van Patten1-86/+44
2017-01-03TimeZoneInfo.StringSerializer can be a struct (#8784)Justin Van Patten1-3/+3
2017-01-03Adjust ref counts during EH normalization (#8713)Andy Ayers1-0/+5
EH normalization can leave incorrect ref counts. This caused asserts in a few cases with the forthcoming finally cloning, as these EH related blocks were exposed to flow optimizations.
2017-01-03Fix DevDiv bug 359737.Pat Gavlin1-1/+2
This bug was an assertion during CSE that ensures that all CSE candidates have value numbers. This assertion tripped because an earlier CSE in the same tree as the faulty candidate re-morphed modulus by a constant into a divide and subtract; the resulting tree was left without value numbers. This change disables the problematic transform when remorphing as part of CSE.
2017-01-03Fix a typo that caused AVX2 flag to be unsetJohn Chen (CLR)1-1/+1
Fix issue #8736, a regression caused by PR #8624. A typo in the code causes the AVX2 flag to be always unset.
2017-01-03TimeZoneInfo.StringSerializer: Avoid some unnecessary allocations (#8783)Justin Van Patten1-60/+46
Instead of using multiple calls to `string.Replace` to escape reserved chars before appending to a `StringBuilder`, do the replacing while appending the chars directly to the `StringBuilder`. Also, append numbers/dates directly instead of running it through the escape method, as these Invariant-formatted strings will not contain any chars that need to be escaped.
2017-01-03Only add CORE_LIBRARIES to TPA list if it is different from clrFilesAbsolutePathEric Mellino1-1/+4
This avoids placing duplicate entries on the TPA list.
2017-01-03ArrayPool fixes (#8774)Jan Kotas4-22/+9
* Use Array.Empty<T>() to make the code identical to CoreRT copy The internal EmptyArray<T> does not exist in CoreRT. * Remove unnecessary helper type for lazy initialization All generic types are beforefieldinit by design. * Use | for clarity
2017-01-02TimeZoneInfo: Reduce intermediate allocations in GetTimeZoneIds on Unix (#8769)Justin Van Patten1-27/+30
Avoid intermediate underlying array allocations as items are added to the resulting List<string> by specifying the capacity. Also, change the signature of the private method to return List<string> instead of IEnumerable<string> to avoid the enumerator allocation when enumerating the ids.
2017-01-02[Linux/ARM32] duplicated definition in crosscomp.h (#8729)Hyeongseok Oh1-0/+2
Some structs in crosscomp.h are already defined in pal.h or palrt.h Fix to avoid duplicated definition
2017-01-02[x86/Linux] Fix UMThunkStub calling convension (#8714)SaeHie Park1-28/+21
This fixes reverse P/Invoke segment faults by handling cdecl from UM to fastcall for Managed code, which corrects many CoreFX unit test cases including CharMinValue.exe. First and second parameter(s) are set to ECX, EDX and rest to the stack.
2017-01-01Delete unused Diagnostics files (#8754)James Ko2-108/+0
2017-01-01Delete unused Threading types/members (#8766)James Ko7-4981/+0
2017-01-01Delete unused SymbolStore files (#8767)James Ko11-461/+0
2016-12-31Delete unused IO files (#8753)James Ko11-4297/+6
2016-12-30Fix heap live-in calculationJoseph Tremoulet2-24/+3
Update the code in liveness that sets the `fgCurHeapUse` flag (which needs to identify whether the current block has an upwards-exposed use of the heap) to set this unconditionally for opcodes that use the heap. Previously, this code was avoiding setting the flag if the block has a prior def of the heap, but in the absence of a guarantee to the contrary, we must assume that the heap use may not alias the heap def, and so still be upwards-exposed and cause the heap to be live-in to the block. Also remove the OptRepeat workaround for the lack of this, in `ResetOptAnnotations`. Fixes #7846.