[D-runtime] [D-Programming-Language/druntime] 79bc91: fix Issue 14385 - AA should use open addressing ha...

GitHub via D-runtime d-runtime at puremagic.com
Fri Apr 24 05:33:15 PDT 2015


  Branch: refs/heads/master
  Home:   https://github.com/D-Programming-Language/druntime
  Commit: 79bc91b41334c1805f557ef2f1606de31c6764d1
      https://github.com/D-Programming-Language/druntime/commit/79bc91b41334c1805f557ef2f1606de31c6764d1
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-04-21 (Tue, 21 Apr 2015)

  Changed paths:
    M src/object.di
    M src/object_.d
    M src/rt/aaA.d
    M src/rt/lifetime.d

  Log Message:
  -----------
  fix Issue 14385 - AA should use open addressing hash

- new AA implementation
- uses open addressing with quadratic probing (triangular numbers) and pow2 table
- uses NO_SCAN for entries when applicable
- minimizes alignment gap for values
- calls postblit on aa.keys and aa.values


  Commit: 2532129cf3a3d2a51aec09cdd8b8e3f73e7cb39a
      https://github.com/D-Programming-Language/druntime/commit/2532129cf3a3d2a51aec09cdd8b8e3f73e7cb39a
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-04-22 (Wed, 22 Apr 2015)

  Changed paths:
    M src/rt/aaA.d

  Log Message:
  -----------
  add AA layout version number (`_aaVersion`)

- so that debuggers know how to pretty-print the content of an AA


  Commit: 88ee8dbf64a7cfcefc2dcd845ac2ba1902379023
      https://github.com/D-Programming-Language/druntime/commit/88ee8dbf64a7cfcefc2dcd845ac2ba1902379023
  Author: Martin Nowak <code at dawg.eu>
  Date:   2015-04-22 (Wed, 22 Apr 2015)

  Changed paths:
    M src/rt/aaA.d

  Log Message:
  -----------
  comment and unittest for move of AA literal keys&values

- also destroy values before overwriting them (due to duplicate keys)
  during literal construction


  Commit: 6698ee21d4eb00ec2e8c621993359d235618df75
      https://github.com/D-Programming-Language/druntime/commit/6698ee21d4eb00ec2e8c621993359d235618df75
  Author: Rainer Schuetze <r.sagitario at gmx.de>
  Date:   2015-04-24 (Fri, 24 Apr 2015)

  Changed paths:
    M src/object.di
    M src/object_.d
    M src/rt/aaA.d
    M src/rt/lifetime.d

  Log Message:
  -----------
  Merge pull request #1229 from MartinNowak/open_addressing

fix Issue 14385 - AA should use open addressing hash


Compare: https://github.com/D-Programming-Language/druntime/compare/6d6aa3daea84...6698ee21d4eb


More information about the D-runtime mailing list