1. 23 May, 2016 5 commits
  2. 20 May, 2016 2 commits
  3. 19 May, 2016 2 commits
  4. 18 May, 2016 2 commits
  5. 01 May, 2016 1 commit
  6. 29 Apr, 2016 1 commit
  7. 28 Apr, 2016 2 commits
  8. 27 Apr, 2016 2 commits
  9. 26 Apr, 2016 2 commits
  10. 24 Apr, 2016 1 commit
  11. 23 Apr, 2016 1 commit
  12. 22 Apr, 2016 5 commits
    • Wouter van Oortmerssen's avatar
      Merge pull request #3850 from pjulien/3849 · a0d1161f
      Wouter van Oortmerssen authored
      Fix for #3849
      a0d1161f
    • Wouter van Oortmerssen's avatar
    • Wouter van Oortmerssen's avatar
      Fixed a verifier check that didn't return from its parent. · c17cf022
      Wouter van Oortmerssen authored
      Change-Id: I1aef5fdba72de0c3bb8276c9f50fffa494f26e29
      Tested: on Linux.
      c17cf022
    • Wouter van Oortmerssen's avatar
      Fixed SkipByteOrderMark advancing cursor_ too early. · f6330ab8
      Wouter van Oortmerssen authored
      Change-Id: Ie60f01d935ca6b4aa6ce0eab7598602ac0758342
      Tested: on Linux.
      f6330ab8
    • pjulien's avatar
      Fix for #3849 · 6908826f
      pjulien authored
      This avoids the following allocations over repeated use:
      
      - A ``CharsetEncoder``
      - A byte array to contain the contents of the string
      - A wrapper, via ``ByteBuffer#wrap``, for the previously mentioned byte
        array
      
      This also removes a copy of the temporary byte array.  This extra copy
      is needed because ``String#getBytes`` returns a byte array and its
      length must match the exact size of the contents.
      
      This implementation requires that the builder retain a ``ByteBuffer``
      and ``CharEncoder``.  This is considered slower only for users that
      will only allocate a single string in their buffers or none at all.
      
      The improvement is especially potent if the builder is constantly reused
      by its caller.  This also eliminates the penalty for users that do not
      use strings at all since the cost of allocating these fields is
      now amortized.
      
      The only allocation left in this code is a ``CharBuffer`` wrapper.  It's
      possible to eliminate this allocation using an additional copy but need
      further profiling to see which is the bigger problem.
      6908826f
  13. 20 Apr, 2016 1 commit
  14. 19 Apr, 2016 3 commits
    • pjulien's avatar
      size the allocation to the required bytes · 9fb87f81
      pjulien authored
      9fb87f81
    • pjulien's avatar
      fix file permission · b0146b3d
      pjulien authored
      b0146b3d
    • pjulien's avatar
      Fix for #3853 · 286587d1
      pjulien authored
      Removes the following allocations:
      - ``CharsetDecoder`` is reused between calls
      - ``CharBuffer#wrap`` removed in favor of heap
        based char buffer that is reused
      - Temporary ``char[]``, an intermediate copy inside ``StringCoding``
      - Another ``char[]``, this is needed because ``StringCoding`` uses
        a ``CharBuffer`` internally but returns a ``char[]``.  Extra
        characters need to be trimmed so this means yet another allocation
      - Yet another ``char[]`` directly from ``__string`` for non-heap
        based buffers
      
      Removes the following copies
      - No copy is performed to trim the allocation since a ``CharBuffer``
        is used directly
      - For non-heap based byte buffers, removes the copy that was
        previously done in the __string function
      
      This does need to get the TLS entry which implies at least some
      contention on the thread object table and a fence.
      286587d1
  15. 18 Apr, 2016 2 commits
  16. 17 Apr, 2016 1 commit
    • pjulien's avatar
      3847 · fdfaf233
      pjulien authored
      fdfaf233
  17. 15 Apr, 2016 1 commit
  18. 14 Apr, 2016 2 commits
  19. 13 Apr, 2016 4 commits