[parrot/parrot] b3994f: [pmc2c] inline gc write barriers into vtable metho...

GitHub noreply at github.com
Thu May 29 19:16:20 UTC 2014


  Branch: refs/heads/rurban/pmc2c_orig
  Home:   https://github.com/parrot/parrot
  Commit: b3994f904f51a65b20be08aa0df7bb5b6c1946a3
      https://github.com/parrot/parrot/commit/b3994f904f51a65b20be08aa0df7bb5b6c1946a3
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M lib/Parrot/Pmc2c/Emitter.pm
    M lib/Parrot/Pmc2c/Method.pm
    M lib/Parrot/Pmc2c/PCCMETHOD.pm
    M lib/Parrot/Pmc2c/PMC.pm
    M lib/Parrot/Pmc2c/PMC/Object.pm
    M lib/Parrot/Pmc2c/Parser.pm
    M src/io/io_private.h
    M src/pmc/alarm.pmc
    M src/pmc/arrayiterator.pmc
    M src/pmc/bigint.pmc
    M src/pmc/boolean.pmc
    M src/pmc/bytebuffer.pmc
    M src/pmc/continuation.pmc
    M src/pmc/env.pmc
    M src/pmc/eventhandler.pmc
    M src/pmc/exception.pmc
    M src/pmc/exceptionhandler.pmc
    M src/pmc/fixedbooleanarray.pmc
    M src/pmc/fixedintegerarray.pmc
    M src/pmc/handle.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/lexpad.pmc
    M src/pmc/managedstruct.pmc
    M src/pmc/nativepccmethod.pmc
    M src/pmc/nci.pmc
    M src/pmc/object.pmc
    M src/pmc/opcode.pmc
    M src/pmc/oplib.pmc
    M src/pmc/packfileannotation.pmc
    M src/pmc/packfilesegment.pmc
    M src/pmc/packfileview.pmc
    M src/pmc/parrotinterpreter.pmc
    M src/pmc/parrotlibrary.pmc
    M src/pmc/pointer.pmc
    M src/pmc/ptrbuf.pmc
    M src/pmc/resizablepmcarray.pmc
    M src/pmc/scheduler.pmc
    M src/pmc/schedulermessage.pmc
    M src/pmc/sockaddr.pmc
    M src/pmc/sub.pmc
    M src/pmc/task.pmc
    M src/pmc/unmanagedstruct.pmc

  Log Message:
  -----------
  [pmc2c] inline gc write barriers into vtable methods

:no_wb detection of :manual_wb, allow RETURN(decl var) also for VTABLE methods

add_write_barrier() now calls Parrot::Pmc2c::PCCMETHOD::rewrite_RETURNS.
Also add automatic WB for 0 or 1 return statements in the method body.
Other need either a RETURN or :manual_wb or :no_wb annotations.

Set manual_wb for :no_wb and PARROT_GC_WRITE_BARRIER in --dump
Detect it now earlier, in the parser

Missing write barriers typically cause the following errors:
t/examples/shootout.t: 16 examples/shootout/regexdna.pir SEGV
t/op/gc.t
t/pmc/*.t


  Commit: 8080670b38a8feb935f178cdc3f40fdd22ca9500
      https://github.com/parrot/parrot/commit/8080670b38a8feb935f178cdc3f40fdd22ca9500
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M src/pmc/arrayiterator.pmc
    M src/pmc/capture.pmc

  Log Message:
  -----------
  [pmc] partially use new WB markers


  Commit: 3ec013e659c3e3a19089894d0a9bf0c2a190e907
      https://github.com/parrot/parrot/commit/3ec013e659c3e3a19089894d0a9bf0c2a190e907
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    A .project
    M src/pmc/arrayiterator.pmc

  Log Message:
  -----------
  [pmc] GSOC start. arrayiterator :no_wb, removed unnecessary :manual_wb

Start of GSOC 2014 work. Task 1: improve GC write barriers.
See GH issue #1069


  Commit: 3291082ba6421f2ed96bd7e35df1f03648d7c2eb
      https://github.com/parrot/parrot/commit/3291082ba6421f2ed96bd7e35df1f03648d7c2eb
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M src/pmc/callcontext.pmc

  Log Message:
  -----------
  [pmc] callcontext: manual WBs for shift_pmc & shift_string


  Commit: 3414add0e034f829affa5ce22be23861e68da4fd
      https://github.com/parrot/parrot/commit/3414add0e034f829affa5ce22be23861e68da4fd
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M src/pmc/key.pmc
    M src/pmc/task.pmc

  Log Message:
  -----------
  [pmc] key, task: manual WBs for shift_*, pop_*


  Commit: c4d87f4bd972727b3d07430618863c6436fb13b8
      https://github.com/parrot/parrot/commit/c4d87f4bd972727b3d07430618863c6436fb13b8
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M src/pmc/arrayiterator.pmc
    M src/pmc/callcontext.pmc

  Log Message:
  -----------
  [pmc] callcontext :no_wb and :manual_wb


  Commit: 1d49760b0888a555090b5b7bd05eb04b7c1cf755
      https://github.com/parrot/parrot/commit/1d49760b0888a555090b5b7bd05eb04b7c1cf755
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M src/pmc/key.pmc

  Log Message:
  -----------
  [pmc] key WBs


  Commit: c84f90d6cbdc4349cbf8a8c3e67434551dfa66b1
      https://github.com/parrot/parrot/commit/c84f90d6cbdc4349cbf8a8c3e67434551dfa66b1
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M src/pmc/arrayiterator.pmc
    M src/pmc/callcontext.pmc
    M src/pmc/key.pmc
    M src/pmc/task.pmc

  Log Message:
  -----------
  [pmc] arrayiterator, callcontext, key, task: WBs


  Commit: 19f68201d8ef18284fdb3e6252c2c8f2bdb62843
      https://github.com/parrot/parrot/commit/19f68201d8ef18284fdb3e6252c2c8f2bdb62843
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M src/pmc/capture.pmc
    M src/pmc/hashiterator.pmc
    M src/pmc/imageiothaw.pmc

  Log Message:
  -----------
  [pmc] capture, HashIterator, ImageIoThaw: WBs


  Commit: 8936d7352cff96dfb1fa8358f93e04deb36fe8a5
      https://github.com/parrot/parrot/commit/8936d7352cff96dfb1fa8358f93e04deb36fe8a5
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M src/pmc/default.pmc
    M src/pmc/object.pmc
    M src/pmc/orderedhashiterator.pmc
    M src/pmc/pmclist.pmc
    M src/pmc/resizablepmcarray.pmc

  Log Message:
  -----------
  [pmc] default, object, orderedHashIterator, pmcList, resizablePmcArray: WBs


  Commit: 957a20b5f8b28b48d58d4a5cf4607668b5f4bf9d
      https://github.com/parrot/parrot/commit/957a20b5f8b28b48d58d4a5cf4607668b5f4bf9d
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-29 (Thu, 29 May 2014)

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

  Log Message:
  -----------
  [pmc] fix some mixed c99 declarations with generated WBs

DEBUGGED - ISO C90 forbids mixed declarations =
Solved by adding WB after declarations ; expected declaration specifiers before ‘:’ token
Solved by removing :no_wb attributes for the flagged functions


  Commit: dd93d75fffc65962f5fe13c7f9b9d90120bec649
      https://github.com/parrot/parrot/commit/dd93d75fffc65962f5fe13c7f9b9d90120bec649
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M src/pmc/task.pmc

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


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

  Changed paths:
    M src/pmc/fixedintegerarray.pmc
    M src/pmc/fixedstringarray.pmc

  Log Message:
  -----------
  [pmc] add RETURN and WB attrs to fixedintegerarray, fixedstringarray


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

  Changed paths:
    M src/pmc/callcontext.pmc

  Log Message:
  -----------
  [pmc] re-add some WBs to callcontext


  Commit: 556b82703a43bb3b5f01ce83b3b88b552fad06e1
      https://github.com/parrot/parrot/commit/556b82703a43bb3b5f01ce83b3b88b552fad06e1
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-29 (Thu, 29 May 2014)

  Changed paths:
    M src/pmc/class.pmc
    M src/pmc/imccompiler.pmc
    M src/pmc/key.pmc
    M src/pmc/namespace.pmc
    M src/pmc/nci.pmc
    M src/pmc/opcode.pmc
    M src/pmc/packfileview.pmc
    M src/pmc/parrotlibrary.pmc
    M src/pmc/sockaddr.pmc
    M src/pmc/socket.pmc
    M src/pmc/timer.pmc

  Log Message:
  -----------
  [pmc] fix wrong C99 UNUSED macros and add a few :no_wb

class,imccompiler,key,namespace,nci,opcode,packfileview,parrotlibrary,
sockaddr,socket,timer


Compare: https://github.com/parrot/parrot/compare/116764ca8a0b...556b82703a43


More information about the parrot-commits mailing list