[parrot/parrot] 3e7b3a: [pmc2c] support RETURN(PMC* const ...) and (INTVAL...

GitHub noreply at github.com
Tue Jun 3 21:20:11 UTC 2014


  Branch: refs/heads/rurban/pmc2c_orig2-gh1069
  Home:   https://github.com/parrot/parrot
  Commit: 3e7b3a9d6dfe80e6aa5b8b064f90006b2df85e0b
      https://github.com/parrot/parrot/commit/3e7b3a9d6dfe80e6aa5b8b064f90006b2df85e0b
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-30 (Fri, 30 May 2014)

  Changed paths:
    M lib/Parrot/Pmc2c/PCCMETHOD.pm

  Log Message:
  -----------
  [pmc2c] support RETURN(PMC* const ...) and (INTVAL pos>>32)

const is no variable name.
allow full expressions as return value, not just names.

just skip ptr dereferences /^\**/. Note that the * return syntax is flawed,
as we should support both cases, return *ptr; and return ptr;
But we get away with it as we return only return (decl)*ptr and return (decl*)ptr;


  Commit: bf3896f722ef1092aa30842b2a68f4042eed90ce
      https://github.com/parrot/parrot/commit/bf3896f722ef1092aa30842b2a68f4042eed90ce
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-30 (Fri, 30 May 2014)

  Changed paths:
    M t/pmc/fixedstringarray.t

  Log Message:
  -----------
  [test] move test_gc to the end of t/pmc/fixedstringarray.t

all other tests pass fine, even with wrong write barriers


  Commit: 6c4b317b284e62a46b89b6f5d2b5e5c6e6bf6233
      https://github.com/parrot/parrot/commit/6c4b317b284e62a46b89b6f5d2b5e5c6e6bf6233
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-30 (Fri, 30 May 2014)

  Changed paths:
    M MANIFEST
    A tools/dev/vgp_old

  Log Message:
  -----------
  [tools] add tools/dev/vgp_old using parrot_old

building parrot_old is much faster than parrot, when tracing leaks


  Commit: d89d02e4de82594bd4b8b5334869fb2a35609590
      https://github.com/parrot/parrot/commit/d89d02e4de82594bd4b8b5334869fb2a35609590
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-30 (Fri, 30 May 2014)

  Changed paths:
    M src/gc/system.c

  Log Message:
  -----------
  [gc] simplify the stack scanning loop

just inc the stack ptr
reverse the hi <=> lo markers to make sense
comment the unsafe ptr dereference here, where asan and valgrind do complain.


  Commit: ee33e2fcf2fa7f31e35be9e45a0067f8e3e2c19c
      https://github.com/parrot/parrot/commit/ee33e2fcf2fa7f31e35be9e45a0067f8e3e2c19c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-30 (Fri, 30 May 2014)

  Changed paths:
    M src/pmc/task.pmc

  Log Message:
  -----------
  Revert "[pmc] task: WB related errors"

This reverts commit ab201b1657795217c95c7f62c8f1bf71418687b0.


  Commit: 2d82f764a3dda24e6519122596b983504ef7aacd
      https://github.com/parrot/parrot/commit/2d82f764a3dda24e6519122596b983504ef7aacd
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-30 (Fri, 30 May 2014)

  Changed paths:
    M src/pmc/addrregistry.pmc
    M src/pmc/alarm.pmc
    M src/pmc/arrayiterator.pmc
    M src/pmc/bigint.pmc
    M src/pmc/bignum.pmc
    M src/pmc/boolean.pmc
    M src/pmc/bytebuffer.pmc
    M src/pmc/callback.pmc
    M src/pmc/callcontext.pmc
    M src/pmc/capture.pmc
    M src/pmc/class.pmc
    M src/pmc/complex.pmc
    M src/pmc/continuation.pmc
    M src/pmc/coroutine.pmc
    M src/pmc/default.pmc
    M src/pmc/env.pmc
    M src/pmc/eventhandler.pmc
    M src/pmc/exception.pmc
    M src/pmc/exceptionhandler.pmc
    M src/pmc/exporter.pmc
    M src/pmc/filehandle.pmc
    M src/pmc/fixedbooleanarray.pmc
    M src/pmc/fixedfloatarray.pmc
    M src/pmc/fixedintegerarray.pmc
    M src/pmc/fixedpmcarray.pmc
    M src/pmc/fixedstringarray.pmc
    M src/pmc/float.pmc
    M src/pmc/hash.pmc
    M src/pmc/hashiterator.pmc
    M src/pmc/hashiteratorkey.pmc
    M src/pmc/imageiofreeze.pmc
    M src/pmc/imageiosize.pmc
    M src/pmc/imageiostrings.pmc
    M src/pmc/imageiothaw.pmc
    M src/pmc/imccompiler.pmc
    M src/pmc/integer.pmc
    M src/pmc/iterator.pmc
    M src/pmc/key.pmc
    M src/pmc/lexinfo.pmc
    M src/pmc/lexpad.pmc
    M src/pmc/mappedbytearray.pmc
    M src/pmc/multisub.pmc
    M src/pmc/namespace.pmc
    M src/pmc/nativepccmethod.pmc
    M src/pmc/nci.pmc
    M src/pmc/null.pmc
    M src/pmc/object.pmc
    M src/pmc/oplib.pmc
    M src/pmc/orderedhash.pmc
    M src/pmc/orderedhashiterator.pmc
    M src/pmc/packfile.pmc
    M src/pmc/packfileannotation.pmc
    M src/pmc/packfileannotations.pmc
    M src/pmc/packfilebytecodesegment.pmc
    M src/pmc/packfileconstanttable.pmc
    M src/pmc/packfiledebug.pmc
    M src/pmc/packfiledirectory.pmc
    M src/pmc/packfileopmap.pmc
    M src/pmc/packfilerawsegment.pmc
    M src/pmc/packfilesegment.pmc
    M src/pmc/packfileview.pmc
    M src/pmc/parrotinterpreter.pmc
    M src/pmc/parrotlibrary.pmc
    M src/pmc/pmclist.pmc
    M src/pmc/pmcproxy.pmc
    M src/pmc/pointer.pmc
    M src/pmc/proxy.pmc
    M src/pmc/ptr.pmc
    M src/pmc/ptrbuf.pmc
    M src/pmc/ptrobj.pmc
    M src/pmc/resizablebooleanarray.pmc
    M src/pmc/resizablepmcarray.pmc
    M src/pmc/role.pmc
    M src/pmc/scalar.pmc
    M src/pmc/scheduler.pmc
    M src/pmc/schedulermessage.pmc
    M src/pmc/socket.pmc
    M src/pmc/string.pmc
    M src/pmc/stringbuilder.pmc
    M src/pmc/stringhandle.pmc
    M src/pmc/stringiterator.pmc
    M src/pmc/structview.pmc
    M src/pmc/sub.pmc
    M src/pmc/task.pmc
    M src/pmc/timer.pmc
    M src/pmc/undef.pmc
    M src/pmc/unmanagedstruct.pmc
    M src/vtable.tbl

  Log Message:
  -----------
  [pmc] Fixup most WBs. :no_wb for all non-writers, ... [1/2]

:manual_wb on VTABLE method calls on SELF which to a WB (avoid duplicates).
See new description at https://github.com/parrot/parrot/issues/1069


  Commit: f6bc0cc21891ade93d1f07571d934c858ac4ab18
      https://github.com/parrot/parrot/commit/f6bc0cc21891ade93d1f07571d934c858ac4ab18
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-30 (Fri, 30 May 2014)

  Changed paths:
    M src/pmc/bignum.pmc
    M src/pmc/boolean.pmc
    M src/pmc/handle.pmc
    M src/pmc/hashiteratorkey.pmc
    M src/pmc/imageiofreeze.pmc
    M src/pmc/imageiosize.pmc
    M src/pmc/imageiostrings.pmc
    M src/pmc/key.pmc
    M src/pmc/lexpad.pmc
    M src/pmc/managedstruct.pmc
    M src/pmc/mappedbytearray.pmc
    M src/pmc/namespace.pmc
    M src/pmc/opcode.pmc
    M src/pmc/oplib.pmc
    M src/pmc/packfile.pmc
    M src/pmc/packfileannotation.pmc
    M src/pmc/packfileannotations.pmc
    M src/pmc/packfilebytecodesegment.pmc
    M src/pmc/packfileconstanttable.pmc
    M src/pmc/packfiledebug.pmc
    M src/pmc/packfiledirectory.pmc
    M src/pmc/packfileopmap.pmc
    M src/pmc/packfilerawsegment.pmc
    M src/pmc/packfilesegment.pmc
    M src/pmc/packfileview.pmc
    M src/pmc/parrotlibrary.pmc
    M src/pmc/pointer.pmc
    M src/pmc/proxy.pmc
    M src/pmc/ptr.pmc
    M src/pmc/ptrobj.pmc
    M src/pmc/resizablebooleanarray.pmc
    M src/pmc/resizablefloatarray.pmc
    M src/pmc/resizableintegerarray.pmc
    M src/pmc/resizablestringarray.pmc
    M src/pmc/sockaddr.pmc
    M src/pmc/socket.pmc
    M src/pmc/stringhandle.pmc
    M src/pmc/stringiterator.pmc
    M src/pmc/structview.pmc
    M src/pmc/undef.pmc
    M src/pmc/unmanagedstruct.pmc

  Log Message:
  -----------
  [pmc] Fixup most WBs [2/2]

:no_wb on non-writers, :manual_wb on VTABLE method calls on SELF which to a WB (avoid duplicates).
See new description at https://github.com/parrot/parrot/issues/1069
Some UNUSED missing.

Still the same 2 regressions:
t/op/gc.t                                 (Wstat: 11 Tests: 19 Failed: 0)
  Non-zero wait status: 11
  Parse errors: No plan found in TAP output
t/pmc/namespace-old.t                     (Wstat: 1024 Tests: 38 Failed: 4)
  Failed tests:  27-30
  Non-zero exit status: 4


  Commit: 287f95152f05eeac27bc85e52bc70cc7cf086338
      https://github.com/parrot/parrot/commit/287f95152f05eeac27bc85e52bc70cc7cf086338
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-30 (Fri, 30 May 2014)

  Changed paths:
    M src/pmc/bigint.pmc
    M src/pmc/env.pmc
    M src/pmc/handle.pmc
    M src/pmc/imageiosize.pmc
    M src/pmc/imccompiler.pmc
    M src/pmc/iterator.pmc
    M src/pmc/lexpad.pmc
    M src/pmc/parrotlibrary.pmc
    M src/pmc/task.pmc
    M src/pmc/unmanagedstruct.pmc

  Log Message:
  -----------
  [pmc] add more UNUSED for :no_wb methods

also remove a wrong task WB


  Commit: 17396b2a7bb99f284185c884d31a940ddcbbc60b
      https://github.com/parrot/parrot/commit/17396b2a7bb99f284185c884d31a940ddcbbc60b
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-06-02 (Mon, 02 Jun 2014)

  Changed paths:
    M src/pmc/class.pmc

  Log Message:
  -----------
  [pmc] fix class WBs, detected by ZYROz

isa_pmc, freeze have a manual WBs
thawfinish, remove_attribute indirectly via build_attrib_index
name needs one for the write case


  Commit: 3aaa8250d6d5b86d0bca5c8deb3c053be446952b
      https://github.com/parrot/parrot/commit/3aaa8250d6d5b86d0bca5c8deb3c053be446952b
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-06-02 (Mon, 02 Jun 2014)

  Changed paths:
    M lib/Parrot/Pmc2c/PCCMETHOD.pm

  Log Message:
  -----------
  [pmc2c] fix del_namespace. require {} around WB return

there exist many methods without proper {} blocks for RETURN().

grep -B1 "RETURN(" src/pmc/*.pmc|grep -A1 "if "|grep -v "{"
such as:
src/pmc/namespace.pmc-        if (PMC_IS_NULL(ns))
src/pmc/namespace.pmc:            RETURN(void);


  Commit: 30091680b710c8f74d517824c4c48df8e2f85c14
      https://github.com/parrot/parrot/commit/30091680b710c8f74d517824c4c48df8e2f85c14
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-06-02 (Mon, 02 Jun 2014)

  Changed paths:
    M src/pmc/default.pmc
    M src/pmc/hashiterator.pmc
    M src/pmc/imageiothaw.pmc
    M src/pmc/key.pmc
    M src/pmc/object.pmc
    M src/pmc/pmclist.pmc
    M src/pmc/resizablepmcarray.pmc

  Log Message:
  -----------
  [codingstd] fix trailing whitespace

and remove one too much WB in pmclist.shift_pmc


  Commit: b06fb011a81b4628ba17f99f6c1c9663df51e616
      https://github.com/parrot/parrot/commit/b06fb011a81b4628ba17f99f6c1c9663df51e616
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-06-03 (Tue, 03 Jun 2014)

  Changed paths:
    M src/pmc/addrregistry.pmc
    M src/pmc/arrayiterator.pmc
    M src/pmc/bigint.pmc
    M src/pmc/bignum.pmc
    M src/pmc/boolean.pmc
    M src/pmc/bytebuffer.pmc
    M src/pmc/capture.pmc
    M src/pmc/class.pmc
    M src/pmc/complex.pmc

  Log Message:
  -----------
  [pmc] Changed WB annotations a*-c*.pmc


  Commit: 0a485a02852c27ee44f1172c58ffd794e45677bc
      https://github.com/parrot/parrot/commit/0a485a02852c27ee44f1172c58ffd794e45677bc
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-06-03 (Tue, 03 Jun 2014)

  Changed paths:
    M src/pmc/complex.pmc
    M src/pmc/default.pmc
    M src/pmc/env.pmc
    M src/pmc/filehandle.pmc
    M src/pmc/fixedbooleanarray.pmc
    M src/pmc/fixedfloatarray.pmc
    M src/pmc/fixedintegerarray.pmc
    M src/pmc/fixedpmcarray.pmc
    M src/pmc/fixedstringarray.pmc

  Log Message:
  -----------
  [pmc] Changed WB annotations c*-f*.pmc


  Commit: 02dcf1c9ef227630ccf4d58872d34fb3f08a42ce
      https://github.com/parrot/parrot/commit/02dcf1c9ef227630ccf4d58872d34fb3f08a42ce
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-06-03 (Tue, 03 Jun 2014)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  .gitignore: add local .perldb helper

so that git clean -dxf will not wipe it.


Compare: https://github.com/parrot/parrot/compare/3e7b3a9d6dfe^...02dcf1c9ef22


More information about the parrot-commits mailing list