platform/upstream/coreclr.git
8 years agoMerge pull request #5001 from AlexGhiondea/ReadAppContextOverrides
Senthil [Thu, 19 May 2016 06:48:34 +0000 (23:48 -0700)]
Merge pull request #5001 from AlexGhiondea/ReadAppContextOverrides

Introduce a way to override AppContext switches from the project.json

8 years agoMerge pull request #5076 from dotnet-bot/from-tfs
Jan Kotas [Thu, 19 May 2016 04:47:22 +0000 (21:47 -0700)]
Merge pull request #5076 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoSkip configuration with skipnative option. (#5059)
mkborg [Thu, 19 May 2016 04:44:54 +0000 (08:44 +0400)]
Skip configuration with skipnative option. (#5059)

Fixes #4022.

8 years agoMerge pull request #5073 from kyulee1/newtest
Kyungwoo Lee [Thu, 19 May 2016 03:36:50 +0000 (20:36 -0700)]
Merge pull request #5073 from kyulee1/newtest

ARM64: New Test Binary Update

8 years agoMerge pull request #5020 from kyulee1/imp
Kyungwoo Lee [Thu, 19 May 2016 01:30:55 +0000 (18:30 -0700)]
Merge pull request #5020 from kyulee1/imp

ARM64: Enable End-To-End ReadyToRun (R2R) Crossgen

8 years agoARM64: New Test Binary Update
Kyungwoo Lee [Wed, 18 May 2016 21:10:57 +0000 (14:10 -0700)]
ARM64: New Test Binary Update

Currently 135 of 9661 are failing.
Those are marked as EXPECTED_FAIL.
~55: mcc failed due to differnet struct calling convetion
~13: regression from the prior tests: marked as EXPECTED_FAIL;REGRESS
~22: failures from new tests: marked as NEW;EXPECTED_FAIL
~45: HFA

Tests.lst head now contains git hash number which tells us what version
we use to build such binaries. This is also used to dispatch different test folder in the lab.

8 years agoPort from tfs: onload exception debugger crash fix (#4868)
sbomer [Wed, 18 May 2016 23:40:12 +0000 (16:40 -0700)]
Port from tfs: onload exception debugger crash fix (#4868)

The ExceptionHijackPersonalityRoutine was retrieving a context from a
particular stack frame, but the calling conventions for the function
executing in that frame allow it to overwrite the context. This was
causing the debugger to crash for exceptions thrown from the onload
method in winforms on x64.

The fix is to instead retrieve the context from the previous stack
frame, whose layout is set up explicitly in ExceptionHijack.

8 years agoMerge pull request #5070 from dotnet-bot/from-tfs
Bruce Forstall [Wed, 18 May 2016 23:18:38 +0000 (16:18 -0700)]
Merge pull request #5070 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoExplicitly reference the file containing the mscorlib reference assembly.
Alex Ghiondea [Wed, 18 May 2016 21:57:00 +0000 (14:57 -0700)]
Explicitly reference the file containing the mscorlib reference assembly.

[tfs-changeset: 1606007]

8 years agoMerge pull request #5039 from adityamandaleeka/sigterm_chaining
Aditya Mandaleeka [Wed, 18 May 2016 21:51:05 +0000 (14:51 -0700)]
Merge pull request #5039 from adityamandaleeka/sigterm_chaining

Put SIGTERM registration behind a PAL initialization flag

8 years agoCache GetLowerBound in Array.Reverse and Array.Sort (#5019)
Hugh Bellamy [Wed, 18 May 2016 21:27:37 +0000 (22:27 +0100)]
Cache GetLowerBound in Array.Reverse and Array.Sort (#5019)

- Avoids calling internal native method 4 times per sort: 2 times is
enough
- Avoids calling internal native method 2 times per reverse: 1 time is
enough

8 years agoARM64: Enable End-To-End ReadyToRun (R2R) Crossgen
Kyungwoo Lee [Sat, 14 May 2016 20:06:57 +0000 (13:06 -0700)]
ARM64: Enable End-To-End ReadyToRun (R2R) Crossgen

Fixes https://github.com/dotnet/coreclr/issues/4649
The immediate issues was NYI on genEmitHelperCalls. The initial
implementation for the missing part was enough to just crossgen System.dll.
But running tests revealed various issues in crossgened binaries (R2R).
Most common user/helper calls in R2R are represented as indirect calls
similar to interface call using virtual stub dispatch cell --
thunk/helper needs a indirect cell address to update the final target
address on the data location. `IsDelayLoadHelper` and `IsLazyHelper` belong to
this case.
Instead of passing such parameter, x64/x86 uses an encoding trick -- it
assumes the call is dispatched like `call [addr]`. So from the return
address, runtime could extract indirect cell address. Unfortunately this is not
an option for arm64 (actually arm as well but I haven't fixed it in this
change) where indirect call on memory is not encodable.
So, I made the following changes:

1. For the call requiring that needs to pass indirect cell address, I
tagged the call tree via `setR2RRelativeIndir`. Tried to be comprehensive,
but I may miss something. Currently, it includes a regular call and
various helpers for (virtual) load function pointer/static data access, etc.
Hopely we change JIT/EE interface somehow that gives us such explicit information.

2. Use the X11 to record indirect cell address for such call tree in
lower similar to VSD.

3. Fixed encodings `ZapIndirectHelperThunk`. In particular the immediate
value/offset for `ldr` should be scaled down 4 times since HW will scale
it 4 times.

4. Implement `genEmitHelperCalls` for indirect case. This is not the case requiring indirect
cell address. This is the case we inlined the indirect helper thunk for
the speed. I'm seeing the case for size opt helper call, we invoke a
direct call to such thunk which actually uses x12 to dispatch the final
target. Likewise, I used x12 for this expansion which seems a trash register that is not
overlapped with arugments with jit helpers like writer barriers.

With this change, I've tested various cases/scenraios locally.
Also I've verified all tests are passed against mscorlib.ni.dll and System.ni.dll.

8 years agoMerge pull request #5069 from ramarag/R2RCleanup
Rama krishnan Raghupathy [Wed, 18 May 2016 21:17:54 +0000 (14:17 -0700)]
Merge pull request #5069 from ramarag/R2RCleanup

Removing hard coded path Fixes #5065

8 years agoMerge pull request #5048 from yizhang82/hostpath-fix
Yi Zhang (CLR) [Wed, 18 May 2016 20:36:13 +0000 (13:36 -0700)]
Merge pull request #5048 from yizhang82/hostpath-fix

Move NATIVE_DLL_SEARCH_DIRECTORIES probing earlier right before we pr…

8 years agoMerge pull request #5044 from RussKeldorph/lifetime2
Russ Keldorph [Wed, 18 May 2016 20:10:28 +0000 (13:10 -0700)]
Merge pull request #5044 from RussKeldorph/lifetime2

Fix and reenable lifetime2

8 years agoRemove Encoding FEATURE_* defines from mscorlib (#5026)
James Ko [Wed, 18 May 2016 20:09:33 +0000 (16:09 -0400)]
Remove Encoding FEATURE_* defines from mscorlib (#5026)

* Remove Encoding FEATURE_* defines from mscorlib

* Remove strange character from Encoding.cs

8 years agoRemoving hard coded path
Rama Krishnan Raghupathy [Wed, 18 May 2016 19:28:20 +0000 (12:28 -0700)]
Removing hard coded path

8 years agoMerge pull request #5062 from dotnet-bot/from-tfs
Bruce Forstall [Wed, 18 May 2016 19:33:06 +0000 (12:33 -0700)]
Merge pull request #5062 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #5036 from rahku/fixes
Rahul Kumar [Wed, 18 May 2016 19:16:50 +0000 (12:16 -0700)]
Merge pull request #5036 from rahku/fixes

Fix for issue# 3651

8 years agoFix to Jit32 test b46659.exe failure.
Venkata Sivaramakrishna Ramadugu [Wed, 18 May 2016 17:59:02 +0000 (10:59 -0700)]
Fix to Jit32 test b46659.exe  failure.

Here is the git hub issue: https://github.com/dotnet/coreclr/issues/4547

The repro case is

     i = -111
     while ( i > 0)
     {
         // another nested loop goes here
     }
     return 100

     After assertionProp, due to while loop condition lot of blocks/stmts get deleted as unreachable but optLoopCount is never decremented.  Later when optLoopCodeMotion() gets called, it iterates through optLoopTable[] and tries to access head

     if  ((loopRmv & loopBit)     ||
            tail == 0               ||
            head->bbTreeList == 0    )

     Since entire method reduces to a single basic block, head will be nullptr and accessing head->bbTreeList is leading to an AV.

     Fix: As a safe fix for RTM, also check whether head is nullptr.

[tfs-changeset: 1605919]

8 years agoMerge pull request #4902 from JeremyKuhne/WindowsLongPath
Jeremy Kuhne [Wed, 18 May 2016 17:41:27 +0000 (10:41 -0700)]
Merge pull request #4902 from JeremyKuhne/WindowsLongPath

Allow long paths in CoreCLR managed code

8 years agoRollback CS#1603899 that led to a JIT assert ngen'ing System.Windows.Forms.dll
Bruce Forstall [Wed, 18 May 2016 17:33:28 +0000 (10:33 -0700)]
Rollback CS#1603899 that led to a JIT assert ngen'ing System.Windows.Forms.dll

====================
007551: Merge pull request #1241 from mikedn/modopt

Extend the DIV/MOD dividend into RDX:RAX only if needed
====================

Assert failure(PID 33656 [0x00008378], Thread: 17792 [0x4580]): Assertion failed 'addr->OperIsAddrMode() || (addr->IsCnsIntOrI() && addr->isContained()) || !addr->isContained()' in 'System.Windows.Forms.CheckedListBox:OnDrawItem(ref):this' (IL size 1216)

    File: e:\dd\projectk\src\ndp\clr\src\jit\emitxarch.cpp Line: 2698
    Image: C:\Windows\Microsoft.NET\Framework64\v4.0.rb1605209\mscorsvw.exe

The tree:

***** BB41, stmt 82 (embedded)
     (  6,  8) [003723] ------------             *  stmtExpr  void  (embedded) (IL 0x109...  ???)
N1045 (  3,  2) [000115] ------------             |        /--*  lclVar    ref    V00 this         u:2 REG rcx $80
N1047 (  1,  4) [002642] ------------             |        +--*  const     long   344 field offset Fseq[idealCheckSize] REG NA $10b
N1049 (  4,  6) [002643] -------N----             |     /--*  +         byref  REG NA $356
N1051 (  6,  8) [000116] ----GO------             |  /--*  indir     int    REG rcx <l:$685, c:$2ef>
N1053 (  6,  8) [003669] DA--GO------             \--*  st.lclVar int    V172 cse1         rcx REG rcx RV

During codegen:

Generating BB41, stmt 71        Holding variables: [rbx rsi rdi r12-r15]

Generating: N1043 (  3,  2) [000114] ------------             *  lclVar    int    V05 loc3         u:3 r12 (last use) REG r12 RV $31a
Generating: N1045 (  3,  2) [000115] ------------             *  lclVar    ref    V00 this         u:2 REG rcx $80
IN00db:        mov      rcx, gword ptr [V00 rbp+10H]
                            GC regs: 00000040 {rsi} => 00000042 {rcx rsi}
Generating: N1047 (  1,  4) [002642] ------------             *  const     long   344 field offset Fseq[idealCheckSize] REG NA $10b
Generating: N1049 (  4,  6) [002643] -------N----             *  +         byref  REG NA $356
Generating: N1051 (  6,  8) [000116] ----GO------             *  indir     int    REG rcx <l:$685, c:$2ef>
... assert ...

(This is rollback #2: the TFS/GitHub mirror unfortunately undid rollback CS#1605814 with CS#1605840. This change should avoid that problem.)

[tfs-changeset: 1605917]

8 years agoPorting the changes to support generic dictionaries lookups in R2R images to the...
Fadi Hanna [Wed, 18 May 2016 17:18:53 +0000 (10:18 -0700)]
Porting the changes to support generic dictionaries lookups in R2R images to the JIT32 implementation, to support the x86 architecture.

All of the changes in importer.cpp were ported from JIT\importer.cpp, which was merged to the coreclr master branch last Friday evening (reviewed and signed-off in a PR on GitHub).

The remaining changes include:
         1) Adjusting #ifdefs to enable the x86 scenario
         2) Implementation of the R2R stub for generic dictionary lookups
         3) Small change in prestub.cpp required for x86 to work correctly

[tfs-changeset: 1605906]

8 years agoExplicitly specify the location from where to pick up the model.corelib.xml
Alex Ghiondea [Wed, 18 May 2016 16:21:25 +0000 (09:21 -0700)]
Explicitly specify the location from where to pick up the model.corelib.xml

[tfs-changeset: 1605881]

8 years agoFix Interop TCs to use long long instead of long (#5054)
Dongyun Jin [Wed, 18 May 2016 15:44:36 +0000 (00:44 +0900)]
Fix Interop TCs to use long long instead of long (#5054)

Some TCs were using long for 64bit variable.
While it is correct on x86, long is 32bit on ARM.
Fix TCs to use long long instead so that they can pass on ARM as well.

Fix #5053

Signed-off-by: Dongyun Jin <dongyun.jin@samsung.com>
8 years agoMerge pull request #5055 from dotnet-bot/from-tfs
Bruce Forstall [Wed, 18 May 2016 14:19:23 +0000 (07:19 -0700)]
Merge pull request #5055 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFix crossgen /createpdb when input filename is given without path (#5045)
John Chen [Wed, 18 May 2016 09:46:23 +0000 (02:46 -0700)]
Fix crossgen /createpdb when input filename is given without path (#5045)

Fix a bug in "crossgen /createpdb" command that can cause it to fail
if the input filename is given without a path.

8 years agoARM64: Fix LR update in a few stubs (#5013)
Swaroop Sridhar [Wed, 18 May 2016 09:44:44 +0000 (02:44 -0700)]
ARM64: Fix LR update in a few stubs (#5013)

Fix LR capture/restore in a few stubs helpers.
This change fixed failures in 6 GC tests under GCStress.

8 years agoAdd private properties for debugger access to Task fields (#5024)
Stephen Toub [Wed, 18 May 2016 09:43:08 +0000 (05:43 -0400)]
Add private properties for debugger access to Task fields (#5024)

8 years agoAdd missing method contract
Jan Kotas [Wed, 18 May 2016 09:37:56 +0000 (02:37 -0700)]
Add missing method contract

[tfs-changeset: 1605842]

8 years agoString.Equals: Don't typecast if object refs are the same (#5021)
James Ko [Wed, 18 May 2016 09:19:30 +0000 (05:19 -0400)]
String.Equals: Don't typecast if object refs are the same (#5021)

8 years agoMerge pull request #5050 from dotnet-bot/from-tfs
Jan Kotas [Wed, 18 May 2016 09:18:20 +0000 (02:18 -0700)]
Merge pull request #5050 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #5028 from ramarag/R2Rtests
Rama krishnan Raghupathy [Wed, 18 May 2016 07:59:10 +0000 (00:59 -0700)]
Merge pull request #5028 from ramarag/R2Rtests

Guard Crossgen Test Runtime logic with RunCrossGen Env
this fixes https://github.com/dotnet/coreclr/issues/3759

8 years agoAdd missing .gitmirrorall file
Matt Ellis [Wed, 18 May 2016 06:39:18 +0000 (23:39 -0700)]
Add missing .gitmirrorall file

[tfs-changeset: 1605815]

8 years agoMove NATIVE_DLL_SEARCH_DIRECTORIES probing earlier right before we probe for absolute...
Yi Zhang [Wed, 18 May 2016 06:01:51 +0000 (23:01 -0700)]
Move NATIVE_DLL_SEARCH_DIRECTORIES probing earlier right before we probe for absolute path and assembly path. This is needed to make sure servicing directories (set in NATIVE_DLL_SEARCH_DIRECTORIES by host) are honored correctly before everything else, along with rest of the NATIVE_DLL_SEARCH_DIRECTORIES probing path. In order to preserve compat with UWP host, I kept the rest of the interop probing logic even when NATIVE_DLL_SEARCH_DIRECTORIES probing path is specified.
To my horror I discovered the fact that we actually never set hmod when loading DLL from NATIVE_DLL_SEARCH_DIRECTORIES probing, and the probably the only saving grace is that our ultimate fallback LoadLibrary call after that would "just work" and return the HMODULE we just loaded... This is now fixed.

8 years agoMerge pull request #5034 from dotnet/revert-4969-RelaxALC
Gaurav Khanna [Wed, 18 May 2016 05:50:26 +0000 (22:50 -0700)]
Merge pull request #5034 from dotnet/revert-4969-RelaxALC

Revert "Enable overriding assemblies from TPA"

8 years agoMerge pull request #5016 from tijoytom/master
tijoytom [Wed, 18 May 2016 05:36:25 +0000 (22:36 -0700)]
Merge pull request #5016 from tijoytom/master

[Do not Merge]Renaming ZeroFreeAllocMemUTF8 to ZeroFreeCoTaskMemUTF8

8 years agoMerge branch 'master' of https://github.com/dotnet/coreclr
tijoytom [Wed, 18 May 2016 05:29:45 +0000 (22:29 -0700)]
Merge branch 'master' of https://github.com/dotnet/coreclr

8 years agoMerge pull request #5032 from kspawa/r2rngen
Kshama Pawar [Wed, 18 May 2016 04:50:56 +0000 (21:50 -0700)]
Merge pull request #5032 from kspawa/r2rngen

Treat R2R images as NI for profiling

8 years agoFix and reenable lifetime2
Russ Keldorph [Wed, 18 May 2016 04:33:51 +0000 (21:33 -0700)]
Fix and reenable lifetime2

lifetime2 is another questionable test case that relies on lifetime
guarantees that don't exist.  Per our convention, force optimization on
and mark it as "optimization sensitive" to make a best effort to get it to
pass.

Fixes #1037

8 years agoLinux/ARM: Change default clang version from 3.5 to 3.6 (#4928)
Geunsik Lim [Wed, 18 May 2016 02:44:23 +0000 (11:44 +0900)]
Linux/ARM: Change default clang version from 3.5 to 3.6 (#4928)

In case of the cross compilation on the ubuntu 14.04 x64
for Linux/ARM, the default version of clang/llvm that is
generated by "#> sudo ./cross/build-rootfs.sh arm" command
is 3.6 without 3.5 as following:

u14.04@x64> ls ./coreclr/cross/rootfs/arm/usr/lib/clang/3.6
include  lib
u14.04@x64> ls ./coreclr/cross/rootfs/arm/usr/lib/llvm-3.6/
bin  build  include  lib  share

Let's keep the clang/llvm version consistently by moving
the default version from 'clang3.5' to 'clang3.6' at build-time
for Linux/ARM.

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
8 years agoFix for issue# 3651
Rahul Kumar [Wed, 18 May 2016 02:26:06 +0000 (19:26 -0700)]
Fix for issue# 3651

8 years agoRevert "Enable overriding assemblies from TPA"
Gaurav Khanna [Wed, 18 May 2016 01:46:21 +0000 (18:46 -0700)]
Revert "Enable overriding assemblies from TPA"

8 years agoGuard Crossgen Test Runtime logic with RunCrossGen Env
Rama Krishnan Raghupathy [Sat, 14 May 2016 02:41:46 +0000 (19:41 -0700)]
Guard Crossgen Test Runtime logic with RunCrossGen Env
Adds Semaphores to prevent race conditions

8 years agoMerge pull request #4994 from pgavlin/gh4912.PAGE_SIZE.jit
Pat Gavlin [Wed, 18 May 2016 00:19:37 +0000 (17:19 -0700)]
Merge pull request #4994 from pgavlin/gh4912.PAGE_SIZE.jit

Encapsulate or replace references to CORINFO_PAGE_SIZE.

8 years agoMerge pull request #5015 from pgavlin/jitOnDllHooks
Pat Gavlin [Wed, 18 May 2016 00:18:07 +0000 (17:18 -0700)]
Merge pull request #5015 from pgavlin/jitOnDllHooks

Remove jitOnDllProcess{Attach,Detach}.

8 years agoAdd more help options to corerun (#4973)
James Ko [Wed, 18 May 2016 00:16:32 +0000 (20:16 -0400)]
Add more help options to corerun (#4973)

8 years agoRemove redundant Rank checks from SZArrayHelper/Enumerator (#5022)
James Ko [Wed, 18 May 2016 00:12:15 +0000 (20:12 -0400)]
Remove redundant Rank checks from SZArrayHelper/Enumerator (#5022)

8 years agoPut SIGTERM registration behind a PAL initialization flag.
Aditya Mandaleeka [Wed, 18 May 2016 00:06:28 +0000 (17:06 -0700)]
Put SIGTERM registration behind a PAL initialization flag.

8 years agoSome test cases require more than 2GB RAM (#4778)
Dongyun Jin [Wed, 18 May 2016 00:01:05 +0000 (09:01 +0900)]
Some test cases require more than 2GB RAM (#4778)

Some test cases try to allocate 2GB, which is huge
for some testing environments.

Fix #4714

Signed-off-by: Dongyun Jin <dongyun.jin@samsung.com>
8 years agoTreat R2R images as NI for profiling
Kshama Pawar [Tue, 17 May 2016 23:42:35 +0000 (16:42 -0700)]
Treat R2R images as NI for profiling

8 years agoMerge pull request #4995 from adityamandaleeka/reenable_native_callable
Aditya Mandaleeka [Tue, 17 May 2016 23:37:35 +0000 (16:37 -0700)]
Merge pull request #4995 from adityamandaleeka/reenable_native_callable

Reenable NativeCallable test on x86 legacy backend

8 years agoUpdate contributing-workflow.md
Aditya Mandaleeka [Tue, 17 May 2016 23:35:45 +0000 (16:35 -0700)]
Update contributing-workflow.md

Fix broken link to CODE_OWNERS file.

8 years agoFix breakpoints on jitted code for Linux/ARM (#5014)
Dmitri-Botcharnikov [Tue, 17 May 2016 23:21:36 +0000 (03:21 +0400)]
Fix breakpoints on jitted code for Linux/ARM (#5014)

8 years agoStart using CODE_OWNERS.TXT (#5027)
noahfalk [Tue, 17 May 2016 23:18:15 +0000 (16:18 -0700)]
Start using CODE_OWNERS.TXT (#5027)

8 years agoEnable Checksum csc param for mscorlib (#4996)
Jose Perez Rodriguez [Tue, 17 May 2016 22:21:08 +0000 (17:21 -0500)]
Enable Checksum csc param for mscorlib (#4996)

Enable Checksum csc param for mscorlib

8 years agoMerge pull request #4954 from kvochko/sos_tests
noahfalk [Tue, 17 May 2016 22:10:20 +0000 (15:10 -0700)]
Merge pull request #4954 from kvochko/sos_tests

Added tests for libsosplugin

8 years agoupdating model.corlib.xml
tijoytom [Tue, 17 May 2016 22:03:35 +0000 (15:03 -0700)]
updating model.corlib.xml

8 years agoMerge branch 'master' of https://github.com/dotnet/coreclr
tijoytom [Tue, 17 May 2016 22:01:38 +0000 (15:01 -0700)]
Merge branch 'master' of https://github.com/dotnet/coreclr

8 years agoMerge pull request #5023 from wtgodbe/pipeline
William Godbe [Tue, 17 May 2016 21:07:45 +0000 (14:07 -0700)]
Merge pull request #5023 from wtgodbe/pipeline

Add dev workflow scripts for build pipeline

8 years agoAdd dev workflow scripts for build pipeline
wtgodbe [Wed, 27 Apr 2016 21:35:45 +0000 (14:35 -0700)]
Add dev workflow scripts for build pipeline

8 years agoMerge pull request #4874 from gkhanna79/SPC_S1
AlexGhiondea [Tue, 17 May 2016 20:45:59 +0000 (13:45 -0700)]
Merge pull request #4874 from gkhanna79/SPC_S1

Add support for System.Private.CoreLib to be core library

8 years agoMerge pull request #4999 from sejongoh/avoid_ti_method_check
Sejong Oh [Tue, 17 May 2016 20:35:32 +0000 (13:35 -0700)]
Merge pull request #4999 from sejongoh/avoid_ti_method_check

Add typeInfo::GetMehtod2 to avoid checking GetType == TI_METHOD.

8 years agoEncapsulate or replace references to CORINFO_PAGE_SIZE.
Pat Gavlin [Mon, 16 May 2016 21:05:17 +0000 (14:05 -0700)]
Encapsulate or replace references to CORINFO_PAGE_SIZE.

This symbol will be replaced with a new field in CORINFO_EE_INFO as part of #4912.
These changes prepare the JIT and EE for that change by (respectively) encapsulating
references to CORINFO_PAGE_SIZE in Compiler::eeGetPageSize and replacing
CORINFO_PAGE_SIZE with OS_PAGE_SIZE.

8 years agoRemove jitOnDllProcess{Attach,Detach}.
Pat Gavlin [Tue, 17 May 2016 16:05:04 +0000 (09:05 -0700)]
Remove jitOnDllProcess{Attach,Detach}.

These functions have been obviated by a more clearly-defined JIT
startup and shutdown interface.

This fixes a crash in coreclr.dll during DLL unload: the runtime was
calling jitOnDllProcessDetach (which calls jitShutdown) without having
called jitStartup to initialized the JIT.

8 years agoImplementing the Unix calling convention for the generic dictionary access stubs...
Fadi Hanna [Tue, 17 May 2016 18:51:14 +0000 (11:51 -0700)]
Implementing the Unix calling convention for the generic dictionary access stubs in R2R (#4998)

8 years agoAdd typeInfo::GetMehtod2 to avoid checking GetType == TI_METHOD.
Sejong OH [Mon, 16 May 2016 22:42:07 +0000 (15:42 -0700)]
Add typeInfo::GetMehtod2 to avoid checking GetType == TI_METHOD.

If FEATURE_CORECLR is enabled, the pointer type is not known to be a method pointer type when GetMethod is called in the importer.

8 years agoMerge pull request #4789 from sejongoh/always_download_coredistools
Sejong Oh [Tue, 17 May 2016 18:16:27 +0000 (11:16 -0700)]
Merge pull request #4789 from sejongoh/always_download_coredistools

Always download coredistools package

8 years agoMerge pull request #5008 from yizhang82/dllimportpath-fix2
Yi Zhang (CLR) [Tue, 17 May 2016 17:12:04 +0000 (10:12 -0700)]
Merge pull request #5008 from yizhang82/dllimportpath-fix2

Enable DefaultDllImportSearchPathsAttribute in CoreCLR Windows. Host …

8 years agoMerge pull request #5002 from CarolEidt/Long32Doc
Carol Eidt [Tue, 17 May 2016 16:41:30 +0000 (09:41 -0700)]
Merge pull request #5002 from CarolEidt/Long32Doc

Document about supporting long on 32-bit architectures.

8 years agoOptimize Array.GetLength, GetUpperBound, GetLowerBound (#4993)
James Ko [Tue, 17 May 2016 15:46:08 +0000 (11:46 -0400)]
Optimize Array.GetLength, GetUpperBound, GetLowerBound (#4993)

... if the argument is 0. As the rank will always be greater, this is safe.

8 years agoUpdate StringObject comment in object.h (#5011)
Matt Warren [Tue, 17 May 2016 15:42:25 +0000 (16:42 +0100)]
Update StringObject comment in object.h (#5011)

* m_ArrayLength is no longer present (I did a search of the source and couldn't find it), so this comment is misleading.
* Also removing mis-leading comment about high two bits of field

8 years agoMove notion of restricted physical memory behind the GCToOSInterface (#5007)
Jan Kotas [Tue, 17 May 2016 15:36:57 +0000 (08:36 -0700)]
Move notion of restricted physical memory behind the GCToOSInterface (#5007)

8 years agoMerge pull request #4997 from RussKeldorph/fix3379
Russ Keldorph [Tue, 17 May 2016 15:32:15 +0000 (08:32 -0700)]
Merge pull request #4997 from RussKeldorph/fix3379

Rename some IL tests whose names conflicted with C# tests

8 years agoEnable DefaultDllImportSearchPathsAttribute in CoreCLR Windows. Host NATIVE_DLL_SEARC...
Yi Zhang (CLR) [Wed, 4 May 2016 06:02:10 +0000 (23:02 -0700)]
Enable DefaultDllImportSearchPathsAttribute in CoreCLR Windows. Host NATIVE_DLL_SEARCH_DIRECTORIES has higher priority.

8 years agoMerge pull request #5003 from jkotas/corert-gc
Jan Kotas [Tue, 17 May 2016 05:46:36 +0000 (22:46 -0700)]
Merge pull request #5003 from jkotas/corert-gc

Update GC from CoreRT

8 years agoInitial change to support System.Private.CoreLib.dll as Core Library.
Gaurav Khanna [Mon, 9 May 2016 22:57:44 +0000 (15:57 -0700)]
Initial change to support System.Private.CoreLib.dll as Core Library.

8 years agoIntroduce a way to override AppContext switches from the project.json file
Alex Ghiondea [Mon, 16 May 2016 23:28:23 +0000 (16:28 -0700)]
Introduce a way to override AppContext switches from the project.json file

When switch value is requested, we are going to check and see if we have an
override that we read from the project.json file. If we do, we are going to try
and parse that as a boolean and use as the value for that switch.

8 years agoMerge pull request #4975 from kspawa/ldiv
Kshama Pawar [Tue, 17 May 2016 02:25:33 +0000 (19:25 -0700)]
Merge pull request #4975 from kspawa/ldiv

Replace ldiv with normal division for PAL

8 years agoAlways download coredistools package
Sejong Oh [Wed, 4 May 2016 21:06:16 +0000 (14:06 -0700)]
Always download coredistools package

runtest.sh/cmd currently downloads the coredistools package if COMPlus_GCStress variable is set by TestEnv or test-env options. This is a bit complicated and this doesn't work with a new option for GC stress testing in build/buildtest.cmd. This changeset moves downloading the coredistools package to buildtest.cmd where it takes gcstress option and downloads other packages.

Linux build doesn't have buildtest.sh, so package donwloading is still in
runtest.sh

8 years agoUpdate GC from CoreRT
Jan Kotas [Mon, 16 May 2016 23:50:07 +0000 (16:50 -0700)]
Update GC from CoreRT

https://github.com/dotnet/corert/tree/master/src/Native/gc 854b9ea7accfbd24423a10382c1a5a2bd6753450

8 years agoRename some IL tests whose names conflicted with C# tests
Russ Keldorph [Mon, 16 May 2016 22:23:15 +0000 (15:23 -0700)]
Rename some IL tests whose names conflicted with C# tests

For catchrettoinnertry, we appeared to have some redundant test projects.
I removed the redundant ones and cleaned up the remaining.

Fixes #3379

8 years agoDocument about supporting long on 32-bit architectures.
Carol Eidt [Tue, 17 May 2016 00:03:30 +0000 (17:03 -0700)]
Document about supporting long on 32-bit architectures.

8 years agoMerge pull request #4962 from CarolEidt/FixIssue3964
Carol Eidt [Mon, 16 May 2016 23:29:13 +0000 (16:29 -0700)]
Merge pull request #4962 from CarolEidt/FixIssue3964

Fix CircleInConvex to check result within 1 ULP

8 years agoMerge pull request #4620 from dagood/remove-infer-runtimes
Davis Goodin [Mon, 16 May 2016 22:28:47 +0000 (17:28 -0500)]
Merge pull request #4620 from dagood/remove-infer-runtimes

Remove --infer-runtimes restore argument

8 years agoMerge pull request #4985 from adiaaida/2442
Michelle McDaniel [Mon, 16 May 2016 22:03:35 +0000 (15:03 -0700)]
Merge pull request #4985 from adiaaida/2442

Update Boxing\xlang projs with correct project includes

8 years agoReenable NativeCallable test on x86.
Aditya Mandaleeka [Mon, 16 May 2016 21:31:05 +0000 (14:31 -0700)]
Reenable NativeCallable test on x86.

8 years agoMerge pull request #4982 from LLITCHEV/Issue4853
Lubomir Litchev [Mon, 16 May 2016 20:42:06 +0000 (13:42 -0700)]
Merge pull request #4982 from LLITCHEV/Issue4853

Remove invalid tests.

8 years agoUpdate sin projs with correct project includes
Michelle McDaniel [Fri, 13 May 2016 15:15:20 +0000 (08:15 -0700)]
Update sin projs with correct project includes

All of the xlang sin ilprojs were missing includes to the correct
references. This change updates the proj files with those
ProjectReferences. Additionally, this change updates the includes in the
il tests to match the name of sinlib assemblies.

Fixes #2442.

8 years agoMerge pull request #4965 from adiaaida/disableRegPair
Michelle McDaniel [Mon, 16 May 2016 19:47:52 +0000 (12:47 -0700)]
Merge pull request #4965 from adiaaida/disableRegPair

Disable RegPair for x86 Longs

8 years agoFix CircleInConvex to check result within 1 ULP
Carol Eidt [Fri, 13 May 2016 17:57:18 +0000 (10:57 -0700)]
Fix CircleInConvex to check result within 1 ULP

This test was checking for the result to be within epsilon of the
expected result, but this is not correct unless the algorithm is
evaluating all interim results to a larger precision.
It would also be more reasonable for the test to compute the expected
result (e.g. using an alternate algorithm), and it would also be nice
to have a method to compute ULP for a given value, but those are beyond
the scope of this fix.
Re-enable the test except for RyuJIT/x86.

Fix #3964

8 years agoMerge pull request #4905 from JeremyKuhne/JeremyKuhne-buildupdate
Jeremy Kuhne [Mon, 16 May 2016 18:52:36 +0000 (11:52 -0700)]
Merge pull request #4905 from JeremyKuhne/JeremyKuhne-buildupdate

Update windows instructions

8 years agoMerge pull request #4978 from ellismg/add-fedora-23
Matt Ellis [Mon, 16 May 2016 18:19:23 +0000 (11:19 -0700)]
Merge pull request #4978 from ellismg/add-fedora-23

Add Fedora 23 runs

8 years agoRenaming ZeroFreeAllocMemUTF8 to ZeroFreeCoTaskMemUTF8
tijoytk [Mon, 16 May 2016 17:41:23 +0000 (10:41 -0700)]
Renaming ZeroFreeAllocMemUTF8 to ZeroFreeCoTaskMemUTF8

8 years agoMerge remote-tracking branch 'origin/master' into Issue4853
Lubomir Litchev [Mon, 16 May 2016 17:35:30 +0000 (10:35 -0700)]
Merge remote-tracking branch 'origin/master' into Issue4853

Conflicts:
tests/testsFailingOutsideWindows.txt

8 years agoMerge pull request #4974 from RussKeldorph/xfails
Russ Keldorph [Mon, 16 May 2016 17:24:42 +0000 (10:24 -0700)]
Merge pull request #4974 from RussKeldorph/xfails

Test cleanup (mostly non-Windows failures)

8 years agoDisable RegPair for x86 Longs
Michelle McDaniel [Fri, 13 May 2016 15:35:23 +0000 (08:35 -0700)]
Disable RegPair for x86 Longs

We are not using regpairs for longs on x86 ryujit, so we need to turn off
CPU_LONG_USES_REGPAIR. This is the first step to getting var = call for
GT_CALLs with long return types on x86.

8 years agoAdd runtimes to each project.json in tests/src missing a runtimes section.
Davis Goodin [Wed, 27 Apr 2016 16:42:54 +0000 (11:42 -0500)]
Add runtimes to each project.json in tests/src missing a runtimes section.

8 years agoRemove --infer-runtimes restore arg: runtimes specified in project.json files.
Davis Goodin [Tue, 26 Apr 2016 23:17:22 +0000 (18:17 -0500)]
Remove --infer-runtimes restore arg: runtimes specified in project.json files.

8 years agoAdded a README with instructions on running and writing tests.
Andrey Kvochko [Mon, 16 May 2016 12:07:14 +0000 (15:07 +0300)]
Added a README with instructions on running and writing tests.