[parrot/parrot] 481d8e: pmc2c: inline gc write barrier into vtable methods
GitHub
noreply at github.com
Fri May 23 18:59:34 UTC 2014
Branch: refs/heads/rurban/pmc2c_orig
Home: https://github.com/parrot/parrot
Commit: 481d8e52fbdb911c3fa7103cf7cccdd6a346b3ca
https://github.com/parrot/parrot/commit/481d8e52fbdb911c3fa7103cf7cccdd6a346b3ca
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-05-23 (Fri, 23 May 2014)
Changed paths:
M lib/Parrot/Pmc2c/Emitter.pm
M lib/Parrot/Pmc2c/Method.pm
M lib/Parrot/Pmc2c/PMC.pm
M lib/Parrot/Pmc2c/PMC/Object.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 barrier into vtable methods
removed wrong UNUSED(INTERP) and UNUSED(SELF)
some methods with return values are marked TODO, need to add the write barriers manually.
A missing write barrier caused one error:
t/examples/shootout.t: 16 examples/shootout/regexdna.pir SEGV
TODO GC write barrier to:
default.pop_float
default.pop_integer
default.pop_pmc
default.pop_string
default.shift_float
default.shift_integer
default.shift_pmc
default.shift_string
CallContext.shift_pmc
CallContext.shift_string
Key.shift_pmc
ArrayIterator.pop_float
ArrayIterator.pop_integer
ArrayIterator.pop_pmc
ArrayIterator.pop_string
ArrayIterator.shift_float
ArrayIterator.shift_integer
ArrayIterator.shift_pmc
ArrayIterator.shift_string
Task.pop_pmc
Capture.pop_float
Capture.pop_integer
Capture.pop_pmc
Capture.pop_string
Capture.shift_float
Capture.shift_integer
Capture.shift_pmc
Capture.shift_string
HashIterator.shift_integer
HashIterator.shift_pmc
HashIterator.shift_string
ImageIOThaw.shift_float
ImageIOThaw.shift_integer
ImageIOThaw.shift_pmc
ImageIOThaw.shift_string
ResizablePMCArray.pop_float
ResizablePMCArray.pop_integer
ResizablePMCArray.pop_pmc
ResizablePMCArray.pop_string
ResizablePMCArray.shift_float
ResizablePMCArray.shift_integer
ResizablePMCArray.shift_pmc
ResizablePMCArray.shift_string
Object.pop_float
Object.pop_integer
Object.pop_pmc
Object.pop_string
Object.shift_float
Object.shift_integer
Object.shift_pmc
Object.shift_string
OrderedHashIterator.pop_pmc
OrderedHashIterator.shift_pmc
OrderedHashIterator.shift_string
PMCList.pop_pmc
PMCList.shift_pmc
ResizableBooleanArray.pop_integer
ResizableBooleanArray.shift_integer
ResizableFloatArray.pop_float
ResizableFloatArray.shift_float
ResizableIntegerArray.pop_integer
ResizableIntegerArray.shift_integer
ResizableStringArray.pop_float
ResizableStringArray.pop_integer
ResizableStringArray.pop_pmc
ResizableStringArray.pop_string
ResizableStringArray.shift_float
ResizableStringArray.shift_integer
ResizableStringArray.shift_pmc
ResizableStringArray.shift_string
Scheduler.shift_pmc
StringIterator.pop_integer
StringIterator.pop_pmc
StringIterator.pop_string
StringIterator.shift_integer
StringIterator.shift_pmc
StringIterator.shift_string
Commit: ff48a76a873ae9a876dc0201db15a2b8de1d8473
https://github.com/parrot/parrot/commit/ff48a76a873ae9a876dc0201db15a2b8de1d8473
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-05-23 (Fri, 23 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
Log Message:
-----------
[pmc2c] WIP :no_wb, detection of :manual_wb, RETURN() also for VTABLE methods
add_write_barrier now calls Parrot::Pmc2c::PCCMETHOD::rewrite_RETURNs, but
this does not work yet.
Commit: 3fbedadf91dc12af955d1687969d4f02e6748a80
https://github.com/parrot/parrot/commit/3fbedadf91dc12af955d1687969d4f02e6748a80
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-05-23 (Fri, 23 May 2014)
Changed paths:
M src/pmc/arrayiterator.pmc
M src/pmc/capture.pmc
Log Message:
-----------
[pmc] partially use new WB markers
Commit: 2b6a48fe3bf5a4cd0bb0118a66fefcae99d8944a
https://github.com/parrot/parrot/commit/2b6a48fe3bf5a4cd0bb0118a66fefcae99d8944a
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-05-23 (Fri, 23 May 2014)
Changed paths:
M lib/Parrot/Pmc2c/Parser.pm
Log Message:
-----------
[pmc2c] set manual_wb for :no_wb and PARROT_GC_WRITE_BARRIER in --dump
detect it now earlier, in the parser
Commit: dc3b2e49f067afec981ec4d13e9c9458105d1550
https://github.com/parrot/parrot/commit/dc3b2e49f067afec981ec4d13e9c9458105d1550
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-05-23 (Fri, 23 May 2014)
Changed paths:
M lib/Parrot/Pmc2c/Method.pm
Log Message:
-----------
[pmc2c] small decl optimization
Commit: 075d1b019fb42d80d48f89ba12f0e14c68295986
https://github.com/parrot/parrot/commit/075d1b019fb42d80d48f89ba12f0e14c68295986
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-05-23 (Fri, 23 May 2014)
Changed paths:
M lib/Parrot/Pmc2c/Emitter.pm
Log Message:
-----------
[codingstd] fix a cuddled else
Compare: https://github.com/parrot/parrot/compare/b10192cd003f...075d1b019fb4
More information about the parrot-commits
mailing list