Permalink
Commits on Oct 7, 2015
  1. Use JIT_CheckedWriteBarrier instead of JIT_WriteBarrier even for regu…

    xoofx committed Oct 7, 2015
    …lar references in order to make sure that storing a reference to a field of a Class allocated on the stack doesn't go to the card table log (as it would write to some invalid memory)
  2. Handle IL OpCode initobj by generating proper offset to the class poi…

    xoofx committed Oct 7, 2015
    …nter (we don't want the initobj to clear the method table pointer)
  3. In CEEInfo::getClassGClayout make sure that GC pointers layout for Cl…

    xoofx committed Oct 7, 2015
    …ass as struct are correctly shifted by the method table pointer
Commits on Oct 6, 2015
Commits on Oct 3, 2015
  1. Fix bug in getClassGCLayout for class as value types, as we need to t…

    xoofx committed Oct 3, 2015
    …ake the size of the class as a struct (using pMT->GetBaseSize()) and not as a ref (VMClsHnd.GetSize() returns 8 bytes - ptr size for a class)
Commits on Oct 2, 2015
  1. Add ObjHeader::IsStackOrEmbedAlloc() to check whether the Object is a…

    xoofx committed Oct 2, 2015
    …llocated on the stack or embedded
  2. Add objheader_common.h that contains SIZEOF_OBJHEADER and can be used…

    xoofx committed Oct 2, 2015
    … from eveywhere (as it was previously not accessible from JIT for example). Always use a 8 bytes ObjHeader and add extra bits for Class Allocated on stack. Update codegen to identity allocation on the stack.
Commits on Oct 1, 2015
  1. Handle allocation on the stack of the valuetype (add ObjectHeader siz…

    xoofx committed Oct 1, 2015
    …e) + handle codegen of methodtable initialization for class as valuetype
  2. Fill the VariableDescription ReferenceType and MethodTable in lvaSetS…

    xoofx committed Oct 1, 2015
    …truct. Let the CEEInfo::getClassGCLayout working on class.
Commits on Sep 23, 2015
  1. Merge pull request dotnet#1608 from ellismg/fix-infinite-recursion-in…

    ellismg committed Sep 23, 2015
    …-culture-init
    
    Use Ordinal when searching for collation keyword
  2. Use Ordinal when searching for collation keyword

    ellismg committed Sep 23, 2015
    IndexOf by default is culture specific, which could lead to us doing
    the wrong thing depending on the current culture and also can cause
    problems where we need to access CultureData while we are still building
    up culture information, causing infinite recursion.
    
    Some collection tests were triggering the latter case and failing after
    we merged in the ICU changes.
  3. Merge pull request dotnet#1604 from ellismg/icu-merge-staging

    ellismg committed Sep 23, 2015
    Merge in initial round of ICU Changes
Commits on Sep 22, 2015
  1. Merge pull request dotnet#1603 from dotnet-bot/from-tfs

    jkotas committed Sep 22, 2015
    Merge changes from TFS
  2. Respond to PR feedback

    ellismg committed Sep 22, 2015
  3. Update documentation to list ICU dependency

    ellismg committed Sep 22, 2015
    Provide some hints on how to obtain the required ICU components for
    Linux, OSX and FreeBSD
  4. Use 'readlink' of the /etc/localtime file to determine the TimeZoneIn…

    eerhardt authored and ellismg committed Sep 17, 2015
    …fo.Local.Id on Linux.
    
    Fix dotnet/corefx#2489.
  5. Fixing date patterns on Linux.

    eerhardt authored and ellismg committed Sep 11, 2015
    1. Getting more LongDatePatterns by getting both full and long ICU patterns.
    2. Getting more ShortDatePatterns by getting both medium and short ICU patterns.  Still keeping the "yMd" pattern, since this closely matches what is used on Windows.
    3. Removing any duplicates in the date patterns.
    4. "Normalizing" the date patterns from ICU format to .NET format.
      a. "EEEE", "eeee" and "cccc" is replaced with "dddd"
      b. "LLLL" is replaced with "MMMM"
      c. "G" is replaced with "g"
      d. A single 'y' is replaced with 'yyyy'
  6. Build System.Native.Globalization on OSX

    ellismg committed Aug 25, 2015
    This requires the 'icu4c' package from homebrew, which can be installed
    with `brew install icu4c`.
  7. Adding an empty string to the end of month names if ICU only returns 12.

    eerhardt authored and ellismg committed Sep 9, 2015
    This bug was caught by a test case in System.Globalization.Tests.
  8. Don't use StringBuilderCache for casing

    ellismg committed Sep 2, 2015
    During code review, Steve proposed we moved to using StringBuilderCache
    to the allocation of the temporary char[] array during casing
    operations. I made the change but later realized that this caused a few
    issues.
    
    - The native layer operates on UChar/length pairs, not null terminated
      strings.  Because of this, we don't actually write a terminating null
      into the destination buffer (since we just do a 1:1 casing operation
      on the input and never see the null terminator). However, the
      marshalling code for StringBuilder assumes the buffer will be null
      terminated and uses that to compute the new length value after a
      marshalling call. Because there can be left over data from previous
      calls in the buffer the string length calculation will be incorrect
      and we will end up leaking in extra data into the cased string.
    
    - The StringBuilder marshalling as a whole won't work if we have
      embdedded nulls in a string (we'll end up dropping characters on the
      transition from native back to managed) but that's something that we
      need to be able to handle.
    
    Ideally there would be a way to construct a mutable string, case into
    its buffer and the freeze the string, but we don't have a way to do that
    today, so we need to stick with this allocation.
  9. Responding to PR feedback.

    eerhardt authored and ellismg committed Sep 8, 2015
  10. Implement Japanese Era information.

    eerhardt authored and ellismg committed Sep 2, 2015
  11. Implement CalendarData.GetCalendars.

    eerhardt authored and ellismg committed Sep 1, 2015
  12. Implement CalendarData on Linux.

    eerhardt authored and ellismg committed Aug 25, 2015
    This is the first round of CalendarData implementation on Linux using ICU
    for the information.  It contains Month Names, Day Names, DateTime format
    patterns, etc.
  13. address code review feedback

    steveharter authored and ellismg committed Sep 2, 2015
  14. address code review feedback

    steveharter authored and ellismg committed Sep 2, 2015
  15. add number formatting

    steveharter authored and ellismg committed Aug 27, 2015