Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync with dotnet/coreclr #1

Merged
merged 4,863 commits into from
Dec 20, 2016
Merged

sync with dotnet/coreclr #1

merged 4,863 commits into from
Dec 20, 2016
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Nov 30, 2016

  1. Disable PrintSEHChain for non-Windows platforms (#8379)

    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.
    parjong authored and janvorli committed Nov 30, 2016
    Configuration menu
    Copy the full SHA
    3ce1795 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #8395 from BruceForstall/FixNYI

    Change NYI to be a noway_assert if ALT_JIT is not defined
    BruceForstall committed Nov 30, 2016
    Configuration menu
    Copy the full SHA
    0b0d51e View commit details
    Browse the repository at this point in the history
  3. Fix x86 encoder to use 64-bit type to accumulate opcode/prefix bits

    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
    BruceForstall committed Nov 30, 2016
    Configuration menu
    Copy the full SHA
    b90516f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    04820d1 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2016

  1. Merge pull request #8382 from BruceForstall/FixShift

    Fix x86 encoder to use 64-bit type to accumulate opcode/prefix bits
    BruceForstall committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    392748e View commit details
    Browse the repository at this point in the history
  2. Merge pull request #8209 from stephentoub/arraypool_perf

    Improve ArrayPool implementation and performance
    jkotas committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    32e6bf8 View commit details
    Browse the repository at this point in the history
  3. Add parentheses aroung logical operations (#8406)

    This commit fixes logical-op-parentheses compile error for x86/Linux build.
    parjong authored and jkotas committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    4e17522 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    746d033 View commit details
    Browse the repository at this point in the history
  5. Add printing managed assert message to console (#8399)

    I have discovered that when GUI assertion dialogs are disabled, the assert
    message is not shown anywhere and the app just silently exits.
    This change adds printing the message and stack trace to console in such case.
    janvorli authored and jkotas committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    32d03bb View commit details
    Browse the repository at this point in the history
  6. Remove the BinaryCompatibility class as it is not useful on .NET Core… (

    #8396)
    
    * Remove the BinaryCompatibility class as it is not useful on .NET Core and creates issues on Debug builds when the TFM on the AppDomain is not recognized.
    * Update the code for DateTimeFormatInfo to not use BinaryCompatibility
    * Remove initialization of preferExistingTokens now that we removed its usage
    AlexGhiondea authored and jkotas committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    eca37b4 View commit details
    Browse the repository at this point in the history
  7. Fix recent x86 SIMD regressions

    1. Recent PUTARG_STK work didn't consider SIMD arguments.
    2. SSE3_4 work caused underestimation of instruction sizes for SSE4
    instructions (e.g., pmulld).
    BruceForstall committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    76390e4 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d06220f View commit details
    Browse the repository at this point in the history
  9. Fix build error in ARM64 code (#8407)

    CONTEXT struct for ARM64 does not contain X29 field.
    parjong authored and janvorli committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    6aa53dc View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3f4680c View commit details
    Browse the repository at this point in the history
  11. fix permissive C++ code (MSVC /permissive-) (#8337)

    * fix permissive C++ code (MSVC /permissive-)
    
    These were found by the C++ compiler group when doing "Real world code"
    build tests using /permissive-.  We are sharing these with you to help you clean up
    your code before the new version of the compiler comes out.  For more information on /permissive-
    see https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/.
    
    ----------------------------
    Under /permissive-, skipping the initialization of a variable is not allowed.
    As an extension the compiler allowed this when there was no destructor for the type.
    
        void func(bool b)
        {
            if(b) goto END;
    
            int value = 0; //error C2362: initialization of 'value' is skipped by 'goto END'
        	int array[10]; //Okay, not initialized.
            //... value used here
    
        END:
            return;
        }
    
    Fix 1) Limit the scope of value:
    
        {
          int value = 0;
          //... value used here
        }
        END:
    
    Fix 2) Initialize/declare value before the 'goto'
    
        int value = 0;
        if(b) goto END;
        //... value used here
        END:
    
    Fix 3) Don't initialize value in the variable declaration.
    
        int value;
        value = 0
        //... value used here
        END:
    
    -------------------
    Alternative token representations.
    The following are reserved as alternative representations for operators:
      and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq
    
        //Can't use reserved names for variables:
        static int and = 0; // Change name (possibly to 'and_')
    
        void func()
        {
            _asm {
                xor     edx,edx // xor is reserved, change to uppercase XOR
                or      eax,eax // or is reserved, change to uppercase OR
            }
        }
    
    * Apply formatting patch.
    
    * fixes from code review.
    
    I addressed @janvorli requests from the pull request code review.
    Rastaban authored and janvorli committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    20275aa View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    cbed6c3 View commit details
    Browse the repository at this point in the history
  13. Merge pull request #8414 from BruceForstall/FixSimdRegressions

    Fix recent x86 SIMD regressions
    BruceForstall committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    eed8ab2 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2016

  1. Configuration menu
    Copy the full SHA
    8d800df View commit details
    Browse the repository at this point in the history
  2. Resolve duplicated functions (#8413)

    Several functions are implemented in both cgenx86.cpp and unixstubs.cpp,
    which results in linking errors.
    
    This commit disables functions in cgenx86.cpp to resolve linking errors.
    parjong authored and jkotas committed Dec 2, 2016
    Configuration menu
    Copy the full SHA
    7c1fb28 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    731bb02 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1a1da83 View commit details
    Browse the repository at this point in the history
  5. First step to generate nuget package for ARM32/Linux

    Hyeongseok Oh committed Dec 2, 2016
    Configuration menu
    Copy the full SHA
    5145193 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f3e5eb3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    28e4d0d View commit details
    Browse the repository at this point in the history
  8. Merge pull request #8419 from jkotas/master-UpdateDependencies

    Update CoreClr, CoreFx to beta-24801-03, beta-24721-02, respectively
    jkotas committed Dec 2, 2016
    Configuration menu
    Copy the full SHA
    cb4ac23 View commit details
    Browse the repository at this point in the history
  9. Introduce CORINFO_EH_CLAUSE_SAMETRY flag for CoreRT ABI (#8422)

    CORINFO_EH_CLAUSE_SAMEBLOCK flag is returned on mutually protecting EH clauses for CoreRT ABI. It is set on EH clauses that cover same try block as the previous one. The runtime cannot reliably infer this information from native code offsets without full description of duplicate clauses because of different try blocks can have same offsets. Alternative solution to this problem would be inserting extra nops to ensure that different try blocks have different offsets.
    jkotas committed Dec 2, 2016
    Configuration menu
    Copy the full SHA
    fcc57b2 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    a0a055b View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2016

  1. RyuJIT/x86: Implement TYP_SIMD12 support

    There is no native load/store instruction for Vector3/TYP_SIMD12,
    so we need to break this type down into two loads or two stores,
    with an additional instruction to put the values together in the
    xmm target register. AMD64 SIMD support already implements most of
    this. For RyuJIT/x86, we need to implement stack argument support
    (both incoming and outgoing), which is different from the AMD64 ABI.
    
    In addition, this change implements accurate alignment-sensitive
    codegen for all SIMD types. For RyuJIT/x86, the stack is only 4
    byte aligned (unless we have double alignment), so SIMD locals are
    not known to be aligned (TYP_SIMD8 could be with double alignment).
    For AMD64, we were unnecessarily pessimizing alignment information,
    and were always generating unaligned moves when on AVX2 hardware.
    Now, all SIMD types are given their preferred alignment in
    getSIMDTypeAlignment() and alignment determination in
    isSIMDTypeLocalAligned() takes into account stack alignment (it
    still needs support for x86 dynamic alignment). X86 still needs to
    consider dynamic stack alignment for SIMD locals.
    
    Fixes #7863
    BruceForstall committed Dec 3, 2016
    Configuration menu
    Copy the full SHA
    e401df8 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2016

  1. Change order in .builds and .pkgproj, fix build.sh for not modifying …

    …dir.prop
    Hyeongseok Oh committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    d068783 View commit details
    Browse the repository at this point in the history
  2. Ensure MSBuild properties get persisted to child MSBuild tasks, fixes…

    … a race condition in the build (#8404)
    swgillespie committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    b51bcf1 View commit details
    Browse the repository at this point in the history
  3. [x86/Linux] Fix unused function warning (#8429)

    * Delete the unused code
    parjong authored and jkotas committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    7f533e5 View commit details
    Browse the repository at this point in the history
  4. [x86/Linux] Revert UMThkCallFrame-related changes (#8434)

    * [x86/Linux] Revert UMThkCallFrame-related code
    
    * [x86/Linux] Fix dangling 'TheUMEntryPrestub' reference
    
    This commit re-enables GenerateUMThunkPrestub and its related code in
    order to remove TheUMEntryPrestub reference.
    
    * [x86/Linux] Re-enable several methods in StubLinkerCPU
    
    This commit re-enables the following methods for x86/Linux:
     - StubLinkerCPU::EmitSetup
     - StubLinkerCPU::EmitComMethodStubProlog
     - StubLinkerCPU::EmitComMethodStubEpilog
    
    In addtion, EmitComMethodStubEpilog is marked as NYI.
    parjong authored and jkotas committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    6ed21c5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e5946c9 View commit details
    Browse the repository at this point in the history
  6. [x86/Linux] Fix dangling DoubleToNumber and NumberToDouble (#8446)

    This commit enables portable DoubleToNumber and NumberToDouble for
    x86/Linux.
    parjong authored and jkotas committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    9330731 View commit details
    Browse the repository at this point in the history
  7. Use Portable Floating-point Arithmetic Helpers (#8447)

    This commit enables portable floating-point arithmetic helpers for
    x86/Linux build.
    parjong authored and jkotas committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    fdc9e6c View commit details
    Browse the repository at this point in the history
  8. [x86/Linux] Fix indirection of non-volatile null pointer will be dele…

    …ted (#8452)
    
    Fix compile error for x86/Linux
    - fix error "indirection of non-volatile null pointer will be deleted, not trap [-Werror,-Wnull-dereference]"
    - using clang 3.8
    seanshpark authored and jkotas committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    9f84a04 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3891c5f View commit details
    Browse the repository at this point in the history
  10. [x86/Linux] Fix all paths through this function will call itself (#8451)

    Fix compile error for x86/Linux
    - disable "infinite-recursion" for "recursiveFtn" function
    - only for clang
    seanshpark authored and jkotas committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    7200e78 View commit details
    Browse the repository at this point in the history
  11. [x86/Linux] Mark LeaveCatch as NYI (#8384)

    * Disable LeaveCatch for non-Windows platforms
    
    * Mark LeaveCatch as NYI
    
    * Use #ifndef as before
    parjong authored and janvorli committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    75a625f View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    55b1bb4 View commit details
    Browse the repository at this point in the history
  13. [x86/Linux] Fix dangling CLR_ImpersonateLoggedOnUser reference (#8435)

    src/vm/securityprincipal.cpp is not included in x86/Linux build, and
    thus all the reference to the functions in it will be dangling. (i.e.
    COMPrincipal::CLR_ImpersonateLoggedOnUser).
    
    This commit hides COMPrincipal for non-Windows platforms, and marks
    COMPlusThrowCallbackHelper as NYI.
    parjong authored and janvorli committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    46483e1 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    0c952dc View commit details
    Browse the repository at this point in the history
  15. Fix dangling StubLinkerCPU::EmitDelegateInvoke in x86/Linux (#8444)

    Several methods in StublicLinkerCPU (including EmitDelegateInvoke) are
    available only when FEATURE_STUBS_AS_IL is defined.
    
    This commit encloses their declaration with appropriate macro
    (FEATURE_STUBS_AS_IL), and fix related build erros.
    parjong authored and janvorli committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    14bcf6d View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    c7a6492 View commit details
    Browse the repository at this point in the history
  17. [x86/Linux] Re-enable FrameHandlerExRecord for x86/Linux (#8409)

    * Re-enable FrameHandlerExRecord for x86/Linux
    
    * Use _TARGET_X86_ instead of WIN64EXCEPTIONS
    parjong authored and janvorli committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    493132c View commit details
    Browse the repository at this point in the history
  18. Merge pull request #8306 from jamesqo/better-bulk-add

    Better bulk adds for List.
    Ian Hays committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    78d2ea0 View commit details
    Browse the repository at this point in the history
  19. JIT: enable inline pinvoke in more cases

    An inline pinvoke is a pinvoke where the managed/native transition
    overhead is reduced by inlining parts of the transition bookkeeping
    around the call site. A normal pinvoke does this bookkeeping in
    a stub method that interposes between the managed caller and the
    native callee.
    
    Previously the jit would not allow pinvoke calls that came from inlines
    to be optimized via inline pinvoke. This sometimes caused performance
    surprises for users who wrap DLL imports with managed methods. See for
    instance #2373.
    
    This change lifts this limitation. Pinvokes from inlined method bodies
    are now given the same treatment as pinvokes in the root method. The
    legality check for inline pinvokes has been streamlined slightly to
    remove a redundant check. Inline pinvokes introduced by inlining are
    handled by accumulating the unmanaged method count with the value from
    inlinees, and deferring insertion of the special basic blocks until after
    inlining, so that if the only inline pinvokes come from inline instances
    they are still properly processed.
    
    Inline pinvokes are still disallowed in try and handler regions
    (catches, filters, and finallies).
    
    X87 liveness tracking was updated to handle the implicit inline frame
    var references. This was a pre-existing issue that now can show up more
    frequently. Added a test case that fails with the stock legacy jit
    (and also with the new enhancements to pinvoke). Now both the original
    failing case and this case pass.
    
    Inline pinvokes are also now suppressed in rarely executed blocks,
    for instance blocks leading up to throws or similar.
    
    The inliner is now also changed to preferentially report inline
    reasons as forced instead of always when both are applicable.
    
    This change adds a new test case that shows the variety of
    situations that can occur with pinvoke, inlining, and EH.
    AndyAyersMS committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    043fe32 View commit details
    Browse the repository at this point in the history
  20. Incorporate changes from Jan's #8437, plus review feedback.

    Still honoring windows exception interop restrictions on all platforms
    and runtimes. Will revisit when addressing #8459.
    AndyAyersMS committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    050fec8 View commit details
    Browse the repository at this point in the history
  21. Add Linux perf support to Jenkins

    This change adds perf support for CoreCLR on Ubuntu 14.04 to Jenkins.
    This is mostly work extending what Smile had already done.  The main
    changes were to build CoreCLR rather then grab it from CI, and work to
    get the upload portion finished.
    DrewScoggins committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    90c0d32 View commit details
    Browse the repository at this point in the history
  22. Merge pull request #8109 from BruceForstall/FixSimd12NYI

    RyuJIT/x86: Implement TYP_SIMD12 support
    BruceForstall committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    44a7d09 View commit details
    Browse the repository at this point in the history
  23. Copy CoreFX environment variable code (#8405)

    Tweak the core code to match up with what we had done in CoreFX and expose
    so that we can have a single source of environment truth. This is
    particularly important for Unix as we use a local copy of the state.
    JeremyKuhne committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    e06afa7 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    b22b27b View commit details
    Browse the repository at this point in the history
  25. Allow remorph of SIMD assignment

    This fixes an assert exposed by JitStress=1.
    CarolEidt committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    70e11ac View commit details
    Browse the repository at this point in the history
  26. x86: Deactivate P/Invoke frames after a native call.

    Although this does not appear to be strictly necessary, this matches
    JIT32's behavior. With this change, the stack walker will ignore the
    P/Invoke frame even while it is still present on its thread's frame
    list.
    
    Fixes VSO 297109.
    pgavlin committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    4fa2133 View commit details
    Browse the repository at this point in the history
  27. [x86/Linux] add a stub for THROW_CONTROL_FOR_THREAD_FUNCTION (#8455)

    THROW_CONTROL_FOR_THREAD_FUNCTION is defined as ThrowControlForThread
    for x86/Linux, but unixstubs implements RedirectForThrowControl (which
    corresponds to x64/Linux).
    
    This commit renames RedirectForThrowControl as ThrowControlForThread to
    fix dangling ThrowControlForThread reference in x86/Linux.
    parjong authored and janvorli committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    528508c View commit details
    Browse the repository at this point in the history
  28. [x86/Linux] Fix no known conversion from 'void ()' to 'void *' (#8450)

    Fix compile error for x86/Linux
    - this will fix "no known conversion from 'void ()' to 'void *'" for "CallRtlUnwindSafe"
    - for compiler clang 3.8
    seanshpark authored and janvorli committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    fdc4efd View commit details
    Browse the repository at this point in the history
  29. [x86/Linux] Enclose ArrayOpStub Exceptions with FEATURE_ARRAYSTUB_AS_…

    …IL (#8445)
    
    * Enclose ArrayOpStub Exceptions with FEATURE_ARRAYSTUB_AS_IL
    
    * Fix unmatched ifdef
    
    * Fix unmatched ifdef
    parjong authored and janvorli committed Dec 5, 2016
    Configuration menu
    Copy the full SHA
    23eaa47 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2016

  1. Merge pull request #8195 from DrewScoggins/LinuxPerfAuto

    Add Linux perf support to Jenkins
    DrewScoggins committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    5c1caba View commit details
    Browse the repository at this point in the history
  2. Merge pull request #8461 from sivarv/shiftFix

    Compare opt against zero involving a shift oper.
    sivarv committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    1c8d3d9 View commit details
    Browse the repository at this point in the history
  3. Add UnhandledExceptionHandlerUnix Stub (#8425)

    FuncEvalHijack in dbghelpers.S uses UnhandledExceptionHandlerUnix as a
    personality routine, but UnhandledExceptionHandlerUnix is not avaiable
    for x86 (UnhandledExceptionHandlerUnix is available only when
    WIN64EXCEPTIONS which is not defined for x86).
    
    This commit adds UnhandledExceptionHandlerUnix to fix dangling
    reference.
    parjong authored and janvorli committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    4e21d57 View commit details
    Browse the repository at this point in the history
  4. [x86/Linux] Mark several Windows-specific functions in excepx86.cpp a…

    …s NYI (#8424)
    
    * Mark several Windows-specific functions as NYI
    
    * Use FEATURE_PAL instead of PLATFORM_UNIX
    
    * Revert the change in threads.h
    parjong authored and janvorli committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    61ffc9f View commit details
    Browse the repository at this point in the history
  5. [x86/Linux] Port gmsasm.asm (#8456)

    parjong authored and jkotas committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    ea8387f View commit details
    Browse the repository at this point in the history
  6. Fix calls to curl in prep script

    Before we were calling curl without the -L configuration.  This would
    cause it not follow redirects and several of the files we needed have
    now started using redirects.  This fixes that issue.
    DrewScoggins committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    0d6615c View commit details
    Browse the repository at this point in the history
  7. Merge pull request #8468 from DrewScoggins/LinuxPerfFixup

    Fix calls to curl in prep script
    DrewScoggins committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    fd976d6 View commit details
    Browse the repository at this point in the history
  8. Create Blk node for struct vararg

    When morphing a reference to a struct parameter in a varargs method, it must be a blk node if it is the destination of an assignment.
    CarolEidt committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    fa073a0 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6c1b9cc View commit details
    Browse the repository at this point in the history
  10. [x86/Linux] Revise COMPlusThrowCallback (#8430)

    GetCallerToken and GetImpersonationToken methods in FrameSecurityDescriptorBaseObject
    are implemented only for Windows-platform.
    parjong authored and jkotas committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    910209a View commit details
    Browse the repository at this point in the history
  11. [x86/Linux] Fix exception handling routine (#8433)

    * [x86/Linux] Fix exception handling routine
    
    DispatchManagedException requires WIN64EXCEPTIONS to be defined, but it
    is not defined for x86/Linux.
    parjong authored and jkotas committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    7b92136 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #8463 from CarolEidt/Fix288220

    Allow remorph of SIMD assignment
    CarolEidt committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    a04f79c View commit details
    Browse the repository at this point in the history
  13. Extract ARRAYSTUBS_AS_IL code from STUBS_AS_IL region (#8443)

    FEATURE_ARRAYSTUBS_AS_IL code seems to be independent from
    FEATURE_STUBS_AS_IL, but the related code is enclosed with
    FEATURE_STUBS_AS_IL.
    
    This commit extracts the related code from STUBS_AS_IL region.
    parjong authored and janvorli committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    7baf52e View commit details
    Browse the repository at this point in the history
  14. [x86/Linux] Fix Dacp structure size mismatch (#8377)

    Fix compile error for x86/Linux
    - add __attribute__((__ms_struct__)) as "MSLAYOUT" for those structures
    - Fix "Dacp structs cannot be modified due to backwards compatibility" error
    seanshpark authored and janvorli committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    e3da0c0 View commit details
    Browse the repository at this point in the history
  15. fix semicolon

    Hyeongseok Oh committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    ee20b69 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    e938d03 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    061fba8 View commit details
    Browse the repository at this point in the history
  18. Address PR feedback.

    pgavlin committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    344da95 View commit details
    Browse the repository at this point in the history
  19. Merge pull request #8464 from pgavlin/VSO297109

    x86: Deactivate P/Invoke frames after a native call.
    pgavlin committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    b19ac36 View commit details
    Browse the repository at this point in the history
  20. We should not transform a GT_DYN_BLK with a constant zero size into a…

    … GT_BLK as we do not support a GT_BLK of size zero.
    
    Fixes VSO 287663
    briansull committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    1e046fe View commit details
    Browse the repository at this point in the history
  21. Fixed typo

    ahsonkhan committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    afd3ffc View commit details
    Browse the repository at this point in the history
  22. Merge pull request #8263 from AndyAyersMS/InlineInlinePinvoke

    JIT: enable inline pinvoke in more cases
    AndyAyersMS committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    3de3940 View commit details
    Browse the repository at this point in the history
  23. Merge pull request #8467 from briansull/vso-287663

    Don't change a GT_DYN_BLK into a GT_BLK when the size is zero
    briansull committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    7e0d836 View commit details
    Browse the repository at this point in the history
  24. Merge pull request #8466 from CarolEidt/Fix297074

    Create Blk node for struct vararg
    CarolEidt committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    cc4bbf6 View commit details
    Browse the repository at this point in the history
  25. Fix use edge iterator for DYN_BLK nodes.

    Dynamic block nodes (i.e. DYN_BLK and STORE_DYN_BLK) are not standard
    nodes. As such, the use order of their operands may be reordered in ways
    that are not visible via the usual mechanisms. The use edge iterator was
    not taking these mechanisms into account, which caused mismatches
    between the use order observed by LSRA and the order observed by code
    generation. This in turn caused SBCG under circumstances in which one
    operand needed to be copied from e.g. esi to edi before another operand
    was unspilled into esi.
    
    Fixes VSO 297113.
    pgavlin committed Dec 6, 2016
    Configuration menu
    Copy the full SHA
    bdcf7fb View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    cb2b31a View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2016

  1. Fix to issue 8356.

    sivarv committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    bdfe0ed View commit details
    Browse the repository at this point in the history
  2. fix comparison

    Hyeongseok Oh committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    779bee2 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #8484 from pgavlin/VSO297113

    Fix use edge iterator for DYN_BLK nodes.
    pgavlin committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    41a92a3 View commit details
    Browse the repository at this point in the history
  4. Streamline LSRA resolution

    Only do resolution when required, and only for variables that may need it.
    CarolEidt committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    e94463e View commit details
    Browse the repository at this point in the history
  5. GcInfoEncoder: Initialize the BitArrays tracking liveness (#8485)

    The non-X86 GcInfoEncoder library uses two bit-arrays to keep track
    of pointer-liveness. The BitArrays are allocated using the arena allocator
    which doesn't zero-initialize them. This was causing non-deterministic
    redundant allocation of unused slots. This change fixes the problem.
    swaroop-sridhar committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    12c3a06 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b490ed0 View commit details
    Browse the repository at this point in the history
  7. [x86/Linux] Port asmhelpers.asm (#8489)

    This commit ports asmhelpers.asm to x86/Linux.
    (CallRtlUnwind is currently marked as NYI)
    parjong authored and jkotas committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    c28ec8c View commit details
    Browse the repository at this point in the history
  8. Merge pull request #8470 from brianrob/fix_lttng_header_detection

    Fix building against liblttng-ust-dev 2.8+
    brianrob committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    805363d View commit details
    Browse the repository at this point in the history
  9. [x86/Linux] Port StubLinkerCPU::EmitSetup (#8494)

    This commit ports StubLinkerCPU::EmitSetup to x86/Linux.
    parjong authored and jkotas committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    375948e View commit details
    Browse the repository at this point in the history
  10. Move JIT_EndCatch from asmhelpers.asm into jithelp.asm (#8492)

    * Move JIT_EndCatch from asmhelpers.asm into jithelp.asm
    
    The name of JIT_EndCatch suggests that it is a JIT helper, but its
    implementation is inside asmhelpers.asm (not in jithelp.asm).
    
    This commit moves its implementation into jithelp.asm.
    
    * Move COMPlusEndCatch declaration
    parjong authored and janvorli committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    eb58235 View commit details
    Browse the repository at this point in the history
  11. [x86/Linux][SOS] Add definitions for CLR_CMAKE_PLATFORM_ARCH_I386 in …

    …CMakeLists.txt file of lldbplugin (#8499)
    lucenticus authored and janvorli committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    aa6cbc6 View commit details
    Browse the repository at this point in the history
  12. Use only lower floats for Vector3 dot and equality

    For both dot product and comparisons that produce a boolean result, we need to use only the lower 3 floats. The bug was exposed by a case where the result of a call was being used in one of these operations without being stored to a local (which would have caused the upper bits to be cleared).
    
    Fix #8220
    CarolEidt committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    0403e4d View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    ae3df53 View commit details
    Browse the repository at this point in the history
  14. Remove a use of gtGetOp in earlyprop.

    Instead, use `GenTreeIndir::Addr`, as some indirections are not simple
    operators.
    
    Fixes VSO 289704.
    pgavlin committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    95de3a0 View commit details
    Browse the repository at this point in the history
  15. Change ArraySortHelper to use Comparison<T>

    The Array/List.Sort overloads that take a Comparison<T> have worse performance than the ones that take a IComparer<T>. That's because sorting is implemented around IComparer<T> and a Comparison<T> needs to be wrapped in a comparer object to be used.
    
    At the same time, interface calls are slower than delegate calls so the existing implementation doesn't offer the best performance even when the IComparer<T> based overloads are used.
    
    By changing the implementation to use Comparison<T> we avoid interface calls in both cases.
    
    When IComparer<T> overloads are used a Comparison<T> delegate is created from IComparer<T>.Compare, that's an extra object allocation but sorting is faster and we avoid having two separate sorting implementations.
    mikedn committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    1cf8616 View commit details
    Browse the repository at this point in the history
  16. Remove unused DepthLimitedQuickSort methods

    These are never used in CoreCLR
    mikedn committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    e8946fb View commit details
    Browse the repository at this point in the history
  17. Merge pull request #8503 from pgavlin/VSO289704

    Remove a use of `gtGetOp` in earlyprop.
    pgavlin committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    f3895a3 View commit details
    Browse the repository at this point in the history
  18. Use a left-leaning comma tree when morphing a stelem.ref helper.

    fgMorphCall may change a call to the stelem.ref helper that is storing a
    null value into a simple store. This transformation needs to construct a
    comma tree to hold the argument setup nodes present on the call if any
    exist. Originally this tree was constructed in right-leaning fashion
    (i.e. the first comma node was the root of the tree and each successive
    comma node was the RHS of its parent). Unfortunately, this construction
    did not automatically propagate the flags of a comma node's children to
    the comma node, since not all of each comma node's actual children were
    available at the time it was constructed. Constructing the tree in
    left-leaning fashion (i.e. the first comma node is the left-most child
    and the final comma node is the root of the tree) allows the flag
    propagation to be performed correctly by constrution.
    
    Fixes VSO 297215.
    pgavlin committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    83a0f89 View commit details
    Browse the repository at this point in the history
  19. Merge pull request #8488 from sivarv/upperSave

    Fix to issue 8356.
    sivarv committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    0d926c5 View commit details
    Browse the repository at this point in the history
  20. Merge pull request #8482 from CarolEidt/Fix8220

    Use only lower floats for Vector3 dot and equality
    CarolEidt committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    4d35a3a View commit details
    Browse the repository at this point in the history
  21. Merge pull request #8504 from mikedn/sort-comparison

    Change ArraySortHelper to use Comparison<T>
    jkotas committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    2d888b5 View commit details
    Browse the repository at this point in the history
  22. Enable POGO build and link for CodegenMirror

    [tfs-changeset: 1640669]
    briansull committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    1e7a3ec View commit details
    Browse the repository at this point in the history
  23. Merge pull request #8505 from pgavlin/VSO297215

    Use a left-leaning comma tree when morphing a stelem.ref helper.
    pgavlin committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    bea2a8c View commit details
    Browse the repository at this point in the history
  24. Refactor Span<T> to ease implementation of JIT intrinsics (#8497)

    - Introduce internal ByReference<T> type for byref fields and change Span to use it
    - Generalize handling of byref-like types in the type loader
    - Make DangerousGetPinnableReference public while I was on it
    jkotas committed Dec 7, 2016
    Configuration menu
    Copy the full SHA
    64c2ad1 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2016

  1. Merge pull request #8509 from dotnet-bot/from-tfs

    Merge changes from TFS
    briansull committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    79f22fd View commit details
    Browse the repository at this point in the history
  2. [x86/Linux] Fix inconsistent GetCLRFunction definitions (#8472)

    * [x86/Linux] Fix inconsistency in GetCLRFunction definitions
    
    GetCLRFunction is treated as pfnGetCLRFunction_t which has __stdcall
    convention, but is  implemented without __stdcall.
    
    This inconsistency causes segmentaion fault while initializing CoreCLR
    for x86/Linux.
    
    This commit fixes such inconsistency via adding __stdcall to
    GetCLRFunction implementation.
    
    In addition, this commit declares GetCLRFuntion in 'utilcode.h' and
    and revises .cpp files to include 'utilcode.h' instead of declaring
    'GetCLRFunction'.
    
    * Remove unnecessary includes
    
    * Remove another unnecessay include
    parjong authored and janvorli committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    6665345 View commit details
    Browse the repository at this point in the history
  3. Strip some conditional compilation in SPCL (#8511)

    Removed:
    
    FEATURE_FUSION
    FEATURE_PATHCOMPAT
    FEATURE_APPDOMAINMANAGER_INITOPTIONS
    FEATURE_APTCA
    FEATURE_CLICKONCE
    FEATURE_IMPERSONATION
    FEATURE_MULTIMODULE_ASSEMBLIES
    
    Removed some:
    
    FEATURE_CAS_POLICY
    !FEATURE_CORECLR
    FEATURE_REMOTING
    JeremyKuhne committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    957b6d9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8f3bc5f View commit details
    Browse the repository at this point in the history
  5. Remove an unused local variable

    In lowerxarch.cpp, local variable srcUns is defined but not used
    at Lowering::LowerCast(GenTree* tree).
    
    Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
    hqueue committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    05ace85 View commit details
    Browse the repository at this point in the history
  6. fix parentheses

    Hyeongseok Oh committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    da8cc3a View commit details
    Browse the repository at this point in the history
  7. Merge pull request #8524 from hqueue/xarch/lowercast

    Remove an unused local variable
    RussKeldorph committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    56ff774 View commit details
    Browse the repository at this point in the history
  8. Update glossary.md

    karelz committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    c28e5e8 View commit details
    Browse the repository at this point in the history
  9. Move native search paths forward (#8531)

    Set native search paths in AppDomain.Setup before doing the rest
    of the setup steps to get ahead of potential P/Invoke calls.
    JeremyKuhne committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    96740b8 View commit details
    Browse the repository at this point in the history
  10. Simplify TimeZoneInfo.Equals(object) (#8514)

    Equals(TimeZoneInfo) already handles null.
    justinvp authored and jkotas committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    6d65799 View commit details
    Browse the repository at this point in the history
  11. Avoid allocating in TimeZoneInfo.GetHashCode() (#8513)

    Avoid the intermediate ToUpper string allocation.
    justinvp authored and jkotas committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    bf4ed11 View commit details
    Browse the repository at this point in the history
  12. Disable special put args for LIMIT_CALLER on x86.

    On x86, `LSRA_LIMIT_CALLER` is too restrictive to allow the use of special
    put args: this stress mode leaves only three registers allocatable--eax,
    ecx, and edx--of which the latter two are also used for the first two
    integral arguments to a call. This can leave us with too few registers to
    succesfully allocate in situations like the following:
    
        t1026 =    lclVar    ref    V52 tmp35        u:3 REG NA <l:$3a1, c:$98d>
    
                /--*  t1026  ref
        t1352 = *  putarg_reg ref    REG NA
    
         t342 =    lclVar    int    V14 loc6         u:4 REG NA $50c
    
         t343 =    const     int    1 REG NA $41
    
                /--*  t342   int
                +--*  t343   int
         t344 = *  +         int    REG NA $495
    
         t345 =    lclVar    int    V04 arg4         u:2 REG NA $100
    
                /--*  t344   int
                +--*  t345   int
         t346 = *  %         int    REG NA $496
    
                /--*  t346   int
        t1353 = *  putarg_reg int    REG NA
    
        t1354 =    lclVar    ref    V52 tmp35         (last use) REG NA
    
                /--*  t1354  ref
        t1355 = *  lea(b+0)  byref  REG NA
    
    Here, the first `putarg_reg` would normally be considered a special put arg,
    which would remove `ecx` from the set of allocatable registers, leaving
    only `eax` and `edx`. The allocator will then fail to allocate a register
    for the def of `t345` if arg4 is not a register candidate: the corresponding
    ref position will be constrained to { `ecx`, `ebx`, `esi`, `edi` }, which
    `LSRA_LIMIT_CALLER` will further constrain to `ecx`, which will not be
    available due to the special put arg.
    pgavlin committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    53f78db View commit details
    Browse the repository at this point in the history
  13. The fix is to set the GTF_EXCEPT and GTF_GLOB_REF for every GT_DYN_BL…

    …K node that we create.
    
    We typically don't have any information about the address supplied to a GT_DYN_BLK so we should
    conservatively allow that it can either be a null pointer or could point into the GC heap.
    briansull committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    61b8887 View commit details
    Browse the repository at this point in the history
  14. Correct an assertion in LSRA.

    `verifyFinalAllocation` asserts that if a non-BB interval RefPosition
    that is either spilled or is the interval's last use does not have a
    register, then that ref position must be marked `AllocateIfProfitable`.
    However, this situation can also arise in at least one other situation:
    an unused parameter will have at least one ref position that may not be
    allocated to a register. This change corrects the assertion to check
    `RefPosition::RequiresRegister` rather than
    `RefPosition::AllocateIfProfitable`.
    
    Fixes VSO 299207.
    pgavlin committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    8b65d16 View commit details
    Browse the repository at this point in the history
  15. Remove sscanf and sprintf usage (#8508)

    * Remove sscanf
    * Remove sprintf
    janvorli committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    e58e3c5 View commit details
    Browse the repository at this point in the history
  16. Fix unix unwind info

    Windows uses offset from stack pointer, when unix has to use offset from
    caninical frame address,
    Sergey Andreenko committed Dec 8, 2016
    Configuration menu
    Copy the full SHA
    26880af View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2016

  1. Add script generator and generate test scripts to adapt debuggertests…

    … repo for coreclr infrastructure
    Sasha Semennikov committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    159c0e6 View commit details
    Browse the repository at this point in the history
  2. Remove private TimeZoneInfoComparer (#8512)

    Use Comparison<T> instead of IComparer<T> to sort the list of
    TimeZoneInfos, which moves the comparison code to the sole place where
    it is used, and now that Array.Sort is implemented in terms of
    Comparison<T> instead of IComparer<T>, avoids some unnecessary
    intermediate allocations.
    justinvp authored and danmoseley committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    3ff4bd7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    78fc761 View commit details
    Browse the repository at this point in the history
  4. Preallocate the TimeZoneInfo.Utc instance (#8530)

    There doesn't appear to be a good reason why the TimeZoneInfo.Utc
    instance needs to be cleared when TimeZoneInfo.ClearCachedData() is
    called. Instead, we can pre-allocate and reuse a singleton instance,
    obviating the need for the lazy-initialization/locking mechanics.
    justinvp authored and tarekgh committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    23422d6 View commit details
    Browse the repository at this point in the history
  5. Make TimeZoneInfo.AdjustmentRule fields readonly (#8528)

    AdjustmentRule is immutable. Help enforce this by making its fields
    readonly.
    justinvp authored and tarekgh committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    d8cd756 View commit details
    Browse the repository at this point in the history
  6. [x86/Linux] Port Several Stubs as NYI (#8515)

    This commit adds SinglecastDelegateInvokeStub and VSD-related Stubs as NYI.
    parjong authored and janvorli committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    a9a5907 View commit details
    Browse the repository at this point in the history
  7. Make TimeZoneInfo.TransitionTime fields readonly (#8529)

    TransitionTime is immutable. Help enforce this by making its fields
    readonly.
    justinvp authored and tarekgh committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    14ae4a8 View commit details
    Browse the repository at this point in the history
  8. TimeZoneInfo: Use string.Concat instead of string.Format (#8540)

    It's more efficient to concatenate the strings.
    justinvp authored and danmoseley committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    2d56f76 View commit details
    Browse the repository at this point in the history
  9. Make TimeZoneInfo fields readonly (#8526)

    TimeZoneInfo is immutable. Help enforce this by making its fields
    readonly.
    justinvp authored and tarekgh committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    37c632e View commit details
    Browse the repository at this point in the history
  10. Merge pull request #8543 from pgavlin/VSO299207

    Correct an assertion in LSRA.
    pgavlin committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    4d8fb41 View commit details
    Browse the repository at this point in the history
  11. Merge pull request #8537 from pgavlin/VSO299202

    Disable special put args for LIMIT_CALLER on x86.
    pgavlin committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    4902abf View commit details
    Browse the repository at this point in the history
  12. [x86/Linux] Revise asmhelper.S using macro (#8523)

    * [x86/Linux] Revise asmhelper.S using macro
    
    This commit revises asmhelper.S using macros that inserts CFI
    directives.
    parjong authored and jkotas committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    eae81ba View commit details
    Browse the repository at this point in the history
  13. [x86/Linux] Fix PAL unit test paltest_pal_sxs_test1 (#8522)

    Fix unit test error for x86/Linux
    - fix fail of exception_handling/pal_sxs/test1/paltest_pal_sxs_test1
    seanshpark authored and janvorli committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    b2a083a View commit details
    Browse the repository at this point in the history
  14. Merge pull request #8539 from sandreenko/fix-unix-unwind-info

    Fix unix unwind info
    sandreenko committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    71f0a53 View commit details
    Browse the repository at this point in the history
  15. Fix to issue 8287.

    sivarv committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    d1d06e7 View commit details
    Browse the repository at this point in the history
  16. Port ConditionalWeakTable from CoreRT

    The CoreRT ConditionalWeakTable was modified to support lock-free reads.  This ports the implementation back to coreclr.
    stephentoub committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    2e475a3 View commit details
    Browse the repository at this point in the history
  17. Fix perf regression with lots of objects in a ConditionalWeakTable

    The CoreRT implementation of ConditionalWeakTable that was ported back to CoreCLR uses a special scheme to make reads lock-free.  When the container needs to grow, it allocates new arrays and duplicates all of the dependency handles from the previous array, rather than just copying them.  This avoids issues stemming from a thread getting a dependency handle in an operation on the container, then having that handle destroyed, and then trying to use it; the handle won't be destroyed as long as the container is referenced.
    
    However, this also leads to a significant cost in a certain situation.  Every time the container grows, it allocates another N dependency handles where N is the current size of the container.  So, for example, with an initial size of 8, if 64 objects are added to the container, it'll allocate 8 dependency handles, then another 16, then another 32, and then another 64, resulting in significantly more handles than in the old implementation, which would only allocate 64 handles total.
    
    This commit fixes that by changing the scheme slightly.  A container still frees its handles in its finalizer.  However, rather than duplicating all handles, that responsibility for freeing is transferred from one container to the next.  Then to avoid issues where, for example, the second container is released while the first is still in use, a reference is maintained from the first to the second, so that the second can't be finalized while the first is still in use.
    
    The commit also fixes a race condition with resurrection and finalization, whereby dependency handles could be used while or after they're being freed by the finalizer. It's addressed by only freeing handles in a second finalization after clearing out state in the first finalization to guarantee no possible usage during the second.
    stephentoub committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    03525a4 View commit details
    Browse the repository at this point in the history
  18. Strip more defines from CoreLib (#8545)

    * Strip more defines from CoreLib
    
    Removes the rest of
    
    FEATURE_CAS_POLICY
    FEATURE_REMOTING
    FEATURE_MACL
    
    And another significant chunk of
    
    !FEATURE_CORECLR
    
    * Address feedback
    JeremyKuhne committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    76c62b7 View commit details
    Browse the repository at this point in the history
  19. [x86/Linux] Fix getcpuid calling convention (#8552)

    Fix getcpuid(), getextcpuid() with STDCALL
    Fix xmmYmmStateSupport() with STDCALL
    seanshpark authored and janvorli committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    685de91 View commit details
    Browse the repository at this point in the history
  20. Fix incremental build when dummy version.cpp is generated (#8547)

    This change fixes a problem with incremental build on Unix. When the
    version.cpp is generated by the build.sh as a dummy one with no real
    version stamp in it, it is recreated every time the build.sh is run.
    That means that build needs to rebuild that file and also re-link
    all the components that include it.
    This change tests the file presence and contents before actually
    regenerating it.
    janvorli committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    101168c View commit details
    Browse the repository at this point in the history
  21. [x86/Linux] Use Portable FastGetDomain (#8556)

    FastGetDomain function (with  __declspec(naked)) causes segmentation
    fault.
    parjong authored and janvorli committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    13a829e View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    7d17af2 View commit details
    Browse the repository at this point in the history
  23. model.xml

    AlexRadch committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    955ac75 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    2e04d13 View commit details
    Browse the repository at this point in the history
  25. Merge pull request #8563 from xoofx/TPA_glossary

    Add TPA/Trusted Platform Assemblies description to the glossary
    gkhanna79 committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    7e09932 View commit details
    Browse the repository at this point in the history
  26. StringBuilder.AppendJoin (appending lists to StringBuilder) (#8350)

    Adding StringBuilder.AppendJoin
    AlexRadch authored and joperezr committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    37b9f18 View commit details
    Browse the repository at this point in the history
  27. Merge pull request #8507 from stephentoub/portcorert_cwt

    Make ConditionalWeakTable reads lock-free
    stephentoub committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    7adcc81 View commit details
    Browse the repository at this point in the history
  28. Merge pull request #8544 from sivarv/moveRegFix

    Fix to issue 8287.
    sivarv committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    bc8a092 View commit details
    Browse the repository at this point in the history
  29. Make it easier to iterate through an ArraySegment (#8559)

    * Make it easier to iterate through an ArraySegment. See Make it easier to iterate through an ArraySegment
    AlexRadch authored and jkotas committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    2813ef4 View commit details
    Browse the repository at this point in the history
  30. Fix path separator in CrossGen help on Linux

    John Chen committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    d034981 View commit details
    Browse the repository at this point in the history
  31. Change CWT use of GetPrimaryAndSecondary to GetPrimary

    This snuck in as part of my previous ConditionalWeakTable changes.  We don't need the secondary here, and it's more expensive to get than just the primary.
    stephentoub committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    4a5647e View commit details
    Browse the repository at this point in the history
  32. Strip some security related attributes (#8571)

    Strips SecurityCritical, SecuritySafeCritical, SecurityPermission,
    EnvironmentPermission, and PermissionSet attributes.
    
    Also removes empty defines these left behind.
    
    Patterns used:
    
    ^.*\[(System\.Security\.)?SecurityCritical\](\s*//.*|\s*)$[\r\n]*
    ^.*#if FEATURE_CORECLR[\s\r\n]*(#else)?[\s\r\n]*#endif.*[\r\n]*
    ^.*\[(System\.Security\.Permissions\.)?SecurityPermission(Attribute)?\([^)]*\)\](\s*//.*|\s*)$[\r\n]*
    JeremyKuhne committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    345e201 View commit details
    Browse the repository at this point in the history
  33. Merge pull request #8572 from stephentoub/cwt_gpas

    Change CWT use of GetPrimaryAndSecondary to GetPrimary
    stephentoub committed Dec 9, 2016
    Configuration menu
    Copy the full SHA
    ff34a07 View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2016

  1. Change ConditionalWeakTable.Clear

    The original CoreRT implementation just dropped the current table and replaced it with a new one.  In the process of porting the CoreRT implementation to CoreCLR, I'd changed it to instead remove each item from the table (by setting its hashcode to -1, as does Remove), in order to work around some code in the finalizer that would null out te parent's reference to the container, and that would cause problems with dropping this table... but that code in the finalizer changed before it got merged, and in its current form, the old CoreRT clear implementation was fine.  It's also likely better, as it'll let the handles be cleaned up earlier, and it's simple.  So reverting back to it.
    stephentoub committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    f084f1c View commit details
    Browse the repository at this point in the history
  2. Merge pull request #8576 from stephentoub/cwt_clear

    Change ConditionalWeakTable.Clear
    stephentoub committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    b6a0b9a View commit details
    Browse the repository at this point in the history
  3. Fix to issue 8286.

    sivarv committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    55b0822 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    80bad94 View commit details
    Browse the repository at this point in the history
  5. Adding API ConditionalWeakTable.AddOrUpdate (#8490)

    * Added ConditionalWeakTable.AddOrUpdate
    safern authored and jkotas committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    6ba12d0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e2d70ff View commit details
    Browse the repository at this point in the history
  7. Fix misguided lock in CurrentTimeZone (#8569)

    CurrentTimeZone locks against a static lock object when modifying a
    non-static Hashtable. Instead, use the Hashtable instance itself as the
    lock object.
    justinvp authored and danmoseley committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    526a81a View commit details
    Browse the repository at this point in the history
  8. Fix typos and grammer in coreclr README.md (#8561)

    * Fix typeos and grammer in README.md
    
    * Fix a small grammar issue and remove a comma
    dbeattie71 authored and danmoseley committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    ff38a7f View commit details
    Browse the repository at this point in the history
  9. TimeZoneInfo: Avoid cloning privately-created ArgumentRule[] arrays (#…

    …8575)
    
    TimeZoneInfo currently always creates a defensive copy of the specified
    ArgumentRule[] array when created. This makes sense for the public
    static factory methods. However, there's no need to create a defensive
    copy of arrays created privately as part of its implementation (e.g.
    reading the rules from the registry/disk). This change avoids the
    unnecessary cloning.
    justinvp authored and tarekgh committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    cfea883 View commit details
    Browse the repository at this point in the history
  10. Improve ConditionalWeakTable.Remove (#8580)

    Clear the key of the deleted entry to allow GC collect objects pointed to by it
    
    Fixes #8577
    jkotas committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    6ef3191 View commit details
    Browse the repository at this point in the history
  11. Merge pull request #8420 from dotnet-bot/master-UpdateDependencies

    Update CoreClr, CoreFx to beta-24810-01, beta-24810-02, respectively (master)
    stephentoub committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    d3ae9e1 View commit details
    Browse the repository at this point in the history
  12. Use JitHelpers.UnsafeCast in ConditionalWeakTable

    We know the types and can use UnsafeCast when reading out the objects as TKey and TValue.  This improves reading speed by ~30%.
    stephentoub committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    381199e View commit details
    Browse the repository at this point in the history
  13. Merge pull request #8581 from stephentoub/cwt_unsafecast

    Use JitHelpers.UnsafeCast in ConditionalWeakTable
    stephentoub committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    0c174f8 View commit details
    Browse the repository at this point in the history
  14. Fix typo in clang-format directive and reformat end of flowgraph.cpp (#…

    …8573)
    
    Last 4K or so lines of flowgraph.cpp were not being formatted because
    the clang-format on directive had a typo.
    
    Fix the typo and reformat the latter part of the file.
    AndyAyersMS committed Dec 10, 2016
    Configuration menu
    Copy the full SHA
    d42b393 View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2016

  1. Local GC: Decouple write barrier operations between the GC and EE (#8568

    )
    
    * Decouple write barrier operations between the GC and EE
    
    * Address code review feedback
    
    * Address code review feedback
    
    * Repair the standalone GC build
    swgillespie committed Dec 11, 2016
    Configuration menu
    Copy the full SHA
    04d6bd1 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2016

  1. Configuration menu
    Copy the full SHA
    a3b1767 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5dbaa3c View commit details
    Browse the repository at this point in the history
  3. Span<T> api update (#8583)

    * Changing method/property order to match CoreFX impl
    
    To make diffing the files easier
    
    * Added other missing methods to match CoreFX impl
    
    Added:
    - public void CopyTo(Span<T> destination)
    - public static bool operator ==(Span<T> left, Span<T> right)
    - public static bool operator !=(Span<T> left, Span<T> right)
    - public override bool Equals(object obj)
    - public override int GetHashCode()
    
    Also removed 'public void Set(ReadOnlySpan<T> values)' and it's no
    longer part of the Span<T> public API, see
    
    https://github.com/dotnet/apireviews/tree/master/2016/11-04-SpanOfT#spantset
    mattwarren authored and jkotas committed Dec 12, 2016
    Configuration menu
    Copy the full SHA
    98798b7 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #8421 from hseok-oh/enable_arm_linux_nupkg

    First step to create nuget packages for ARM32/Linux
    gkhanna79 committed Dec 12, 2016
    Configuration menu
    Copy the full SHA
    e7d1919 View commit details
    Browse the repository at this point in the history
  5. Disable GetGenerationWR2 for GCStress on x86

    Disable this test for GCStress on x86 until the cause for its failure
    can be investigated.
    michellemcdaniel committed Dec 12, 2016
    Configuration menu
    Copy the full SHA
    058e476 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    81033d3 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #8541 from briansull/vso-287671

    Fix missing flags on GT_DYN_BLK node
    briansull committed Dec 12, 2016
    Configuration menu
    Copy the full SHA
    b6a21ae View commit details
    Browse the repository at this point in the history
  8. Merge pull request #8598 from adiaaida/disableGetGeneration

    Disable GetGenerationWR2 for GCStress on x86
    michellemcdaniel committed Dec 12, 2016
    Configuration menu
    Copy the full SHA
    d18d199 View commit details
    Browse the repository at this point in the history
  9. Merge pull request #8532 from sivarv/fixedRegFix

    Fix to issue 8286.
    sivarv committed Dec 12, 2016
    Configuration menu
    Copy the full SHA
    f26796f View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    599896c View commit details
    Browse the repository at this point in the history
  11. [x86/Linux] implement TheUMEntryPrestub (#8589)

    Initial code for x86 TheUMEntryPrestub, UMThunkStub
    seanshpark authored and janvorli committed Dec 12, 2016
    Configuration menu
    Copy the full SHA
    ec17ff6 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b638af3 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2016

  1. Configuration menu
    Copy the full SHA
    82ba80a View commit details
    Browse the repository at this point in the history
  2. Merge pull request #8510 from DrewScoggins/CommitNameFix

    Add ability to give a name to a manual PR run
    
    When using the PR leg of the Jenkins performance jobs it is now possible to specify a name that will be used when inserting the data into the perf database.
    DrewScoggins committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    83827bc View commit details
    Browse the repository at this point in the history
  3. Ryujit/ARM32 Implement Lowering::LowerCast for ARM

    Simple integer to interger type conversion is passed.
    Add comment for LowreCast with C++ comment style.
    
    Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
    hqueue committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    fd68b6f View commit details
    Browse the repository at this point in the history
  4. Merge pull request #8520 from hqueue/arm/test20161208/lowercast

    Ryujit/ARM32: Implement Lowering::LowerCast for ARM
    CarolEidt committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    a6b60a0 View commit details
    Browse the repository at this point in the history
  5. Ryujit/ARM32 Initial Lowering::IsContainableImmed for ARM

    Initial implementation of IsContainableImmed for ARM.
    
    Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
    hqueue committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    04689b1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1cfbb8d View commit details
    Browse the repository at this point in the history
  7. Remove managed environment cache (#8604)

    The PAL already caches- no need to do it in managed.
    Fold the code back into Environment.cs.
    JeremyKuhne authored and jkotas committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    f847295 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1242b3e View commit details
    Browse the repository at this point in the history
  9. Enable interop debugging for Windows amd64 and x86. (#8603)

    Found sos portable pdb problem on x86.  Fixed interop problems between the native sos and SOS.NetCore managed helper assembly.
    mikem8361 committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    db3994a View commit details
    Browse the repository at this point in the history
  10. Fix incorrect compare narrowing in TreeNodeInfoInitCmp

    TreeNodeInfoInitCmp attempts to eliminate the cast from
    `cmp(cast<ubyte>(x), icon)` by narrowing the compare to ubyte. This should
    only happen if the constant fits in a byte so it can be narrowed too,
    otherwise codegen produces an int sized compare. (or a byte sized compare
    with a truncated constant if we try to use GTF_RELOP_SMALL).
    mikedn committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    5bfdc82 View commit details
    Browse the repository at this point in the history
  11. Merge pull request #8621 from mikedn/cmp-cast-drop

    Fix incorrect compare narrowing in TreeNodeInfoInitCmp
    sivarv committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    c7e4e10 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #8560 from AlexRadch/Deconstruction

    Supporting C# 7 deconstruction of KeyValuePair and DictionaryEntry
    weshaggard committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    4c27831 View commit details
    Browse the repository at this point in the history
  13. Fix consume-order checking in codegen.

    The switch to LIR invalidated the correspondence between a node's
    sequence number and the order in which it must be consumed with respect
    to other nodes. This in turn made the consume-order checks during code
    generation incorrect.
    
    This change introduces a new field, `gtUseNum`, that is used during code
    generation to check the order in which nodes are consumed. Re-enabling
    these checks revealed a bug in code generation for locked instructions
    on x86, which were consuming their operands out-of-order; this change
    also contains a fix for that bug.
    
    Fixes #7963.
    pgavlin committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    adf5d7d View commit details
    Browse the repository at this point in the history
  14. Remove no-op file security (#8611)

    Deletes FileSecurityState and pulls redundant methods. Also
    removes DriveInfo, which isn't in use in Core.
    JeremyKuhne authored and jkotas committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    4f1a90f View commit details
    Browse the repository at this point in the history
  15. Fix the ARM32 build.

    pgavlin committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    795435d View commit details
    Browse the repository at this point in the history
  16. [x86/Linux] Port jithelp.asm (#8491)

    * [x86/Linux] Port jithelp.asm
    
    This commit ports jithelp.asm for x86/Linux
    
    The following Tailcall helpers are marked as NYI:
     - JIT_TailCall
     - JIT_TailCallReturnFromVSD
     - JIT_TailCallVSDLeave
     - JIT_TailCallLeave
    
    * Revise macro and indentation
    parjong authored and janvorli committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    e8e2adf View commit details
    Browse the repository at this point in the history
  17. Merge pull request #8617 from hqueue/arm/test20161210/IsContainableImmed

    Ryujit/ARM32 Initial Lowering::IsContainableImmed for ARM
    BruceForstall committed Dec 13, 2016
    Configuration menu
    Copy the full SHA
    71d73fc View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2016

  1. [x86/Linux] Fix "Bad opcode" assert in unwindLazyState (#8609)

    * [x86/Linux] Fix "Bad opcode" assert in unwindLazyState
    
    This commit suppresses "Bad opcode" assert while runing "Hello, World" example.
    
    This commit address the following three code patterns discovered while
    digging the assert failure:
     - and $0x1, %al
     - xor $0xff, %al
     - stack protection code:
       mov %gs:<off>, <reg>
       cmp <off>(%esp), <reg>
       mov <reg>, <off>($esp)
       jne <disp32>
    
    This commit revises LazyMachState::unwindLazyState to handle the first two patterns,
    and revises compile options not to emit the third pattern.
    parjong authored and jkotas committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    2a7f2ff View commit details
    Browse the repository at this point in the history
  2. [x86/Linux] Fix incorrect __fastcall definition (#8585)

    In x86/Linux, __fastcall is defined as __stdcall which causes stack
    corruption issue for the following functions:
     - HelperMethodFrameRestoreState
     - LazyMachStateCaptureState
    
    This commit removes __fastcall definition as clang recognize __fastcall.
    parjong authored and janvorli committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    24c23c2 View commit details
    Browse the repository at this point in the history
  3. [x86/Linux] Enforce 16-byte stack alignment (#8587)

    Clang (and GCC) requires 16-byte stack alignment, but the current
    implementation of CallDescrInternal and ThePreStub does not provide any
    guarantee on stack alignment.
    
    This commit adds 16-byte stack alignment adjust code inside these functions.
    parjong authored and jkotas committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    db52950 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f1391bb View commit details
    Browse the repository at this point in the history
  5. [ARM32/Linux] Initial bring up of FEATURE_INTERPRETER (#8594)

    * Bring up FEATURE_INTERPRETER for ARM32/Linux
    * Add a disclaimer message for GC preemption workaround
    mskvortsov authored and jkotas committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    3019808 View commit details
    Browse the repository at this point in the history
  6. [x86/Linux] Adds Dummy Exception Handler (#8613)

    This commit adds a dummy exeption handler to enable x86/Linux build.
    
    This commit also reverts 7b92136 to make it easy to enable
    WIN64EXCEPTIONS in x86/Linux.
    parjong authored and janvorli committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    676216a View commit details
    Browse the repository at this point in the history
  7. Move RUNTIME_FUNCTION__BeginAddress into clrnt.h (#8632)

    RUNTIME_FUNCTION__BeginAddress is defined in corcompile.h for x86, but
    is defined in clrnt.h for all the other architectures.
    
    This commit moves RUNTIME_FUNCTION__BeginAddress defines for x86 into
    clrnt.h to make it consistent.
    parjong authored and janvorli committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    3a8ebe8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c80cb97 View commit details
    Browse the repository at this point in the history
  9. Add support for R2R ldvirtftn helpers (#8608)

    The codegen for the non-readytorun path (used on CoreCLR) requires the
    runtime to support general purpose virtual method resolution based on a
    method handle. CoreRT doesn't have such helpers.
    MichalStrehovsky authored and jkotas committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    deb75b4 View commit details
    Browse the repository at this point in the history
  10. Merge pull request #8601 from pgavlin/gh7963

    Fix consume-order checking in codegen.
    pgavlin committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    b038f90 View commit details
    Browse the repository at this point in the history
  11. [Linux][GDB-JIT] Add simple C++ mangling of method names in GDBJIT DW…

    …ARF (#8638)
    
    * Add simple C++ mangling of method names in GDBJIT DWARF
    
    Example:
        Namespace1.Class1.Method -> void Namespace1_Class1::Method()
    
    * Do not convert a name during mangling if target buffer is NULL
    ayuckhulk authored and janvorli committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    f25bff4 View commit details
    Browse the repository at this point in the history
  12. Fix ref count adjustment in fgMorphBlockStmt.

    LclVar ref counts must be incremented before attempting to remove the
    morphed statement, since doing so decrements ref counts (and thus
    requires refcounts to be conservatively correct).
    
    Fixes VSO 359734.
    pgavlin committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    530b45d View commit details
    Browse the repository at this point in the history
  13. Merge pull request #8582 from dotnet-bot/master-UpdateDependencies

    Update CoreClr, CoreFx to beta-24814-03, beta-24814-02, respectively (master)
    gkhanna79 committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    f4adfbb View commit details
    Browse the repository at this point in the history
  14. Add a regression test.

    pgavlin committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    c92ac80 View commit details
    Browse the repository at this point in the history
  15. Correctly sequence fgMorphModToSubMulDiv

    This method was creating a temp, but the final result was a GT_SUB with
    a use of the temp as its op1, and it was not setting GTF_REVERSE_OPS.
    This led to a liveness assert in LSRA.
    CarolEidt committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    910b2b6 View commit details
    Browse the repository at this point in the history
  16. Fix SIMD Scalar Move Encoding: VEX.L should be 0

    For SIMD Scalar Move instructions such as vmovlpd, vmovlps, vmovhps,
    vmovhps and vmovss on AVX system, JIT should ensure that those
    instructions are encoded with VEX.L=0, because encoding them with
    VEX.L=1 may encounter unpredictable behavior across different
    processor generations. The reason of VEX.L is encoded with 1 is
    because JIT calls compiler->getSIMDVectorType() which returns
    EA_32BYTE, and it is been passed into emitter AddVexPrefix() which
    ends up encoded VEX.L=1, the fix is to pass target type and base
    type for those instructions to ensure that VEX.L=0 at emitter
    AddVexPrefix()
    
    Fix #8328
    Li Tian committed Dec 14, 2016
    Configuration menu
    Copy the full SHA
    bb67eda View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2016

  1. Merge pull request #8640 from pgavlin/VSO359734

    Fix ref count adjustment in `fgMorphBlockStmt`.
    pgavlin committed Dec 15, 2016
    Configuration menu
    Copy the full SHA
    c4acde8 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #8546 from alsemenn/debuggertests_generate_scripts…

    …_win
    
    Add script generator and generate test scripts to adapt debuggertests…
    Sasha Semennikov committed Dec 15, 2016
    Configuration menu
    Copy the full SHA
    d691c44 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4c1f61f View commit details
    Browse the repository at this point in the history
  4. Merge pull request #8645 from dotnet-bot/master-UpdateDependencies

    Update CoreFx to beta-24815-01 (master)
    gkhanna79 committed Dec 15, 2016
    Configuration menu
    Copy the full SHA
    92d21d0 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #8329 from litian2025/Fix_SIMDScalarMoveEncoding

    Fix SIMD Scalar Move Encoding: VEX.L should be 0
    sivarv committed Dec 15, 2016
    Configuration menu
    Copy the full SHA
    f39a9ac View commit details
    Browse the repository at this point in the history
  6. Merge pull request #8207 from CarolEidt/StreamlineResolution

    Streamline LSRA resolution
    CarolEidt committed Dec 15, 2016
    Configuration menu
    Copy the full SHA
    c8194b0 View commit details
    Browse the repository at this point in the history
  7. Remove API Set dependency (#8624)

    John Chen committed Dec 15, 2016
    Configuration menu
    Copy the full SHA
    4f0753d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f55af1a View commit details
    Browse the repository at this point in the history
  9. Merge pull request #8642 from CarolEidt/Fix359736

    Correctly sequence fgMorphModToSubMulDiv
    CarolEidt committed Dec 15, 2016
    Configuration menu
    Copy the full SHA
    3da9854 View commit details
    Browse the repository at this point in the history
  10. Merge pull request #8649 from dotnet-bot/master-UpdateDependencies

    Update CoreClr, CoreFx to beta-24815-03, beta-24815-03, respectively (master)
    gkhanna79 committed Dec 15, 2016
    Configuration menu
    Copy the full SHA
    0ba60ef View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    7e9bce2 View commit details
    Browse the repository at this point in the history
  12. Make it easier to use StringComparison & StringComparer with GetHashC…

    …ode (#8633)
    
    * Make it easier to use StringComparison & StringComparer with GetHashCode
    
    * model.xml
    AlexRadch authored and danmoseley committed Dec 15, 2016
    Configuration menu
    Copy the full SHA
    b497978 View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2016

  1. [Linux][GDB-JIT] Add try/catch blocks to methods in DWARF (#8650)

    * Add try/catch blocks to DWARF info
    
    Use info about exception handling from IL and map it to
    native code as try/catch blocks in DWARF.
    
    * Improve locals naming convention consistency in gdbjit
    
    * Drop pointer to line info from FunctionMember after it is dumped
    ayuckhulk authored and janvorli committed Dec 16, 2016
    Configuration menu
    Copy the full SHA
    93187ae View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9e1f189 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #8659 from dotnet-bot/master-UpdateDependencies

    Update CoreFx to beta-24816-02 (master)
    gkhanna79 committed Dec 16, 2016
    Configuration menu
    Copy the full SHA
    98c1e2b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    aeae8e1 View commit details
    Browse the repository at this point in the history
  5. Fix buildsystem for linux cross-architecture component build (#8646)

    * Fix buildsystem for linux cross-architecture component build
    
    * refactoring build.sh, bug fix and typo fix
    
    * Update build.sh
    hseok-oh authored and janvorli committed Dec 16, 2016
    Configuration menu
    Copy the full SHA
    bedc2a0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    06df864 View commit details
    Browse the repository at this point in the history
  7. Dictionary.GetValueOrDefault (#8641)

    * Dictionary.GetValueOrDefault
    
    * Fixed IDictionary.TryGetValue
    
    * remove extensions
    
    * // Method similar to TryGetValue that returns the value instead of putting it in an out param.
    
    * public TValue GetValueOrDefault(TKey key) => GetValueOrDefault(key, default(TValue));
    AlexRadch authored and Ian Hays committed Dec 16, 2016
    Configuration menu
    Copy the full SHA
    3d95989 View commit details
    Browse the repository at this point in the history
  8. Avoid Unsafe.AsRef in Span<T> implementation (#8657)

    The JIT is not able to inline the current implementation of Unsafe.AsRef because of it has type mismatch on return. Change the the corelib Span to call Unsafe.As instead since fixing the type mismatch is not easy in the internal corelib version of Unsafe.AsRef.
    jkotas committed Dec 16, 2016
    Configuration menu
    Copy the full SHA
    a03946c View commit details
    Browse the repository at this point in the history
  9. Merge pull request #8664 from dotnet-bot/master-UpdateDependencies

    Update CoreClr to beta-24816-04 (master)
    gkhanna79 committed Dec 16, 2016
    Configuration menu
    Copy the full SHA
    f2b4281 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    7753631 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2016

  1. Merge pull request #8668 from gkhanna79/PNBRid

    Packaging support for portable Linux binaries.
    gkhanna79 committed Dec 17, 2016
    Configuration menu
    Copy the full SHA
    466fc32 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2016

  1. Widen basic block flag field to 64 bits

    Flag field is currently full, and I need at least one more bit to identify
    the start of a cloned finally.
    
    Widen to 64 bits and update a few uses. Also removed an unused copy.
    AndyAyersMS committed Dec 18, 2016
    Configuration menu
    Copy the full SHA
    79bacd6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4497b25 View commit details
    Browse the repository at this point in the history
  3. Remove Read/WriteProcessMemory from PAL. (#8655)

    Ifdef more unused code that uses ReadProcessMemory. Move the current
    memory probing in the transport to PAL_ProbeMemory. Add PAL_ProbeMemory
    to dac PAL exports.
    
    PAL_ProbeMemory may be changed to use write/read on a pipe to
    validate the memory as soon as we make it perform as well as
    the current code.
    
    Remove ReadProcessMemory tests and add PAL_ProbeMemory pal tests.
    mikem8361 committed Dec 18, 2016
    Configuration menu
    Copy the full SHA
    e50b22b View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2016

  1. Fixing up the arm subsystem versions (#8676)

    * Adding arm64 and updating default subsystems
    Petermarcu committed Dec 19, 2016
    Configuration menu
    Copy the full SHA
    23407d1 View commit details
    Browse the repository at this point in the history
  2. [x86/Linux] Add UMThunkStub (#8627)

    Add UMThunkStub method with logic from that of AMD64
    seanshpark authored and janvorli committed Dec 19, 2016
    Configuration menu
    Copy the full SHA
    6fce053 View commit details
    Browse the repository at this point in the history
  3. [Linux][GDB-JIT] Fix bugs in gdbjit that break lldb stepping (#8637)

    * Fix .text and .thunk symbols overlapping
    
    When current method calls itself, a __thunk* symbol might be generated with the same address
    as the method symbol in .text section. Avoid generating such __thunk* symbol.
    
    * Do not create DWARF line table entries with the same address
    
    * For each HiddenLine assign a zero line number in DWARF
    
    Allow LLDB to to skip HiddenLines when stepping.
    
    * Fix __thunk symbols containing garbage
    
    Fix a bug when __thunk* symbols of previously compiled methods cause
    generation of __thunk* symbols for currently compiled method without
    filling symbol info.
    
    * Fix missing check for the end of list of compiled methods
    
    * Remove unnecessary check for zero prevLine in gdbjit
    ayuckhulk authored and janvorli committed Dec 19, 2016
    Configuration menu
    Copy the full SHA
    d23b78c View commit details
    Browse the repository at this point in the history
  4. Merge pull request #8674 from AndyAyersMS/BiggerBlockFlag

    Widen basic block flag field to 64 bits
    AndyAyersMS committed Dec 19, 2016
    Configuration menu
    Copy the full SHA
    8395eb5 View commit details
    Browse the repository at this point in the history
  5. Fix DllImport of IdnToAscii & IdnToUnicode (#8666)

    Fix an issue found in OneCoreUAP testing. According to MSDN,
    the official exporting DLL for IdnToAccii and IdnToUnicode
    is normaliz.dll, not kernel32.dll. While most Windows SKUs
    export these functions from both normaliz.dll and kernel32.dll,
    recent tests revealed that some Windows SKUs export them from
    normaliz.dll only.
    John Chen authored and tarekgh committed Dec 19, 2016
    Configuration menu
    Copy the full SHA
    dec5a1f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8891481 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1c5dc53 View commit details
    Browse the repository at this point in the history
  8. Merge pull request #8681 from gkhanna79/PNBBuildPkg

    Update build-packages.sh to support portableLinux
    wtgodbe committed Dec 19, 2016
    Configuration menu
    Copy the full SHA
    6694997 View commit details
    Browse the repository at this point in the history