1. 02 Jan, 2013 16 commits
  2. 01 Jan, 2013 2 commits
  3. 30 Dec, 2012 3 commits
  4. 29 Dec, 2012 3 commits
    • Dave Cheney's avatar
      cmd/dist: use -pipe during bootstrap · 0c6beb00
      Dave Cheney authored
      R=golang-dev, minux.ma, rsc
      CC=golang-dev
      https://golang.org/cl/7025044
      0c6beb00
    • Sébastien Paolacci's avatar
      runtime: handle locked mmap failure on Linux · e786829e
      Sébastien Paolacci authored
      Used to then die on a nil pointer situation. Most Linux standard setups are rather
      restrictive regarding the default amount of lockable memory.
      
      R=minux.ma, rsc
      CC=golang-dev
      https://golang.org/cl/6997049
      e786829e
    • Adam Langley's avatar
      crypto/rsa: ensure that RSA keys use the full number of bits. · 975bf6d3
      Adam Langley authored
      While half of all numbers don't have their most-significant bit set,
      this is becoming increasingly impermissible for RSA moduli. In an
      attempt to exclude weak keys, several bits of software either do, or
      will, enforce that RSA moduli are >= 1024-bits.
      
      However, Go often generates 1023-bit RSA moduli which this software
      would then reject.
      
      This change causes crypto/rsa to regenerate the primes in the event
      that the result is shorter than requested.
      
      It also alters crypto/rand in order to remove the performance impact
      of this:
      
      The most important change to crypto/rand is that it will now set the
      top two bits in a generated prime (OpenSSL does the same thing).
      Multiplying two n/2 bit numbers, where each have the top two bits set,
      will always result in an n-bit product. (The effectively makes the
      crypto/rsa change moot, but that seems too fragile to depend on.)
      
      Also this change adds code to crypto/rand to rapidly eliminate some
      obviously composite numbers and reduce the number of Miller-Rabin
      tests needed to generate a prime.
      
      R=rsc, minux.ma
      CC=golang-dev
      https://golang.org/cl/7002050
      975bf6d3
  5. 28 Dec, 2012 8 commits
  6. 27 Dec, 2012 2 commits
  7. 26 Dec, 2012 2 commits
  8. 25 Dec, 2012 1 commit
  9. 24 Dec, 2012 3 commits
    • Dmitriy Vyukov's avatar
      runtime: diagnose double wakeup on Note · 4380fa6d
      Dmitriy Vyukov authored
      Double wakeup is prohibited by the Note interface
      and checked in lock_sema.c.
      
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/6976054
      4380fa6d
    • Marcel van Lohuizen's avatar
      exp/norm: changed API of Iter. · cfcc3ebf
      Marcel van Lohuizen authored
      Motivations:
       - Simpler UI. Previous API proved a bit awkward for practical purposes.
       - Iter is often used in cases where one want to be able to bail out early.
         The old implementaton had too much look-ahead to be efficient.
      Disadvantages:
       - ASCII performance is bad. This is unavoidable for tiny iterations.
         Example is included to show how to work around this.
      
      Description:
      Iter now iterates per boundary/segment. It returns a slice of bytes that
      either points to the input bytes, the internal decomposition strings,
      or the small internal buffer that each iterator has. In many cases, copying
      bytes is avoided.
      The method Seek was added to support jumping around the input without
      having to reinitialize.
      
      Details:
       - Table adjustments: some decompositions exist of multiple segments.
         Decompositions that are of this type are now marked so that Iter can
         handle them separately.
       - The old iterator had a different next function for different normal forms
         that was assigned to a function pointer called by Next.
         The new iterator uses this mechanism to switch between different modes
         for handling different type of input as well.  This greatly improves
         performance for Hangul and ASCII. It is also used for multi-segment
         decompositions.
       - input is now a struct of sting and []byte, instead of an interface.
         This simplifies optimizing the ASCII case.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/6873072
      cfcc3ebf
    • Marcel van Lohuizen's avatar
      exp/locale/collate: include composed characters into the table. This eliminates · 9aa70984
      Marcel van Lohuizen authored
      the need to decompose characters for the majority of cases.  This considerably
      speeds up collation while increasing the table size minimally.
      
      To detect non-normalized strings, rather than relying on exp/norm, the table
      now includes CCC information. The inclusion of this information does not
      increase table size.
      
      DETAILS
       - Raw collation elements are now a struct that includes the CCC, rather
         than a slice of ints.
       - Builder now ensures that NFD and NFC counterparts are included in the table.
         This also fixes a bug for Korean which is responsible for most of the growth
         of the table size.
       - As there is no more normalization step, code should now handle both strings
         and byte slices as input. Introduced source type to facilitate this.
      
      NOTES
       - This change does not handle normalization correctly entirely for contractions.
         This causes a few failures with the regtest. table_test.go contains a few
         uncommented tests that can be enabled once this is fixed.  The easiest is to
         fix this once we have the new norm.Iter.
       - Removed a test cases in table_test that covers cases that are now guaranteed
         to not exist.
      
      R=rsc, mpvl
      CC=golang-dev
      https://golang.org/cl/6971044
      9aa70984