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

GitHub noreply at github.com
Tue May 27 23:12:09 UTC 2014


  Branch: refs/heads/rurban/pmc2c_orig
  Home:   https://github.com/parrot/parrot
  Commit: dc29fe274b7f03a1b20fb5fd341f108eb64c74e8
      https://github.com/parrot/parrot/commit/dc29fe274b7f03a1b20fb5fd341f108eb64c74e8
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-27 (Tue, 27 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: 763d9c491167602c974b788ba3a604bd6c8fae5c
      https://github.com/parrot/parrot/commit/763d9c491167602c974b788ba3a604bd6c8fae5c
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-27 (Tue, 27 May 2014)

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

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


  Commit: 25bd9779a9772d579beed97d809c83cc3b78d920
      https://github.com/parrot/parrot/commit/25bd9779a9772d579beed97d809c83cc3b78d920
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-27 (Tue, 27 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: 23b85ba99f7c7340ca731c7a23914c5fba570f81
      https://github.com/parrot/parrot/commit/23b85ba99f7c7340ca731c7a23914c5fba570f81
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-27 (Tue, 27 May 2014)

  Changed paths:
    M src/pmc/callcontext.pmc

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


  Commit: 30f15be3f3929ef66c75c1683d7027311729df20
      https://github.com/parrot/parrot/commit/30f15be3f3929ef66c75c1683d7027311729df20
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-27 (Tue, 27 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: 815b22b7710a65723ba84818ac26a244f4e9eebe
      https://github.com/parrot/parrot/commit/815b22b7710a65723ba84818ac26a244f4e9eebe
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-27 (Tue, 27 May 2014)

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

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


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

  Changed paths:
    M src/pmc/key.pmc

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


  Commit: b3ecab392da08f22d28a7bc3b4b0036c31fb68e2
      https://github.com/parrot/parrot/commit/b3ecab392da08f22d28a7bc3b4b0036c31fb68e2
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-27 (Tue, 27 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: 213411d596aa5799ee3e6079b6aadbb933a97774
      https://github.com/parrot/parrot/commit/213411d596aa5799ee3e6079b6aadbb933a97774
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-27 (Tue, 27 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: bdf04290eb84115c8d01c400c5c55235da3d2e42
      https://github.com/parrot/parrot/commit/bdf04290eb84115c8d01c400c5c55235da3d2e42
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-27 (Tue, 27 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: a7c7d544a1a037c675ad2d0e81dd0bf15ecc94ee
      https://github.com/parrot/parrot/commit/a7c7d544a1a037c675ad2d0e81dd0bf15ecc94ee
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-27 (Tue, 27 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: a30bc252327d757c9fa0ce62ca1fbac03477685f
      https://github.com/parrot/parrot/commit/a30bc252327d757c9fa0ce62ca1fbac03477685f
  Author: ZYROz <ZYROz at users.noreply.github.com>
  Date:   2014-05-27 (Tue, 27 May 2014)

  Changed paths:
    M src/pmc/task.pmc

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


  Commit: 609e5491a973611d1932bceb5a528abad9fc60f4
      https://github.com/parrot/parrot/commit/609e5491a973611d1932bceb5a528abad9fc60f4
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-27 (Tue, 27 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: 8a3a4da2c82ef3911e321566a7b5c8f1ad640da1
      https://github.com/parrot/parrot/commit/8a3a4da2c82ef3911e321566a7b5c8f1ad640da1
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-27 (Tue, 27 May 2014)

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

  Log Message:
  -----------
  pmc2c fixup


  Commit: 707ec5c769a6f649acd3099404c9545667b34c14
      https://github.com/parrot/parrot/commit/707ec5c769a6f649acd3099404c9545667b34c14
  Author: Reini Urban <rurban at cpanel.net>
  Date:   2014-05-27 (Tue, 27 May 2014)

  Changed paths:
    M src/pmc/callcontext.pmc

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


Compare: https://github.com/parrot/parrot/compare/075d1b019fb4...707ec5c769a6


More information about the parrot-commits mailing list