[parrot/parrot] d49a8e: [pmc] temp. disable the rpa splice shrink fast opt...

GitHub noreply at github.com
Sun Jan 18 13:56:36 UTC 2015


  Branch: refs/heads/master
  Home:   https://github.com/parrot/parrot
  Commit: d49a8ea130c4258024a88d5c71b5ed9c187cfd24
      https://github.com/parrot/parrot/commit/d49a8ea130c4258024a88d5c71b5ed9c187cfd24
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-16 (Fri, 16 Jan 2015)

  Changed paths:
    M ChangeLog
    M src/pmc/resizablepmcarray.pmc

  Log Message:
  -----------
  [pmc] temp. disable the rpa splice shrink fast optimization branch

to fix a perl6 blocker https://github.com/perl6/nqp/issues/209, GH #1174.
But this broke test 129 of t/pmc/resizablepmcarray.t
WIP


  Commit: dbaec3f6ec5c80494ff0906ced48e602154c7034
      https://github.com/parrot/parrot/commit/dbaec3f6ec5c80494ff0906ced48e602154c7034
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-17 (Sat, 17 Jan 2015)

  Changed paths:
    M src/pmc/resizablepmcarray.pmc
    M t/pmc/resizablepmcarray.t
    M t/stress/rpa-splice.t

  Log Message:
  -----------
  [test] add test and stress tests for GH #1174

delete one too less in rpa splice shrink fast


  Commit: d3a745614339b55b6b56dd0e2a0eba3254b0cb89
      https://github.com/parrot/parrot/commit/d3a745614339b55b6b56dd0e2a0eba3254b0cb89
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-17 (Sat, 17 Jan 2015)

  Changed paths:
    M ChangeLog
    M src/pmc/resizablepmcarray.pmc

  Log Message:
  -----------
  [pmc] fix rpa shrink fast GH #1174

shrink (deleted) off-by-one. Passes now the new stress tests.
Closes GH #1174 and fixes perl6/nqp 209


  Commit: 44be4dbe659b4e40b5304611abc50228fc83c2a0
      https://github.com/parrot/parrot/commit/44be4dbe659b4e40b5304611abc50228fc83c2a0
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-17 (Sat, 17 Jan 2015)

  Changed paths:
    M src/pmc/resizablepmcarray.pmc
    M t/stress/rpa-splice.t

  Log Message:
  -----------
  [test] add more rpa-splice stress tests

this time with explicit result checks, with perl5 semantics.
All tests pass, the new #1175 assertion in splice grow with (5,4,8) off=0 count=0
not repro yet


  Commit: 16182a951bdc803215dbf273706a0067ae5e6ac5
      https://github.com/parrot/parrot/commit/16182a951bdc803215dbf273706a0067ae5e6ac5
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-17 (Sat, 17 Jan 2015)

  Changed paths:
    M src/pmc/resizablepmcarray.pmc

  Log Message:
  -----------
  [pmc] rpa: add splice: offset past end of array exception

conformant to perl5 semantics. Closes GH #1176


  Commit: 42bc879ab43b8536a6852b6ac4c4e3b4f6ab55bd
      https://github.com/parrot/parrot/commit/42bc879ab43b8536a6852b6ac4c4e3b4f6ab55bd
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-17 (Sat, 17 Jan 2015)

  Changed paths:
    M t/stress/rpa-splice.t

  Log Message:
  -----------
  [test] add testcases for #1176

we see now splice() offset past end of array excpetions in perl5 and parrot.
This is of course not yet usable as such


  Commit: 4ca3e78ba5b3b0e8aebf01076e3567be808b8342
      https://github.com/parrot/parrot/commit/4ca3e78ba5b3b0e8aebf01076e3567be808b8342
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-17 (Sat, 17 Jan 2015)

  Changed paths:
    M t/stress/rpa-splice.t

  Log Message:
  -----------
  [test] fix testcases for #1176

check now for proper splice() offset past end of array exceptions


  Commit: c06f51e546718162a770c4c5088c16eea97c8200
      https://github.com/parrot/parrot/commit/c06f51e546718162a770c4c5088c16eea97c8200
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-18 (Sun, 18 Jan 2015)

  Changed paths:
    M src/pmc/resizablepmcarray.pmc
    M t/stress/rpa-splice.t

  Log Message:
  -----------
  [test] enable the rpa-splice offset past end warning

See GH #1176. In parrot we have to manually enable the warning, in perl5 not. Whatever.


  Commit: 278aea0d5359b9e09621765a99457dfc3745c874
      https://github.com/parrot/parrot/commit/278aea0d5359b9e09621765a99457dfc3745c874
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-18 (Sun, 18 Jan 2015)

  Changed paths:
    M t/stress/rpa-splice.t

  Log Message:
  -----------
  [test] refactor t/stress/rpa-splice.t

For GH #1175 and #1176.
Use the first negative count tests only under a memory checker, valgrind or asan/msan.

Use dynamic done_testing for the test count and allow a flexible MAXCOUNT for the p0 size.
Fix the offset overflow detection, only use that on off by one to avoid too many noisy perl5 warnings.

Failed tests:  88, 102-103, 105, 273 with MAXSIZE=5


  Commit: 02069e510285f9fb0df9576e6dd263007805ec54
      https://github.com/parrot/parrot/commit/02069e510285f9fb0df9576e6dd263007805ec54
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-18 (Sun, 18 Jan 2015)

  Changed paths:
    M src/pmc/resizablepmcarray.pmc
    M t/stress/rpa-splice.t

  Log Message:
  -----------
  [pmc] fix more rpa splice cases #1174 + #1175 + #1176

- First, for debugging only:
  track if no TRACE_RPA was ever emitted and do it at the end to see a splice
  noop.
- Second, on splice off > size, enlarge the array as in perl5, see GH #1176.
- Third, disallow the splice shrink fast, just adjusting the offset if we have
  to keep one element at the left.
- Forth, fix splice shrink followed by a grow or fill, by not adjusting the
  offset twice.
- Fifth, on splice shrink fast, also adjust the new size, as the newsize branch
  below is not always taken (jump to splice_copy)

Add an optional argument to t/stress/rpa-splice.t for the maxsize, default 7.
We still have 'splice off > size' errors > 7.


  Commit: 20a9072a3f593402ee6e08e282576532789daa10
      https://github.com/parrot/parrot/commit/20a9072a3f593402ee6e08e282576532789daa10
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-18 (Sun, 18 Jan 2015)

  Changed paths:
    M t/pmc/resizablepmcarray.t

  Log Message:
  -----------
  [test] add proper rpa testcases for the previous fixes


  Commit: 212760667d06d818b947d8a39114b80e0975622b
      https://github.com/parrot/parrot/commit/212760667d06d818b947d8a39114b80e0975622b
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-18 (Sun, 18 Jan 2015)

  Changed paths:
    M src/pmc/resizablepmcarray.pmc
    M t/pmc/resizablepmcarray.t

  Log Message:
  -----------
  [pmc] this should be the last splice fix GH #1176

Do not enlarge the array on overlarge offset. Rather fix the offset, as in perl5.
Add a proper testcase also


  Commit: 4c460594e0d3b3d370465914679c0ed153311256
      https://github.com/parrot/parrot/commit/4c460594e0d3b3d370465914679c0ed153311256
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-18 (Sun, 18 Jan 2015)

  Changed paths:
    M ChangeLog

  Log Message:
  -----------
  ChangeLog: updated for #1171, #1174, #1175, #1176


  Commit: 9ca85b6bd8baaa87ebb3371db8f615e9ff7ae691
      https://github.com/parrot/parrot/commit/9ca85b6bd8baaa87ebb3371db8f615e9ff7ae691
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-18 (Sun, 18 Jan 2015)

  Changed paths:
    M ChangeLog

  Log Message:
  -----------
  ChangeLog: more tuning


  Commit: 071337dc8fa59da085962f3fa869b3f2e6da5fd3
      https://github.com/parrot/parrot/commit/071337dc8fa59da085962f3fa869b3f2e6da5fd3
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2015-01-18 (Sun, 18 Jan 2015)

  Changed paths:
    M ChangeLog
    M src/pmc/resizablepmcarray.pmc
    M t/pmc/resizablepmcarray.t
    M t/stress/rpa-splice.t

  Log Message:
  -----------
  Merge branch 'smoke-me/rpa-splice-shrink-fast-gh1174'

Smoked ok, tested also on centos5 32bit and darwin ppc.


Compare: https://github.com/parrot/parrot/compare/7385369b80b1...071337dc8fa5


More information about the parrot-commits mailing list