summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2016-12-05Change order in .builds and .pkgproj, fix build.sh for not modifying dir.propHyeongseok Oh10-70/+70
2016-12-02First step to generate nuget package for ARM32/LinuxHyeongseok Oh20-40/+109
2016-11-30Merge pull request #8209 from stephentoub/arraypool_perfJan Kotas12-149/+527
Improve ArrayPool implementation and performance
2016-11-30Merge pull request #8382 from BruceForstall/FixShiftBruce Forstall4-149/+233
Fix x86 encoder to use 64-bit type to accumulate opcode/prefix bits
2016-12-01Exclude jithelp.asm for x86/Linux (#8393)Jonghyun Park1-1/+0
2016-11-30Fix x86 encoder to use 64-bit type to accumulate opcode/prefix bitsBruce Forstall4-149/+233
The encoder was using size_t, a 32-bit type on x86, to accumulate opcode and prefix bits to emit. AVX support uses 3 bytes for prefixes that are higher than the 32-bit type can handle. So, change all code byte related types from size_t to a new code_t, defined as "unsigned __int64" on RyuJIT x86 (there is precedence for this type on the ARM architectures). Fixes #8331
2016-11-30Merge pull request #8395 from BruceForstall/FixNYIBruce Forstall2-118/+83
Change NYI to be a noway_assert if ALT_JIT is not defined
2016-11-30Disable PrintSEHChain for non-Windows platforms (#8379)Jonghyun Park1-1/+1
PrintSEHChain uses 'EXCEPTION_REGISTRATION_RECORD' which is not available for non-Windows platforms. This commit disables PrintSEHChain for non-Windows platforms to fix build error in x86/Linux.
2016-11-30Declare CtorFtnType only when it is used (#8378)Jonghyun Park1-1/+1
2016-11-30Disable EHWatsonBucketTracker for non-window platforms (#8373)Jonghyun Park1-0/+2
2016-11-30Disable Windows-specific code for x86/Linux (#8371)Jonghyun Park1-1/+1
2016-11-30Fix mismatch between longfilepathwrappers.cpp and longfilepathwrappers.h (#8370)Jonghyun Park1-4/+4
'longfilepathwrappers.h' declares several functions without WINAPI attribute, but 'longfilepathwrappers.cpp' implements them with WINAPI attributes. This commit makes the declarations in 'longfilepathwrappers.h' consistent with the implementations in 'longfilepathwrappers.cpp'.
2016-11-30Fix mismatch between sortversioning.h and sortversioning.cpp (#8366)Jonghyun Park1-6/+6
2016-11-30Fix to avoid stalling the process when ETW is doing a rundown (#8357)Vance Morrison1-0/+10
This only matters when there are MANY JIT compiled methods, but Bing operates in exactly this mode, and thus it stalls for several seconds while rundown completes. This fix does not fix the problem completely, but it makes it MUCH less likely, and is a trivial, safe fix. The problem is that as part of a GC, we do cleanup of any removed JIT code. To do this we take a JIT code manager lock, but this is also a lock that the JIT code iterator takes and is used during ETW rundown. Thus rundown blocks GCs. Almost all the time, we DON'T have JIT code manager cleanup to do, so we just avoid taking the lock in that case, and this makes the stall MUCH less likely.
2016-11-30[x86/Linux] Fix mismatch over LPOVERLAPPED_COMPLETION_ROUTINE (#8364)Jonghyun Park1-4/+4
* Fix the mismatch over LPOVERLAPPED_COMPLETION_ROUTINE Those functions are compared with Function variable of LPOVERLAPPED_COMPLETION_ROUTINE type, but has inconsistent type, - WaitIOCompletionCallback, - CallbackForInitiateDrainageOfCompletionPortQueue - CallbackForContinueDrainageOfCompletionPortQueue This inconsistency results in compile error for x86/Linux build. This commit fixes such inconsistency. * Revises 'CallbackForContinueDrainageOfCompletionPortQueue'
2016-11-30Emits compile error on portability issue only when PORTABILITY_CHECK is ↵Jonghyun Park1-1/+1
specified (#8340)
2016-11-30[x86/Linux] Disable FEATURE_AVX_SUPPORT (#8335)Jonghyun Park1-1/+1
* Disable FEATURE_AVX_SUPPORT for x86/Linux This commit disables FEATURE_AVX_SUPPORT for x86/Linux to fix #8331. * Disable FEATURE_AVX_SUPPORT only for x86/Linux * Disable FEATURE_SIMD for x86/Linux * Simplify nested if in CMakeList.txt
2016-11-30[x86/Linux] Add missing files in x86/Linux PAL (#8318)Jonghyun Park14-34/+349
* (Partially) Enable x86/Linux PAL * Fix personality routine address encoding * Fix build warnings
2016-11-30Uses portable ROTATE_LEFT for x86/Linux (#8367)Jonghyun Park1-1/+1
2016-11-30Merge pull request #8401 from svick/task-action-delegateStephen Toub3-7/+7
Change the type of Task.m_action to Delegate
2016-11-30Fix mismatch between signature and implementation of ActivationFunctions (#8394)Jonghyun Park2-3/+3
2016-11-30[x86/Linux] Fix prototype for GCThreadStub (#8397)SaeHie Park1-1/+1
Fix compile error for x86/Linux - fix "cannot initialize a parameter of type 'LPTHREAD_START_ROUTINE'" - add __stdcall GCThreadStub as it's Windows/Linux common code
2016-11-29Adding missing ctor - 'public Span(T[] array, int start)' (#8354)Matt Warren3-2/+55
2016-11-29Updates m_LastRedirectIP and m_SpinCount only for non-Unix platforms (#8386)Jonghyun Park1-0/+2
Both variables are available only for non-Unix platforms.
2016-11-29[x86/Linux] Fix extraneous parentheses (#8388)SaeHie Park1-1/+1
Fix compile error for x86/Linux - fix "equality comparison with extraneous parentheses" for LEGACY_BACKEND
2016-11-29[x86/Linux] Fix error: '&&' within '||' (#8391)SaeHie Park1-1/+1
Fix compile error for x86/Linux - place parentheses around the '&&' expression to silence this
2016-11-29Change NYI to be a noway_assert if ALT_JIT is not definedBruce Forstall2-118/+83
We recently changed RyuJIT/x86 to be the default JIT. However, there are still a few NYI that can happen, such as when enabling SIMD, which is not enabled yet. However, there is no "fallback" JIT anymore. So just treat all NYI as asserts.
2016-11-29Capture YMM registers on OSX (#8365)John Chen4-17/+100
Also fixed checking of context flags on OSX (issue #8116)
2016-11-29[x86/Linux] Add virtual dtor for ArrayStubCache class (#8339)Jonghyun Park2-2/+2
* Adds virtual dtor for ArrayStubCache class * Remove unnecessary default destructor
2016-11-29Remove one virtual call from StreamHelpers.ValidateCopyToArgs (#8361)Andy Ayers1-1/+1
Check CanWrite on the destination stream first. In the common case CanWrite is true, and CanRead is only needed to determine which kind of exception to throw when CanWrite is false.
2016-11-29Fix inconsistency between the signatures of GetAppDomain (#8368)Jonghyun Park1-1/+1
2016-11-29[x86/Linux] Disable WIN64EXECPTION and fix related changes (#8375)SaeHie Park4-7/+7
Fix compile error for x86/Linux - undo some changes to disable WIN64EXCEPTION so the x86/Linux builds
2016-11-29Merge pull request #8315 from mikedn/disasmPat Gavlin2-84/+41
Fix various disassembly issues
2016-11-29Merge pull request #8355 from adiaaida/formattingFixMichelle McDaniel2-175/+175
Fix formatting in files
2016-11-29Merge pull request #8291 from sivarv/sse34Sivarv10-100/+266
Enable use of SSE3_4 instruction set for SIMD codegen.
2016-11-29Fix formatting in filesMichelle McDaniel2-175/+175
In morph and flowgraph, we had an instance where an opening/closing brace was inside a #if when it should not have been, which broke our formatting on these files. This change fixes that error and reformats the files.
2016-11-29Merge pull request #8330 from BruceForstall/FixSSE2AssertBruce Forstall1-8/+25
Force enable SSE2 on RyuJIT/x86 on desktop
2016-11-29Merge pull request #8351 from dotnet-bot/from-tfsJan Kotas1-0/+2
Merge changes from TFS
2016-11-29Fix shared library dependencies verification on some platforms (#8349)Jan Vorlicek1-0/+6
The existing way of verifying shared library dependencies, used for System.Globalization.Native.so, doesn't work on platforms that don't have ldd or where ldd doesn't support the `-r` option. This change makes the check happen on non-Alpine Linux only for now. It also refactors the way the check is performed. Instead of doing it post build in the build.sh, it is now performed as a postbuild phase of the System.Globalization.Native target and it is also generalized so that we can easily add such verification to other build targets. The new verify-so.sh script is also used in corefx.
2016-11-29Disable CER feature as it is not used (#8218)John Chen25-13/+106
Use FEATURE_CER to scope CER code, and disable CER feature in CoreCLR.
2016-11-29Fix AMD64 CTP build breakBruce Forstall1-0/+2
[tfs-changeset: 1639770]
2016-11-29Fix phantom TEXTREL in libcoreclr.so (#8347)Jan Vorlicek2-2/+2
This change fixes the problem where scanelf tool reported that libcoreclr.s contains TEXTRELs, however it was unable to find any. It turns out there actually were TEXTRELs, but not in the program code or program data, but rather in the DWARF tables. The NESTED_ENTRY macro for ARM64 and AMD64 uses .cfi_personality with encoding 0, which means absolute address. This is the source of the TEXTREL. Changing the encoding to 0x1b - DW_EH_PE_pcrel | DW_EH_PE_sdata4 fixes the problem - the scanelf tool no longer reports any TEXTRELs in libcoreclr.so.
2016-11-29Uses 'W' to fix build error (#8345)Jonghyun Park1-1/+1
2016-11-29Fix the mistmatch between gc_thread_stub and GCThreadFunction (#8336)Jonghyun Park2-2/+2
2016-11-29Fix ignored attribute warning for x86/Linux build (#8334)Jonghyun Park1-1/+1
2016-11-29Fix various disassembly issuesMike Danes2-84/+41
- (null) being displayed instead of ymmword ptr - lack of a space between some instructions and their first operand - incorrect display of pmovmskb's first operand (was something like yrax) - displaying ymm registers in cases where xmm registers were actually used - displaying mm instead of xmm/ymm (e.g. cmpps mm1, mm2)
2016-11-28Force enable SSE2 on RyuJIT/x86 on desktopBruce Forstall1-8/+25
SSE2 is required for RyuJIT/x86; there is no x87 code path. The .NET Core VM sets the JIT flag enabling this, and we assert it does. On desktop, however, especially under NGEN, it does not. We ignore that, and generate SSE2 code anyway.
2016-11-28Disable PSPSym and LocAllocSPvar for CoreRT (#8319)Jan Kotas6-67/+99
The establisher frame definition differs between CoreRT ABI and CoreCLR ABI. In CoreRT ABI created by @russellhadley and @smosier while back, the establisher frame is always the SP value at the point that control left the frame in which execution would resume after a catch handler completes. This mismatch leads to crashes when PSPSym is recomputed in funclets of methods with localloc. Fixed by disabling PSPSym for CoreRT since it does not need it. Also disabled LocAllocSPvar while I was on it since it is not needed for CoreRT either. Fixes https://github.com/dotnet/corert/issues/2255
2016-11-28Merge pull request #8325 from pgavlin/gh8285Pat Gavlin1-1/+1
Do not rewrite `(t + cns_a) << cns_s)` during CSE.
2016-11-28Enable using SSE3_4 instruction set for SIMD codegen.sivarv10-100/+266