[svn:parrot] r36589 - in branches/kill_pccinvoke: . config/auto/format config/gen/makefiles config/init/hints docs/book docs/dev examples/benchmarks examples/library examples/pir ext/Parrot-Embed/t include/parrot languages/PIR languages/befunge languages/ecmascript/t/sanity_pt languages/lua/t/test languages/pipp languages/pipp/config/makefiles languages/pipp/docs languages/pipp/src/classes languages/pipp/src/common languages/pipp/src/pmc languages/pipp/t languages/pipp/t/embed languages/pipp/t/php lib/Parrot src src/dynpmc src/gc src/io src/ops src/pmc t/benchmark t/compilers/tge t/dynpmc t/oo t/op t/pmc t/src tools/dev tools/util

allison at svn.parrot.org allison at svn.parrot.org
Wed Feb 11 19:53:13 UTC 2009


Author: allison
Date: Wed Feb 11 19:53:09 2009
New Revision: 36589
URL: https://trac.parrot.org/parrot/changeset/36589

Log:
[pcc] Bringing the kill_pccinvoke branch up-to-date with trunk r36588.

Modified:
   branches/kill_pccinvoke/   (props changed)
   branches/kill_pccinvoke/DEPRECATED.pod
   branches/kill_pccinvoke/config/auto/format/intval_maxmin_c.in   (props changed)
   branches/kill_pccinvoke/config/gen/makefiles/root.in
   branches/kill_pccinvoke/config/init/hints/solaris.pm
   branches/kill_pccinvoke/docs/book/ch03_pir_basics.pod
   branches/kill_pccinvoke/docs/book/ch07_testing_and_debugging.pod   (props changed)
   branches/kill_pccinvoke/docs/book/ch08_architecture.pod   (props changed)
   branches/kill_pccinvoke/docs/book/ch09_pct.pod   (props changed)
   branches/kill_pccinvoke/docs/book/ch10_hlls.pod   (props changed)
   branches/kill_pccinvoke/docs/book/ch11_pmcs.pod   (props changed)
   branches/kill_pccinvoke/docs/book/ch12_opcodes.pod   (props changed)
   branches/kill_pccinvoke/docs/book/ch13_reference.pod   (props changed)
   branches/kill_pccinvoke/docs/dev/c_functions.pod   (props changed)
   branches/kill_pccinvoke/examples/benchmarks/bench_newp.pasm
   branches/kill_pccinvoke/examples/benchmarks/gc_alloc_new.pasm
   branches/kill_pccinvoke/examples/benchmarks/gc_alloc_reuse.pasm
   branches/kill_pccinvoke/examples/benchmarks/gc_generations.pasm
   branches/kill_pccinvoke/examples/benchmarks/gc_header_new.pasm
   branches/kill_pccinvoke/examples/benchmarks/gc_header_reuse.pasm
   branches/kill_pccinvoke/examples/benchmarks/gc_waves_headers.pasm
   branches/kill_pccinvoke/examples/benchmarks/gc_waves_sizeable_data.pasm
   branches/kill_pccinvoke/examples/benchmarks/gc_waves_sizeable_headers.pasm
   branches/kill_pccinvoke/examples/benchmarks/stress.pasm
   branches/kill_pccinvoke/examples/benchmarks/stress1.pasm
   branches/kill_pccinvoke/examples/benchmarks/stress3.pasm
   branches/kill_pccinvoke/examples/library/ncurses_life.pir
   branches/kill_pccinvoke/examples/pir/life.pir
   branches/kill_pccinvoke/examples/pir/thr-primes.pir
   branches/kill_pccinvoke/ext/Parrot-Embed/t/languages.t
   branches/kill_pccinvoke/include/parrot/gc_api.h   (contents, props changed)
   branches/kill_pccinvoke/include/parrot/gc_mark_sweep.h   (props changed)
   branches/kill_pccinvoke/include/parrot/gc_pools.h   (props changed)
   branches/kill_pccinvoke/include/parrot/string.h
   branches/kill_pccinvoke/include/parrot/thread.h
   branches/kill_pccinvoke/languages/PIR/pir.pir   (props changed)
   branches/kill_pccinvoke/languages/befunge/Configure.pl   (props changed)
   branches/kill_pccinvoke/languages/ecmascript/t/sanity_pt/03-boolean.t   (props changed)
   branches/kill_pccinvoke/languages/lua/t/test/bisect-output-win32.txt   (props changed)
   branches/kill_pccinvoke/languages/pipp/config/makefiles/root.in
   branches/kill_pccinvoke/languages/pipp/docs/internals.pod   (contents, props changed)
   branches/kill_pccinvoke/languages/pipp/docs/pipp.pod
   branches/kill_pccinvoke/languages/pipp/docs/testing.pod
   branches/kill_pccinvoke/languages/pipp/pipp.pir   (props changed)
   branches/kill_pccinvoke/languages/pipp/src/classes/Object.pir   (props changed)
   branches/kill_pccinvoke/languages/pipp/src/common/php_filesystem.pir   (props changed)
   branches/kill_pccinvoke/languages/pipp/src/pmc/pipp_hash.c   (props changed)
   branches/kill_pccinvoke/languages/pipp/src/pmc/pipp_hash.h   (props changed)
   branches/kill_pccinvoke/languages/pipp/t/embed/eval.t   (props changed)
   branches/kill_pccinvoke/languages/pipp/t/harness
   branches/kill_pccinvoke/languages/pipp/t/php/arithmetics.t
   branches/kill_pccinvoke/languages/pipp/t/php/array.t
   branches/kill_pccinvoke/languages/pipp/t/php/closures.t
   branches/kill_pccinvoke/languages/pipp/t/php/comments.t
   branches/kill_pccinvoke/languages/pipp/t/php/concat.t
   branches/kill_pccinvoke/languages/pipp/t/php/control_flow.t
   branches/kill_pccinvoke/languages/pipp/t/php/filesystem.t   (props changed)
   branches/kill_pccinvoke/languages/pipp/t/php/functions.t
   branches/kill_pccinvoke/languages/pipp/t/php/hello.t
   branches/kill_pccinvoke/languages/pipp/t/php/namespace.t
   branches/kill_pccinvoke/languages/pipp/t/php/oo.t
   branches/kill_pccinvoke/languages/pipp/t/php/references.t
   branches/kill_pccinvoke/languages/pipp/t/php/relops.t
   branches/kill_pccinvoke/languages/pipp/t/php/string.t
   branches/kill_pccinvoke/languages/pipp/t/php/superglobals.t
   branches/kill_pccinvoke/languages/pipp/t/php/tags.t
   branches/kill_pccinvoke/languages/pipp/t/php/type.t
   branches/kill_pccinvoke/lib/Parrot/Manifest.pm
   branches/kill_pccinvoke/src/dynpmc/pair.pmc   (props changed)
   branches/kill_pccinvoke/src/dynpmc/rational.pmc
   branches/kill_pccinvoke/src/gc/api.c   (contents, props changed)
   branches/kill_pccinvoke/src/gc/generational_ms.c   (props changed)
   branches/kill_pccinvoke/src/gc/incremental_ms.c   (props changed)
   branches/kill_pccinvoke/src/gc/mark_sweep.c   (contents, props changed)
   branches/kill_pccinvoke/src/gc/pools.c   (props changed)
   branches/kill_pccinvoke/src/gc/system.c   (props changed)
   branches/kill_pccinvoke/src/io/win32.c
   branches/kill_pccinvoke/src/ops/experimental.ops
   branches/kill_pccinvoke/src/ops/pic.ops
   branches/kill_pccinvoke/src/pmc/bigint.pmc
   branches/kill_pccinvoke/src/pmc/bignum.pmc
   branches/kill_pccinvoke/src/pmc/class.pmc
   branches/kill_pccinvoke/src/pmc/complex.pmc
   branches/kill_pccinvoke/src/pmc/default.pmc
   branches/kill_pccinvoke/src/pmc/float.pmc
   branches/kill_pccinvoke/src/pmc/integer.pmc
   branches/kill_pccinvoke/src/pmc/namespace.pmc
   branches/kill_pccinvoke/src/pmc/object.pmc
   branches/kill_pccinvoke/src/pmc/pointer.pmc
   branches/kill_pccinvoke/src/pmc/ref.pmc
   branches/kill_pccinvoke/src/pmc/scalar.pmc
   branches/kill_pccinvoke/src/pmc/undef.pmc
   branches/kill_pccinvoke/src/runops_cores.c
   branches/kill_pccinvoke/src/thread.c
   branches/kill_pccinvoke/src/vtable.tbl
   branches/kill_pccinvoke/t/benchmark/benchmarks.t
   branches/kill_pccinvoke/t/compilers/tge/NoneGrammar.tg   (props changed)
   branches/kill_pccinvoke/t/dynpmc/pair.t   (props changed)
   branches/kill_pccinvoke/t/oo/vtableoverride.t
   branches/kill_pccinvoke/t/op/arithmetics.t
   branches/kill_pccinvoke/t/pmc/complex.t
   branches/kill_pccinvoke/t/pmc/float.t
   branches/kill_pccinvoke/t/pmc/namespace.t
   branches/kill_pccinvoke/t/pmc/undef.t
   branches/kill_pccinvoke/t/src/embed.t   (props changed)
   branches/kill_pccinvoke/tools/dev/mk_gitignore.pl   (props changed)
   branches/kill_pccinvoke/tools/util/perlcritic-cage.conf   (props changed)

Modified: branches/kill_pccinvoke/DEPRECATED.pod
==============================================================================
--- branches/kill_pccinvoke/DEPRECATED.pod	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/DEPRECATED.pod	Wed Feb 11 19:53:09 2009	(r36589)
@@ -21,6 +21,16 @@
 warnings. You can use C<make warnings_tests> to run the standard test suite
 with this option.
 
+=head1 Command line options
+
+=over 4
+
+=item * Remove individual runcore command line flags...
+
+See RT #46503.
+
+=back
+
 =head1 Languages
 
 =over 4

Modified: branches/kill_pccinvoke/config/gen/makefiles/root.in
==============================================================================
--- branches/kill_pccinvoke/config/gen/makefiles/root.in	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/config/gen/makefiles/root.in	Wed Feb 11 19:53:09 2009	(r36589)
@@ -226,7 +226,7 @@
     $(SRC_DIR)/nci.c \
     $(SRC_DIR)/core_ops_switch.c \
     $(SRC_DIR)/jit_cpu.c \
-    $(SRC_DIR)/parrot_config.c \
+#    $(SRC_DIR)/parrot_config.c \
     $(SRC_DIR)/null_config.c \
     $(SRC_DIR)/install_config.c \
     $(SRC_DIR)/exec_cpu.c \

Modified: branches/kill_pccinvoke/config/init/hints/solaris.pm
==============================================================================
--- branches/kill_pccinvoke/config/init/hints/solaris.pm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/config/init/hints/solaris.pm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -45,6 +45,7 @@
             }
         }
         else {
+            $link =~ s/\bcc\b/CC/;
             unless ($conf->data->get('rpath')) {
                 $conf->data->set( 'rpath', '-R' );
             }

Modified: branches/kill_pccinvoke/docs/book/ch03_pir_basics.pod
==============================================================================
--- branches/kill_pccinvoke/docs/book/ch03_pir_basics.pod	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/docs/book/ch03_pir_basics.pod	Wed Feb 11 19:53:09 2009	(r36589)
@@ -966,23 +966,93 @@
 the end. In addition to this behavior, Filehandle PMCs have a number of methods
 that can be used to perform various operations. 
 
-  $P0.'open'()
-  $P0.'isatty'()
-  $P0.'close'()
-  $P0.'is_closed'()
-  $P0.'read'()
-  $P0.'readline'()
-  $P0.'readline_interactive'()
-  $P0.'readall'()
-  $P0.'flush'()
-  $P0.'print'()
-  $P0.'puts'()
-  $P0.'buffer_tpe'()
-  $P0.'buffer_size'()
-  $P0.'mode'()
-  $P0.'encoding'()
-  $P0.'eof'()
-  $P0.'get_fd'()
+=over 4
+
+=item C<$P0.'open'(STRING filename, STRING mode)>
+
+Opens the filehandle. Takes two optional strings: the name of the file to open
+and the open mode. If no filename is given, the previous filename associated
+with the filehandle is opened. If no mode is given, the previously-used mode
+is used.
+
+=item C<$P0.'isatty'()>
+
+Returns a boolean value whether the filehandle is a TTY terminal
+
+=item C<$P0.'close'()>
+
+Closes the filehandle. Can be reopened with C<.'open'> later.
+
+=item C<$P0.'is_closed'()>
+
+Returns true if the filehandle is closed, false if it is opened.
+
+=item C<$P0.'read'(INTVAL length)>
+
+Reads C<length> bytes from the filehandle.
+
+=item C<$P0.'readline'()
+
+Reads an entire line (up to a newline character or EOF) from the filehandle.
+
+=item C<$P0.'readline_interactive'(STRING prompt)>
+
+Displays the string C<prompt> and then reads a line of input.
+
+=item C<$P0.'readall'(STRING name)>
+
+Reads the entire file C<name> into a string. If the filehandle is closed,
+it will open the file given by C<name>, read the entire file, and then close
+the handle. If the filehandle is already open, C<name> should not be passed
+(it is an optional parameter).
+
+=item C<$P0.'flush'()>
+
+Flushes the buffer
+
+=item C<$P0.'print'(PMC to_print)>
+
+Prints the given value to the filehandle
+
+=item C<$P0.'puts'(STRING to_print)>
+
+Prints the given string value to the filehandle
+
+=item C<$P0.'buffer_type'(STRING new_type)>
+
+If C<new_type> is given, changes the buffer to the new type. If it is not,
+returns the current type. Acceptable types are:
+
+  unbuffered
+  line-buffered
+  full-buffered
+
+=item C<$P0.'buffer_size'(INTVAL size)>
+
+If C<size> is given, set the size of the buffer. If not, returns the size of
+the current buffer.
+
+=item C<$P0.'mode'()>
+
+Returns the current file access mode.
+
+=item C<$P0.'encoding'(STRING encoding)>
+
+Sets the filehandle's string encoding to C<encoding> if given, returns the
+current encoding otherwise.
+
+=item C<$P0.'eof'()>
+
+Returns true if the filehandle is at the end of the current file, false
+otherwise.
+
+=item C<$P0.'get_fd'()>
+
+Returns the integer file descriptor of the current file, but only on operating
+systems that use file descriptors. Returns C<-1> on systems that do not
+support this.
+
+=back
 
 =head1 Exceptions
 

Modified: branches/kill_pccinvoke/examples/benchmarks/bench_newp.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/bench_newp.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/bench_newp.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -20,7 +20,7 @@
 
 =item * the total number of bytes allocated
 
-=item * the total of DOD runs made
+=item * the total of GC runs made
 
 =item * the total number of collection runs made
 
@@ -64,7 +64,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 	interpinfo I1, 3
 	print "A total of "
 	print I1

Modified: branches/kill_pccinvoke/examples/benchmarks/gc_alloc_new.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/gc_alloc_new.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/gc_alloc_new.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -3,7 +3,7 @@
 
 =head1 NAME
 
-examples/benchmarks/gc_alloc_new.pasm - GC/DOD Benchmark
+examples/benchmarks/gc_alloc_new.pasm - GC Benchmark
 
 =head1 SYNOPSIS
 
@@ -20,7 +20,7 @@
 
 =item * the total number of bytes allocated
 
-=item * the total of DOD runs made
+=item * the total of GC runs made
 
 =item * the total number of collection runs made
 
@@ -60,7 +60,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	interpinfo I1, 3
 	print "A total of "

Modified: branches/kill_pccinvoke/examples/benchmarks/gc_alloc_reuse.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/gc_alloc_reuse.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/gc_alloc_reuse.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -3,7 +3,7 @@
 
 =head1 NAME
 
-examples/benchmarks/gc_alloc_reuse.pasm - GC/DOD Benchmark
+examples/benchmarks/gc_alloc_reuse.pasm - GC Benchmark
 
 =head1 SYNOPSIS
 
@@ -20,7 +20,7 @@
 
 =item * the total number of bytes allocated
 
-=item * the total of DOD runs made
+=item * the total of GC runs made
 
 =item * the total number of collection runs made
 
@@ -58,7 +58,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	interpinfo I1, 3
 	print "A total of "

Modified: branches/kill_pccinvoke/examples/benchmarks/gc_generations.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/gc_generations.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/gc_generations.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -3,7 +3,7 @@
 
 =head1 NAME
 
-examples/benchmarks/gc_generations.pasm - GC/DOD Benchmark
+examples/benchmarks/gc_generations.pasm - GC Benchmark
 
 =head1 SYNOPSIS
 
@@ -20,7 +20,7 @@
 
 =item * the total number of bytes allocated
 
-=item * the total of DOD runs made
+=item * the total of GC runs made
 
 =item * the total number of collection runs made
 
@@ -96,7 +96,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	interpinfo I1, 3
 	print "A total of "

Modified: branches/kill_pccinvoke/examples/benchmarks/gc_header_new.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/gc_header_new.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/gc_header_new.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -3,7 +3,7 @@
 
 =head1 NAME
 
-examples/benchmarks/gc_header_new.pasm - GC/DOD Benchmark
+examples/benchmarks/gc_header_new.pasm - GC Benchmark
 
 =head1 SYNOPSIS
 
@@ -20,7 +20,7 @@
 
 =item * the total number of bytes allocated
 
-=item * the total of DOD runs made
+=item * the total of GC runs made
 
 =item * the total number of collection runs made
 
@@ -100,7 +100,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	interpinfo I1, 3
 	print "A total of "

Modified: branches/kill_pccinvoke/examples/benchmarks/gc_header_reuse.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/gc_header_reuse.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/gc_header_reuse.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -3,7 +3,7 @@
 
 =head1 NAME
 
-examples/benchmarks/gc_header_reuse.pasm - GC/DOD Benchmark
+examples/benchmarks/gc_header_reuse.pasm - GC Benchmark
 
 =head1 SYNOPSIS
 
@@ -19,7 +19,7 @@
 
 =item * the total number of bytes allocated
 
-=item * the total of DOD runs made
+=item * the total of GC runs made
 
 =item * the total number of collection runs made
 
@@ -65,7 +65,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	interpinfo I1, 3
 	print "A total of "

Modified: branches/kill_pccinvoke/examples/benchmarks/gc_waves_headers.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/gc_waves_headers.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/gc_waves_headers.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -3,7 +3,7 @@
 
 =head1 NAME
 
-examples/benchmarks/gc_waves_headers.pasm - GC/DOD Benchmark
+examples/benchmarks/gc_waves_headers.pasm - GC Benchmark
 
 =head1 SYNOPSIS
 
@@ -20,7 +20,7 @@
 
 =item * the total number of bytes allocated
 
-=item * the total of DOD runs made
+=item * the total of GC runs made
 
 =item * the total number of collection runs made
 
@@ -77,7 +77,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	interpinfo I1, 3
 	print "A total of "

Modified: branches/kill_pccinvoke/examples/benchmarks/gc_waves_sizeable_data.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/gc_waves_sizeable_data.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/gc_waves_sizeable_data.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -3,7 +3,7 @@
 
 =head1 NAME
 
-examples/benchmarks/gc_waves_sizeable_data.pasm - GC/DOD Benchmark
+examples/benchmarks/gc_waves_sizeable_data.pasm - GC Benchmark
 
 =head1 SYNOPSIS
 
@@ -20,7 +20,7 @@
 
 =item * the total number of bytes allocated
 
-=item * the total of DOD runs made
+=item * the total of GC runs made
 
 =item * the total number of collection runs made
 
@@ -97,7 +97,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	interpinfo I1, 3
 	print "A total of "

Modified: branches/kill_pccinvoke/examples/benchmarks/gc_waves_sizeable_headers.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/gc_waves_sizeable_headers.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/gc_waves_sizeable_headers.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -3,7 +3,7 @@
 
 =head1 NAME
 
-examples/benchmarks/gc_waves_sizeable_headers.pasm - GC/DOD Benchmark
+examples/benchmarks/gc_waves_sizeable_headers.pasm - GC Benchmark
 
 =head1 SYNOPSIS
 
@@ -20,7 +20,7 @@
 
 =item * the total number of bytes allocated
 
-=item * the total of DOD runs made
+=item * the total of GC runs made
 
 =item * the total number of collection runs made
 
@@ -88,7 +88,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	interpinfo I1, 3
 	print "A total of "

Modified: branches/kill_pccinvoke/examples/benchmarks/stress.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/stress.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/stress.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -12,7 +12,7 @@
 =head1 DESCRIPTION
 
 Creates 50 arrays with 10000 elements each, and then prints out the
-total number of DOD runs made.
+total number of GC runs made.
 
 =cut
 
@@ -49,7 +49,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	end
 

Modified: branches/kill_pccinvoke/examples/benchmarks/stress1.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/stress1.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/stress1.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -12,7 +12,7 @@
 =head1 DESCRIPTION
 
 Creates 500 arrays with 20000 elements each. Prints out the number of
-DOD runs made.
+GC runs made.
 
 =cut
 
@@ -53,7 +53,7 @@
 	interpinfo I1, 2
 	print "\nA total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	dec I20
 	if I20, mloop

Modified: branches/kill_pccinvoke/examples/benchmarks/stress3.pasm
==============================================================================
--- branches/kill_pccinvoke/examples/benchmarks/stress3.pasm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/benchmarks/stress3.pasm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -15,7 +15,7 @@
 
 =over 4
 
-=item * the total number of DOD runs made
+=item * the total number of GC runs made
 
 =item * the number of active PMCs
 
@@ -61,7 +61,7 @@
 	interpinfo I1, 2
 	print "A total of "
 	print I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 	interpinfo I1, 4
 	print I1
 	print " active PMCs\n"

Modified: branches/kill_pccinvoke/examples/library/ncurses_life.pir
==============================================================================
--- branches/kill_pccinvoke/examples/library/ncurses_life.pir	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/library/ncurses_life.pir	Wed Feb 11 19:53:09 2009	(r36589)
@@ -180,7 +180,7 @@
     interpinfo $I1, 2
     print "A total of "
     print $I1
-    say " DOD runs were made"
+    say " GC runs were made"
 
     interpinfo $I1, 3
     print "A total of "

Modified: branches/kill_pccinvoke/examples/pir/life.pir
==============================================================================
--- branches/kill_pccinvoke/examples/pir/life.pir	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/pir/life.pir	Wed Feb 11 19:53:09 2009	(r36589)
@@ -111,7 +111,7 @@
 	interpinfo $I1, 2
 	print "A total of "
 	print $I1
-	print " DOD runs were made\n"
+	print " GC runs were made\n"
 
 	interpinfo $I1, 3
 	print "A total of "

Modified: branches/kill_pccinvoke/examples/pir/thr-primes.pir
==============================================================================
--- branches/kill_pccinvoke/examples/pir/thr-primes.pir	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/examples/pir/thr-primes.pir	Wed Feb 11 19:53:09 2009	(r36589)
@@ -55,8 +55,8 @@
 # translate to PIR by leo
 
 # Runs here (i386/linux 256MB mem) w.
-#  ARENA_DOD_FLAGS = 1    MAX=500   (~  95 threads)
-#  ARENA_DOD_FLAGS = 0    MAX=1000  (~ 168 threads)
+#  ARENA_GC_FLAGS = 1    MAX=500   (~  95 threads)
+#  ARENA_GC_FLAGS = 0    MAX=1000  (~ 168 threads)
 
 
 .sub _main

Modified: branches/kill_pccinvoke/ext/Parrot-Embed/t/languages.t
==============================================================================
--- branches/kill_pccinvoke/ext/Parrot-Embed/t/languages.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/ext/Parrot-Embed/t/languages.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1,7 +1,7 @@
 #!perl
 
 # Copyright (C) 2009, The Perl Foundation.
-# $Id: $
+# $Id$
 
 use strict;
 use warnings;

Modified: branches/kill_pccinvoke/include/parrot/gc_api.h
==============================================================================
--- branches/kill_pccinvoke/include/parrot/gc_api.h	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/include/parrot/gc_api.h	Wed Feb 11 19:53:09 2009	(r36589)
@@ -22,13 +22,13 @@
 #define Parrot_block_GC_mark(interp) \
         { \
             (interp)->arena_base->DOD_block_level++; \
-            Parrot_shared_DOD_block(interp); \
+            Parrot_shared_gc_block(interp); \
         }
 
 #define Parrot_unblock_GC_mark(interp) \
         if ((interp)->arena_base->DOD_block_level) { \
             (interp)->arena_base->DOD_block_level--; \
-            Parrot_shared_DOD_unblock(interp); \
+            Parrot_shared_gc_unblock(interp); \
         }
 
 /* Macros for recursively blocking and unblocking GC */

Modified: branches/kill_pccinvoke/include/parrot/string.h
==============================================================================
--- branches/kill_pccinvoke/include/parrot/string.h	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/include/parrot/string.h	Wed Feb 11 19:53:09 2009	(r36589)
@@ -14,12 +14,12 @@
 #define PARROT_STRING_H_GUARD
 
 #include "parrot/config.h"
-#include "parrot/pobj.h"
 
 struct parrot_string_t;
 
 #ifdef PARROT_IN_CORE
 
+#include "parrot/pobj.h"
 #include "parrot/parrot.h"
 
 typedef struct parrot_string_t STRING;

Modified: branches/kill_pccinvoke/include/parrot/thread.h
==============================================================================
--- branches/kill_pccinvoke/include/parrot/thread.h	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/include/parrot/thread.h	Wed Feb 11 19:53:09 2009	(r36589)
@@ -93,8 +93,8 @@
 
     Parrot_Interp       joiner;         /* thread that is trying to join this */
 
-    /* for wr access to interpreter e.g. for DOD/GC
-     * if only used for DOD/GC the lock could be in the arena
+    /* for wr access to interpreter e.g. for GC
+     * if only used for GC the lock could be in the arena
      * instead here, or in the interpreter, with negative size impact
      * for the non-threaded case
      */
@@ -162,11 +162,11 @@
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 
 PARROT_EXPORT
-void Parrot_shared_DOD_block(PARROT_INTERP)
+void Parrot_shared_gc_block(PARROT_INTERP)
         __attribute__nonnull__(1);
 
 PARROT_EXPORT
-void Parrot_shared_DOD_unblock(PARROT_INTERP)
+void Parrot_shared_gc_unblock(PARROT_INTERP)
         __attribute__nonnull__(1);
 
 void pt_add_to_interpreters(PARROT_INTERP,
@@ -261,9 +261,9 @@
         __attribute__nonnull__(3)
         FUNC_MODIFIES(d);
 
-#define ASSERT_ARGS_Parrot_shared_DOD_block __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+#define ASSERT_ARGS_Parrot_shared_gc_block __attribute__unused__ int _ASSERT_ARGS_CHECK = \
        PARROT_ASSERT_ARG(interp)
-#define ASSERT_ARGS_Parrot_shared_DOD_unblock __attribute__unused__ int _ASSERT_ARGS_CHECK = \
+#define ASSERT_ARGS_Parrot_shared_gc_unblock __attribute__unused__ int _ASSERT_ARGS_CHECK = \
        PARROT_ASSERT_ARG(interp)
 #define ASSERT_ARGS_pt_add_to_interpreters __attribute__unused__ int _ASSERT_ARGS_CHECK = \
        PARROT_ASSERT_ARG(interp)

Modified: branches/kill_pccinvoke/languages/pipp/config/makefiles/root.in
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/config/makefiles/root.in	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/config/makefiles/root.in	Wed Feb 11 19:53:09 2009	(r36589)
@@ -136,6 +136,7 @@
 	@echo "  test-php:          Run the test suite for the reference implementation."
 	@echo "  test-pmc:          Run the test suite for Pipp's PMCs."
 	@echo "  smoke:             Run the test suite and send report to the smolder server"
+	@echo "  codetest:          Run file metadata and coding standards tests."
 	@echo ""
 	@echo "Cleaning:"
 	@echo "  clean:             Clean up."
@@ -265,6 +266,64 @@
 #t/php_qa_testsuite/php5/Zend/tests:
 	#cd php_qa_testsuite && cvs -d :pserver:cvsread at cvs.php.net:/repository/ZendEngine2 checkout -r PHP_5_3 php5/Zend/tests
 
+codetest: codetest-c codetest-make codetest-perl codetest-pir codetest-pod
+
+T_C     = src//pmc//*.pmc src//pmc//php_private.h src//pmc//pipp_hash.c src//pmc//pipp_hash.h
+T_MAKE  = config//makefiles//root.in
+T_PERL  = Configure.pl t//harness t//php//*.t src//build//genskel.pl \
+          lib//Parrot//Test//*.pm lib//Parrot//Test//Pipp//*.pm
+T_PIR   = *.pir src//classes//*.pir src//common//*.pir src//pct//quote_expression.pir
+T_POD   = docs//*.pod
+
+codetest-c:
+	- $(PERL) @build_dir@/t/codingstd/c_code_coda.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/c_cppcomments.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/c_indent.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/c_macro_args.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/c_operator.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/c_parens.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/c_returns.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/copyright.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/cuddled_else.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/filenames.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/linelength.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/svn_id.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/tabs.t $(T_C)
+	- $(PERL) @build_dir@/t/codingstd/trailing_space.t $(T_C)
+
+codetest-make:
+	- $(PERL) @build_dir@/t/codingstd/copyright.t $(T_MAKE)
+	- $(PERL) @build_dir@/t/codingstd/filenames.t $(T_MAKE)
+	- $(PERL) @build_dir@/t/codingstd/make_code_coda.t $(T_MAKE)
+	- $(PERL) @build_dir@/t/codingstd/linelength.t $(T_MAKE)
+	- $(PERL) @build_dir@/t/codingstd/svn_id.t $(T_MAKE)
+	- $(PERL) @build_dir@/t/codingstd/trailing_space.t $(T_MAKE)
+
+codetest-perl:
+#	- $(PERL) @build_dir@/t/codingstd/copyright.t $(T_PERL)
+	- $(PERL) @build_dir@/t/codingstd/cuddled_else.t $(T_PERL)
+	- $(PERL) @build_dir@/t/codingstd/filenames.t $(T_PERL)
+#	- $(PERL) @build_dir@/t/codingstd/linelength.t $(T_PERL)
+	- $(PERL) @build_dir@/t/codingstd/perlcritic.t $(T_PERL)
+	- $(PERL) @build_dir@/t/codingstd/svn_id.t $(T_PERL)
+	- $(PERL) @build_dir@/t/codingstd/trailing_space.t $(T_PERL)
+
+codetest-pir:
+#	- $(PERL) @build_dir@/t/codingstd/copyright.t $(T_PIR)
+	- $(PERL) @build_dir@/t/codingstd/filenames.t $(T_PIR)
+#	- $(PERL) @build_dir@/t/codingstd/linelength.t $(T_PIR)
+	- $(PERL) @build_dir@/t/codingstd/pir_code_coda.t $(T_PIR)
+	- $(PERL) @build_dir@/t/codingstd/svn_id.t $(T_PIR)
+	- $(PERL) @build_dir@/t/codingstd/tabs.t $(T_PIR)
+	- $(PERL) @build_dir@/t/codingstd/trailing_space.t $(T_PIR)
+
+codetest-pod:
+#	- $(PERL) @build_dir@/t/codingstd/copyright.t $(T_POD)
+	- $(PERL) @build_dir@/t/codingstd/linelength.t $(T_POD)
+	- $(PERL) @build_dir@/t/codingstd/svn_id.t $(T_POD)
+	- $(PERL) @build_dir@/t/codingstd/tabs.t $(T_POD)
+	- $(PERL) @build_dir@/t/codingstd/trailing_space.t $(T_POD)
+	- $(PERL) @build_dir@/t/doc/pod.t $(T_POD)
 
 # cleaning up
 clean: clean-pmc clean-test clean-hash

Modified: branches/kill_pccinvoke/languages/pipp/docs/internals.pod
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/docs/internals.pod	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/docs/internals.pod	Wed Feb 11 19:53:09 2009	(r36589)
@@ -111,7 +111,7 @@
 
 =head1 Namespaces
 
-A namespace is introduced with the keyword B<namespace>. 
+A namespace is introduced with the keyword B<namespace>.
 The namespaced code can be enclosed in brackets.
 The namespace declaration needs to be the first statement in the file.
 With brackets, there can be multiple namespaces per file. Nesting is not possible.
@@ -127,7 +127,7 @@
 =head2 Implementation in Pipp
 
 In order to ease implementation and testing, there are
-some divergences in Pipp. 
+some divergences in Pipp.
 
 =over 4
 
@@ -169,7 +169,7 @@
 
 =head1 Including and requiring
 
-C<require_once()> is supported, but might have issues with variables. 
+C<require_once()> is supported, but might have issues with variables.
 
 =head1 Extensions
 

Modified: branches/kill_pccinvoke/languages/pipp/docs/pipp.pod
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/docs/pipp.pod	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/docs/pipp.pod	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1,7 +1,7 @@
 # $Id$
 
 =head1 NAME
- 
+
 Pipp - Introduction
 
 =head1 What is Pipp?

Modified: branches/kill_pccinvoke/languages/pipp/docs/testing.pod
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/docs/testing.pod	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/docs/testing.pod	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1,7 +1,7 @@
 # $Id$
 
 =head1 NAME
- 
+
 Pipp - Testing
 
 =head1 Testsuite
@@ -12,7 +12,7 @@
 These tests are executed by 'make test'.
 
 Run individual tests e.g.:
-  
+
   perl t/harness --verbose t/in_php/01_sea_only.t
 
 =head1 How to run the PHP test suite
@@ -44,7 +44,7 @@
 
   # run the test-suite
   ./sapi/cli/php run-tests.php -v --keep-all | tee run-tests.log
-  
+
 Good luck.
 
 =head1 Author

Modified: branches/kill_pccinvoke/languages/pipp/t/harness
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/harness	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/harness	Wed Feb 11 19:53:09 2009	(r36589)
@@ -9,13 +9,13 @@
 
   cd languages && perl pipp/t/harness --files --master
 
-  cd languages/pipp && perl t/harness 
+  cd languages/pipp && perl t/harness
 
   cd languages/pipp && perl t/harness --with-phc
 
   cd languages/pipp && perl t/harness --with-pct
 
-  cd languages/pipp && perl t/harness --verbose t/hello.t 
+  cd languages/pipp && perl t/harness --verbose t/hello.t
 
 =head1 DESCRIPTION
 
@@ -41,7 +41,7 @@
 use Cwd                     ();
 use File::Spec              ();
 use TAP::Harness            3.12;     # support closures for the 'exec' option
-use TAP::Harness::Archive   0.12; 
+use TAP::Harness::Archive   0.12;
 use Parrot::Config          qw( %PConfig );
 use Getopt::Long;
 use Parrot::Harness::Smoke;
@@ -72,12 +72,12 @@
     print join( "\n", @files );
     print "\n" if scalar(@files);
 }
-else { 
+else {
     my $path_to_parrot = Parrot::Test::path_to_parrot();
     my @cmd = ( "$path_to_parrot/parrot$PConfig{exe}", "$path_to_parrot/languages/pipp/pipp.pbc" );
     $ENV{PARROT_PIPP_TEST_MODULE} = 'Parrot::Test::Pipp::PCT';
 
-    if ( $php_flag ) { 
+    if ( $php_flag ) {
          $ENV{PARROT_PIPP_TEST_MODULE} = 'Parrot::Test::Pipp::PHP';
          @cmd = qw{ php-cgi -q -C -n } ;
     }
@@ -122,10 +122,10 @@
 
               # all other directories contain test scripts written in Perl
               return [ $PConfig{perl}, $test_file ];
-          };  
-    if ( $archive_flag ) { 
+          };
+    if ( $archive_flag ) {
         my %env_data = Parrot::Harness::Smoke::collect_test_environment_data();
-       
+
         my $report_file = ['pipp_test_run.tar.gz'];
         my $harness = TAP::Harness::Archive->new(
             {
@@ -143,7 +143,8 @@
             $env_data{project_id}  = 10;
             Parrot::Harness::Smoke::send_archive_to_smolder(%env_data);
         }
-    } else {
+    }
+    else {
        my $harness = TAP::Harness->new(
            {
                exec       => $exec_sub,

Modified: branches/kill_pccinvoke/languages/pipp/t/php/arithmetics.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/arithmetics.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/arithmetics.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -127,3 +127,10 @@
 
 plan( tests => scalar(@tests) );
 run_tests(\@tests);
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/array.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/array.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/array.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1,4 +1,5 @@
 # Copyright (C) 2008, The Perl Foundation.
+# $Id$
 
 =head1 NAME
 

Modified: branches/kill_pccinvoke/languages/pipp/t/php/closures.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/closures.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/closures.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -218,3 +218,10 @@
    3b
    3c
 OUT
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/comments.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/comments.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/comments.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -127,3 +127,10 @@
 CODE
 Hello, World!
 OUT
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/concat.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/concat.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/concat.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -47,3 +47,9 @@
 1a
 OUT
 
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/control_flow.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/control_flow.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/control_flow.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -317,3 +317,10 @@
 
 ?>
 CODE
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/functions.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/functions.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/functions.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -318,3 +318,10 @@
 CODE
 outer variable
 OUT
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/hello.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/hello.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/hello.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -190,3 +190,9 @@
 ?>
 CODE
 
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/namespace.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/namespace.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/namespace.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -234,3 +234,10 @@
 CODE
 The function bums() in class A\Dings has been called.
 OUT
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/oo.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/oo.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/oo.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -389,3 +389,9 @@
 prinT_Class
 OUT
 
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/references.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/references.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/references.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -51,3 +51,10 @@
 4441
 4442
 OUT
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/relops.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/relops.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/relops.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -266,3 +266,9 @@
 ?>
 CODE
 
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/string.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/string.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/string.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -254,7 +254,7 @@
 
     language_output_is( 'Pipp', <<'CODE', <<'OUT', 'dollar followed by a space' );
 <?php
- 
+
 echo ";$ ;", "\n";
 
 ?>
@@ -324,8 +324,8 @@
 no variable expansion in twiddles: {$dummy}
 backslash at end: \
 backslash not at end: \dummy
-backslash before a space: \ 
-escaped backslash before a space: \ 
+backslash before a space: \
+escaped backslash before a space: \
 not a newline: \n
 not a carriage return: \r
 not a tab: \t
@@ -370,11 +370,11 @@
 variable expansion: INTERPOLATED
 backslash at end: \
 backslash not at end: \dummy
-backslash before a space: \ 
-escaped backslash before a space: \ 
-a newline: 
+backslash before a space: \
+escaped backslash before a space: \
+a newline:
 
-a tab: 	
+a tab:
 an octal: A
 an hex: A
 single quote: '

Modified: branches/kill_pccinvoke/languages/pipp/t/php/superglobals.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/superglobals.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/superglobals.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -103,3 +103,10 @@
 outside function: df
 inside function: df
 OUT
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Modified: branches/kill_pccinvoke/languages/pipp/t/php/tags.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/tags.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/tags.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -70,11 +70,11 @@
 OUT
 
 language_output_is( 'Pipp', <<'CODE', <<'OUT', 'messy script tags' );
-<script          
-       language      = 
+<script
+       language      =
     'php'
-            > 
-    echo "hello world\n"; 
+            >
+    echo "hello world\n";
     </script            >
 CODE
 hello world

Modified: branches/kill_pccinvoke/languages/pipp/t/php/type.t
==============================================================================
--- branches/kill_pccinvoke/languages/pipp/t/php/type.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/languages/pipp/t/php/type.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -187,7 +187,7 @@
   echo is_null($undef_var), "\n";
   $a = 'first letter';
   echo is_null($a), "\n";
-  
+
 ?>
 CODE
 1

Modified: branches/kill_pccinvoke/lib/Parrot/Manifest.pm
==============================================================================
--- branches/kill_pccinvoke/lib/Parrot/Manifest.pm	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/lib/Parrot/Manifest.pm	Wed Feb 11 19:53:09 2009	(r36589)
@@ -160,7 +160,6 @@
         docs/compiler_faq.pod                           [devel]doc
         docs/configuration.pod                          [devel]doc
         docs/debug.pod                                  [devel]doc
-        docs/dev/dod.pod                                [devel]doc
         docs/dev/events.pod                             [devel]doc
         docs/dev/fhs.pod                                [devel]doc
         docs/dev/infant.pod                             [devel]doc

Modified: branches/kill_pccinvoke/src/dynpmc/rational.pmc
==============================================================================
--- branches/kill_pccinvoke/src/dynpmc/rational.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/dynpmc/rational.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -78,7 +78,7 @@
 
     if (dest) {
         if (self != dest)
-            VTABLE_morph(interp, dest, self->vtable->base_type);
+            pmc_reuse(interp, dest, self->vtable->base_type, 0);
     }
     else {
         dest = pmc_new(interp, self->vtable->base_type);
@@ -108,7 +108,7 @@
     mpq_t t;
 
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->base_type);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -133,7 +133,7 @@
 static void rat_multiply_integer(PARROT_INTERP, PMC *self, int value, PMC *dest) {
   #ifdef PARROT_HAS_GMP
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->base_type);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -158,7 +158,7 @@
     mpq_t t;
 
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->base_type);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -185,7 +185,7 @@
     mpq_t t;
 
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->base_type);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -212,7 +212,7 @@
     mpq_t t;
 
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->base_type);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -240,7 +240,7 @@
     mpz_t t;
 
     if (dest)
-        VTABLE_morph(interp, dest, self->vtable->base_type);
+        pmc_reuse(interp, dest, self->vtable->base_type, 0);
     else
         dest = pmc_new(interp, self->vtable->base_type);
 
@@ -563,7 +563,7 @@
     MULTI PMC *add(Rational value, PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -673,7 +673,7 @@
     MULTI PMC *subtract(Rational value, PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -783,7 +783,7 @@
     MULTI PMC *multiply(Rational value, PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -893,7 +893,7 @@
     MULTI PMC *divide(Rational value, PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -993,7 +993,7 @@
     VTABLE PMC *neg(PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1029,7 +1029,7 @@
     VTABLE PMC *absolute(PMC* dest) {
       #ifdef PARROT_HAS_GMP
         if (dest)
-            VTABLE_morph(INTERP, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 

Modified: branches/kill_pccinvoke/src/gc/api.c
==============================================================================
--- branches/kill_pccinvoke/src/gc/api.c	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/gc/api.c	Wed Feb 11 19:53:09 2009	(r36589)
@@ -13,7 +13,7 @@
 may operate very differently internally. The functions in this file can be used
 throughtout Parrot without having to be concerned about the internal operations
 of the GC. This is documented in PDD 9 with supplementary notes in
-F<docs/dev/dod.pod> and F<docs/memory_internals.pod>.
+F<docs/memory_internals.pod>.
 
 =head1 FUNCTIONS
 
@@ -523,8 +523,7 @@
 
 =head1 SEE ALSO
 
-F<include/parrot/gc_api.h>, F<src/cpu_dep.c>, F<docs/dev/dod.dev> and
-F<docs/pdds/pdd09_gc.pod>.
+F<include/parrot/gc_api.h>, F<src/cpu_dep.c> and F<docs/pdds/pdd09_gc.pod>.
 
 =head1 HISTORY
 

Modified: branches/kill_pccinvoke/src/gc/mark_sweep.c
==============================================================================
--- branches/kill_pccinvoke/src/gc/mark_sweep.c	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/gc/mark_sweep.c	Wed Feb 11 19:53:09 2009	(r36589)
@@ -603,7 +603,7 @@
     Arenas *arena_base;
 
     /*
-     * If the object is shared, we have to use the arena and dod
+     * If the object is shared, we have to use the arena and gc
      * pointers of the originating interpreter.
      *
      * We are possibly changing another interpreter's data here, so
@@ -705,7 +705,7 @@
         }
     }
 
-    /* requires that num_free_objects be updated in Parrot_do_gc_run. If dod
+    /* requires that num_free_objects be updated in Parrot_do_gc_run. If gc
      * is disabled, then we must check the free list directly. */
     if (!pool->free_list)
         (*pool->alloc_objects) (interp, pool);

Modified: branches/kill_pccinvoke/src/io/win32.c
==============================================================================
--- branches/kill_pccinvoke/src/io/win32.c	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/io/win32.c	Wed Feb 11 19:53:09 2009	(r36589)
@@ -305,7 +305,7 @@
     PIOHANDLE os_handle = Parrot_io_get_os_handle(interp, filehandle);
     if (os_handle != INVALID_HANDLE_VALUE) {
         if (CloseHandle(os_handle) == 0)
-            result = GetLastError ();
+            result = GetLastError();
         Parrot_io_set_os_handle(interp, filehandle, INVALID_HANDLE_VALUE);
     }
     return 0;

Modified: branches/kill_pccinvoke/src/ops/experimental.ops
==============================================================================
--- branches/kill_pccinvoke/src/ops/experimental.ops	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/ops/experimental.ops	Wed Feb 11 19:53:09 2009	(r36589)
@@ -164,9 +164,8 @@
 
 =cut
 
-inline op morph(invar PMC, in STR) {
-  INTVAL type = pmc_type(interp, $2);
-  VTABLE_morph(interp, $1, type);
+inline op morph(invar PMC, in PMC) {
+  VTABLE_morph(interp, $1, $2);
 }
 
 =item B<exec>(in STR)

Modified: branches/kill_pccinvoke/src/ops/pic.ops
==============================================================================
--- branches/kill_pccinvoke/src/ops/pic.ops	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/ops/pic.ops	Wed Feb 11 19:53:09 2009	(r36589)
@@ -109,7 +109,7 @@
                 goto ADDRESS(handler);
             }
             /* #RT42354 preserve type system */
-            VTABLE_morph(interp, left, enum_class_BigInt);
+            VTABLE_morph(interp, left, interp->vtables[enum_class_BigInt]->pmc_class);
             VTABLE_set_integer_native(interp, left, a);
             $2 = VTABLE_subtract_int(interp, left, b, left);
         }

Modified: branches/kill_pccinvoke/src/pmc/bigint.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/bigint.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/bigint.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -313,7 +313,7 @@
 static void
 bigint_abs(PARROT_INTERP, PMC *self, PMC *dest) {
     BIGINT *bi_self, *bi_dest;
-    VTABLE_morph(interp, dest, enum_class_BigInt);
+    pmc_reuse(interp, dest, enum_class_BigInt, 0);
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
     mpz_abs(bi_dest->b, bi_self->b);
@@ -322,7 +322,7 @@
 static void
 bigint_neg(PARROT_INTERP, PMC *self, PMC *dest) {
     BIGINT *bi_self, *bi_dest;
-    VTABLE_morph(interp, dest, enum_class_BigInt);
+    pmc_reuse(interp, dest, enum_class_BigInt, 0);
     GETATTR_BigInt_bi(interp, self, bi_self);
     GETATTR_BigInt_bi(interp, dest, bi_dest);
     mpz_neg(bi_dest->b, bi_self->b);
@@ -893,7 +893,7 @@
 
     MULTI PMC *subtract(BigInt value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -903,7 +903,7 @@
 
     MULTI PMC *subtract(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -920,7 +920,7 @@
 
     VTABLE PMC *subtract_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1007,7 +1007,7 @@
 
     VTABLE PMC *pow_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1027,7 +1027,7 @@
     MULTI PMC *divide(BigInt value, PMC *dest) {
         BIGINT *bi;
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1046,7 +1046,7 @@
 
     MULTI PMC *divide(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1063,7 +1063,7 @@
 
     VTABLE PMC *divide_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1111,7 +1111,7 @@
 
     VTABLE PMC *floor_divide_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1140,7 +1140,7 @@
 
     MULTI PMC *modulus(BigInt value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1150,7 +1150,7 @@
 
     MULTI PMC *modulus(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1275,7 +1275,7 @@
 
     MULTI PMC *bitwise_shl(BigInt value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1287,7 +1287,7 @@
 
     MULTI PMC *bitwise_shl(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1304,7 +1304,7 @@
 
     VTABLE PMC *bitwise_shl_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1355,7 +1355,7 @@
 
     MULTI PMC *bitwise_shr(BigInt value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1367,7 +1367,7 @@
 
     MULTI PMC *bitwise_shr(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1385,7 +1385,7 @@
 
     VTABLE PMC *bitwise_shr_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 

Modified: branches/kill_pccinvoke/src/pmc/bignum.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/bignum.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/bignum.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -326,7 +326,7 @@
 static void
 bignum_abs(PARROT_INTERP, PMC *self, PMC *dest) {
     BIGNUM *bi_self, *bi_dest;
-    VTABLE_morph(interp, dest, enum_class_BigNum);
+    pmc_reuse(interp, dest, enum_class_BigNum, 0);
     GETATTR_BigNum_bi(interp, self, bi_self);
     GETATTR_BigNum_bi(interp, dest, bi_dest);
     mpf_abs(bi_dest->b, bi_self->b);
@@ -335,7 +335,7 @@
 static void
 bignum_neg(PARROT_INTERP, PMC *self, PMC *dest) {
     BIGNUM *bi_self, *bi_dest;
-    VTABLE_morph(interp, dest, enum_class_BigNum);
+    pmc_reuse(interp, dest, enum_class_BigNum, 0);
     GETATTR_BigNum_bi(interp, self, bi_self);
     GETATTR_BigNum_bi(interp, dest, bi_dest);
     mpf_neg(bi_dest->b, bi_self->b);
@@ -910,7 +910,7 @@
 
     MULTI PMC *subtract(BigNum value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -920,7 +920,7 @@
 
     MULTI PMC *subtract(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -937,7 +937,7 @@
 
     VTABLE PMC *subtract_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1024,7 +1024,7 @@
 
     VTABLE PMC *pow_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1044,7 +1044,7 @@
     MULTI PMC *divide(BigNum value, PMC *dest) {
         BIGNUM *bi;
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1063,7 +1063,7 @@
 
     MULTI PMC *divide(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1080,7 +1080,7 @@
 
     VTABLE PMC *divide_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1128,7 +1128,7 @@
 
     VTABLE PMC *floor_divide_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1157,7 +1157,7 @@
 
     MULTI PMC *modulus(BigNum value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1167,7 +1167,7 @@
 
     MULTI PMC *modulus(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1292,7 +1292,7 @@
 
     MULTI PMC *bitwise_shl(BigNum value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1304,7 +1304,7 @@
 
     MULTI PMC *bitwise_shl(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1321,7 +1321,7 @@
 
     VTABLE PMC *bitwise_shl_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1372,7 +1372,7 @@
 
     MULTI PMC *bitwise_shr(BigNum value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1384,7 +1384,7 @@
 
     MULTI PMC *bitwise_shr(Integer value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 
@@ -1402,7 +1402,7 @@
 
     VTABLE PMC *bitwise_shr_int(INTVAL value, PMC *dest) {
         if (dest)
-            VTABLE_morph(interp, dest, SELF->vtable->base_type);
+            pmc_reuse(interp, dest, SELF->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, SELF->vtable->base_type);
 

Modified: branches/kill_pccinvoke/src/pmc/class.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/class.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/class.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1578,6 +1578,22 @@
 
 /*
 
+=item C<INTVAL get_integer()>
+
+This is just a temporary hack. Type ID numbers shouldn't be externally
+visible to the average PIR user. However, we need this for now to interface
+with functions like pmc_new and pmc_reuse, which take type ID numbers still.
+
+=cut
+
+*/
+
+    VTABLE INTVAL get_integer() {
+        return PARROT_CLASS(SELF)->id;
+    }
+
+/*
+
 =item C<void thawfinish(visit_info *info)>
 
 Called after the class has been thawed.

Modified: branches/kill_pccinvoke/src/pmc/complex.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/complex.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/complex.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1248,7 +1248,7 @@
         GET_ATTR_re(INTERP, SELF, re);
         GET_ATTR_im(INTERP, SELF, im);
         d = sqrt(re*re + im*im);
-        VTABLE_morph(INTERP, SELF, enum_class_Float);   /* XXX */
+        pmc_reuse(INTERP, SELF, enum_class_Float, 0);
         VTABLE_set_number_native(INTERP, SELF, d);
     }
 

Modified: branches/kill_pccinvoke/src/pmc/default.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/default.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/default.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -112,7 +112,7 @@
         if (on && (pmc->vtable->flags & VTABLE_HAS_CONST_TOO))
             pmc->vtable = interp->vtables[pmc->vtable->base_type + 1];
         else if (!on && (pmc->vtable->flags & (VTABLE_IS_CONST_FLAG)))
-            VTABLE_morph(interp, pmc, pmc->vtable->base_type - 1);
+            VTABLE_morph(interp, pmc, interp->vtables[pmc->vtable->base_type - 1]->pmc_class);
         else if (on && (pmc->vtable->flags & VTABLE_HAS_READONLY_FLAG))
             pmc->vtable = pmc->vtable->ro_variant_vtable;
         else if (!on && (pmc->vtable->flags & VTABLE_IS_READONLY_FLAG)
@@ -624,7 +624,7 @@
 
 /*
 
-=item C<void morph(INTVAL type)>
+=item C<void morph(PMC* type)>
 
 Changes the PMC to a PMC of a new type
 
@@ -632,8 +632,8 @@
 
 */
 
-    VTABLE void morph(INTVAL type) {
-        pmc_reuse(INTERP, SELF, type, 0);
+    VTABLE void morph(PMC* type) {
+        pmc_reuse(INTERP, SELF, VTABLE_get_integer(interp, type), 0);
     }
 
 /*

Modified: branches/kill_pccinvoke/src/pmc/float.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/float.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/float.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -170,12 +170,12 @@
 */
 
     VTABLE void set_integer_native(INTVAL value) {
-        SELF.morph(enum_class_Integer);
+        pmc_reuse(INTERP, SELF, enum_class_Integer, 0);
         SELF.set_integer_native(value);
     }
 
     VTABLE void set_bool(INTVAL value) {
-        SELF.morph(enum_class_Boolean);
+        pmc_reuse(INTERP, SELF, enum_class_Boolean, 0);
         SELF.set_bool(value);
     }
 
@@ -222,7 +222,7 @@
 */
 
     VTABLE void set_string_native(STRING *value) {
-        SELF.morph(enum_class_String);
+        pmc_reuse(INTERP, SELF, enum_class_String, 0);
         SELF.set_string_native(value);
     }
 

Modified: branches/kill_pccinvoke/src/pmc/integer.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/integer.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/integer.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -46,7 +46,7 @@
     /* Do an in-place upgrade to a Bignum of SELF and return a pointer
        to it (which is probably redundant, but whatever). */
     const INTVAL a = VTABLE_get_integer(interp, self);
-    VTABLE_morph(interp, self, enum_class_BigInt);
+    pmc_reuse(interp, self, enum_class_BigInt, 0);
     VTABLE_set_integer_native(interp, self, a);
     return self;
 }
@@ -313,25 +313,25 @@
 */
 
     VTABLE void set_number_native(FLOATVAL value) {
-        SELF.morph(enum_class_Float);
+        pmc_reuse(INTERP, SELF, enum_class_Float, 0);
         SELF.set_number_native(value);
     }
 
 
     VTABLE void set_bool(INTVAL value) {
-        SELF.morph(enum_class_Boolean);
+        pmc_reuse(INTERP, SELF, enum_class_Boolean, 0);
         SELF.set_bool(value);
     }
 
 
     VTABLE void set_bignum_int(INTVAL value) {
-        SELF.morph(enum_class_BigInt);
+        pmc_reuse(INTERP, SELF, enum_class_BigInt, 0);
         SELF.set_integer_native(value);
     }
 
 
     VTABLE void set_string_native(STRING *value) {
-        SELF.morph(enum_class_String);
+        pmc_reuse(INTERP, SELF, enum_class_String, 0);
         SELF.set_string_native(value);
     }
 
@@ -451,7 +451,7 @@
     MULTI void i_add(Complex value) {
         const INTVAL a = SELF.get_integer();
 
-        VTABLE_morph(INTERP, SELF, value->vtable->base_type);
+        pmc_reuse(INTERP, SELF, enum_class_Complex, 0);
         VTABLE_set_number_native(INTERP, SELF,
                 SELF.get_integer() + VTABLE_get_number(INTERP, value));
     }
@@ -609,7 +609,7 @@
     MULTI void i_subtract(Complex value) {
         const INTVAL a = SELF.get_integer();
 
-        VTABLE_morph(INTERP, SELF, value->vtable->base_type);
+        pmc_reuse(INTERP, SELF, enum_class_Complex, 0);
         VTABLE_set_number_native(INTERP, SELF,
                 (FLOATVAL)a - VTABLE_get_number_keyed_int(INTERP, value, 0));
         VTABLE_set_number_keyed_int(INTERP, SELF, 1,
@@ -1272,7 +1272,7 @@
         if ((c^a) >= 0 || (c^1) >= 0)
             VTABLE_set_integer_native(interp, SELF, c);
         else {
-            VTABLE_morph(INTERP, SELF, enum_class_BigInt);
+            pmc_reuse(INTERP, SELF, enum_class_BigInt, 0);
             VTABLE_set_integer_native(INTERP, SELF, a);
             VTABLE_increment(interp, SELF);
         }
@@ -1296,7 +1296,7 @@
         if ((c^a) >= 0 || (c^~1) >= 0)
             VTABLE_set_integer_native(interp, SELF, c);
         else {
-            VTABLE_morph(interp, SELF, enum_class_BigInt);
+            pmc_reuse(INTERP, SELF, enum_class_BigInt, 0);
             VTABLE_set_integer_native(interp, SELF, a);
             VTABLE_decrement(interp, SELF);
         }

Modified: branches/kill_pccinvoke/src/pmc/namespace.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/namespace.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/namespace.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -94,10 +94,6 @@
         add_to_class(interp, nsinfo, classobj, method_name, value);
     }
 
-    /* If it's anonymous, we're done. */
-    if (PObj_get_FLAGS(value) & SUB_FLAG_PF_ANON)
-        return 1;
-
     return 0;
 }
 

Modified: branches/kill_pccinvoke/src/pmc/object.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/object.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/object.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -854,7 +854,7 @@
 
 /*
 
-=item C<void morph(INTVAL type)>
+=item C<void morph(PMC* type)>
 
 Changes the PMC to a PMC of a new type
 
@@ -862,17 +862,15 @@
 
 */
 
-    VTABLE void morph(INTVAL type) {
+    VTABLE void morph(PMC* type) {
         PMC    * const classobj = VTABLE_get_class(interp, SELF);
         STRING * meth_name      = CONST_STRING(interp, "morph");
         /* If there's a vtable override for 'morph' run that instead. */
         PMC * const method = Parrot_oo_find_vtable_override(interp,
                 classobj, meth_name);
 
-        if (!PMC_IS_NULL(method)) {
-            PMC * const _class = Parrot_oo_get_class_str(interp, interp->vtables[type]->whoami);
-            Parrot_run_meth_fromc_args(interp, method, SELF, meth_name, "vP", _class);
-        }
+        if (!PMC_IS_NULL(method))
+            Parrot_run_meth_fromc_args(interp, method, SELF, meth_name, "vP", type);
         else
             SUPER(type);
     }

Modified: branches/kill_pccinvoke/src/pmc/pointer.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/pointer.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/pointer.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -40,19 +40,6 @@
 
 /*
 
-=item C<void morph(INTVAL type)>
-
-Does nothing.
-
-=cut
-
-*/
-
-    VTABLE void morph(INTVAL type) {
-    }
-
-/*
-
 =item C<void mark()>
 
 Marks the pointer as live.

Modified: branches/kill_pccinvoke/src/pmc/ref.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/ref.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/ref.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -140,19 +140,6 @@
         return SUPER();
     }
 
-/*
-
-=item C<void morph(INTVAL type)>
-
-Changes the PMC to a PMC of a new type.
-
-=cut
-
-*/
-    VTABLE void morph(INTVAL type) {
-        SUPER(type);
-    }
-
 }
 
 /*

Modified: branches/kill_pccinvoke/src/pmc/scalar.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/scalar.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/scalar.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -73,7 +73,7 @@
     else {
         /* Overflow; must promote dest to BigInt, and do a BigInt shift. */
         if (self == dest)
-            VTABLE_morph(interp, self, enum_class_BigInt);
+            pmc_reuse(interp, self, enum_class_BigInt, 0);
         else
             dest = pmc_new(interp, enum_class_BigInt);
 
@@ -88,21 +88,6 @@
 
 /*
 
-=item C<void morph(INTVAL type)>
-
-Morphs the scalar to the specified type.
-
-=cut
-
-*/
-
-    VTABLE void morph(INTVAL type) {
-        if (SELF->vtable->base_type == type)
-            return;
-        pmc_reuse(INTERP, SELF, type, 0);
-    }
-/*
-
 =item C<void assign_pmc(PMC *value)>
 
 Sets the PMC C<*value>, calling the appropriate C<set_*> method
@@ -117,13 +102,12 @@
         STRING        *s_num;
         STRING        *s_str;
 
-        if (SELF->vtable->base_type == enum_class_Boolean) {
+        if (SELF->vtable->base_type == enum_class_Boolean)
             /* doesn't morph */
-            SELF.morph(value->vtable->base_type);
-        }
+            pmc_reuse(INTERP, SELF, value->vtable->base_type, 0);
 
         if (value->vtable->base_type == enum_class_Undef) {
-            SELF.morph(value->vtable->base_type);
+            pmc_reuse(INTERP, SELF, value->vtable->base_type, 0);
             return;
         }
 
@@ -148,7 +132,7 @@
             SELF.set_string_native(v);
             return;
         }
-        SELF.morph(enum_class_Ref);
+        pmc_reuse(INTERP, SELF, enum_class_Ref, 0);
         SELF.set_pmc(value);
     }
 
@@ -245,7 +229,7 @@
     MULTI void i_add(Complex value) {
         const FLOATVAL a = SELF.get_number();
 
-        VTABLE_morph(INTERP, SELF, value->vtable->base_type);
+        pmc_reuse(INTERP, SELF, enum_class_Complex, 0);
         VTABLE_set_number_native(INTERP, SELF,
                 a + VTABLE_get_number_keyed_int(INTERP, value, 0));
         VTABLE_set_number_keyed_int(INTERP, SELF, 1,
@@ -293,7 +277,7 @@
     MULTI PMC *subtract(Complex value, PMC *dest) {
         const FLOATVAL a = SELF.get_number();
         if (dest)
-            VTABLE_morph(INTERP, dest, value->vtable->base_type);
+            pmc_reuse(INTERP, dest, value->vtable->base_type, 0);
         else
             dest = pmc_new(INTERP, VTABLE_type(INTERP, value));
 
@@ -330,7 +314,7 @@
     MULTI void i_subtract(Complex value) {
         const FLOATVAL a = SELF.get_number();
 
-        VTABLE_morph(INTERP, SELF, value->vtable->base_type);
+        pmc_reuse(INTERP, SELF, enum_class_Complex, 0);
         VTABLE_set_number_native(INTERP, SELF,
                 a - VTABLE_get_number_keyed_int(INTERP, value, 0));
         VTABLE_set_number_keyed_int(INTERP, SELF, 1,

Modified: branches/kill_pccinvoke/src/pmc/undef.pmc
==============================================================================
--- branches/kill_pccinvoke/src/pmc/undef.pmc	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/pmc/undef.pmc	Wed Feb 11 19:53:09 2009	(r36589)
@@ -40,7 +40,7 @@
 */
 
     VTABLE void set_pmc(PMC *other) {
-        VTABLE_morph(INTERP, SELF, enum_class_Ref);
+        pmc_reuse(INTERP, SELF, enum_class_Ref, 0);
         VTABLE_set_pmc(INTERP, SELF, other);
     }
 
@@ -57,7 +57,7 @@
 
     VTABLE void assign_pmc(PMC *other) {
         if (!PObj_is_object_TEST(other))
-            VTABLE_morph(INTERP, SELF, other->vtable->base_type);
+            pmc_reuse(INTERP, SELF, other->vtable->base_type, 0);
 
         /* don't want to call set_pmc if we're assigning an Undef to an Undef */
         if (other->vtable->base_type != enum_class_Undef)
@@ -104,7 +104,7 @@
 */
 
     VTABLE void set_integer_native(INTVAL value) {
-        VTABLE_morph(INTERP, SELF, enum_class_Integer);
+        pmc_reuse(INTERP, SELF, enum_class_Integer, 0);
         VTABLE_set_integer_native(INTERP, SELF, value);
     }
 
@@ -133,7 +133,7 @@
 */
 
     VTABLE void set_number_native(FLOATVAL value) {
-        VTABLE_morph(INTERP, SELF, enum_class_Float);
+        pmc_reuse(INTERP, SELF, enum_class_Float, 0);
         VTABLE_set_number_native(INTERP, SELF, value);
     }
 
@@ -165,7 +165,7 @@
 */
 
     VTABLE void set_string_native(STRING *value) {
-        VTABLE_morph(INTERP, SELF, UNDEF_STRING_CLASS);
+        pmc_reuse(interp, SELF, enum_class_String, 0);
         VTABLE_set_string_native(INTERP, SELF, value);
     }
 

Modified: branches/kill_pccinvoke/src/runops_cores.c
==============================================================================
--- branches/kill_pccinvoke/src/runops_cores.c	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/runops_cores.c	Wed Feb 11 19:53:09 2009	(r36589)
@@ -346,12 +346,13 @@
 runops_trace_core(PARROT_INTERP, ARGIN(opcode_t *pc))
 {
     ASSERT_ARGS(runops_trace_core)
-    static size_t dod, gc;
+
+    static size_t  gc_runs, collect_runs;
     Arenas * const arena_base = interp->arena_base;
-    Interp *debugger;
+    Interp        *debugger;
 
-    dod = arena_base->gc_runs;
-    gc = arena_base->collect_runs;
+    gc_runs      = arena_base->gc_runs;
+    collect_runs = arena_base->collect_runs;
     if (interp->pdb) {
         debugger = interp->pdb->debugger;
         PARROT_ASSERT(debugger);
@@ -398,13 +399,13 @@
         DO_OP(pc, interp);
         trace_op(interp, code_start, code_end, pc);
 
-        if (dod != arena_base->gc_runs) {
-            dod = arena_base->gc_runs;
+        if (gc_runs != arena_base->gc_runs) {
+            gc_runs = arena_base->gc_runs;
             Parrot_io_eprintf(debugger, "       DOD\n");
         }
 
-        if (gc != arena_base->collect_runs) {
-            gc = arena_base->collect_runs;
+        if (collect_runs != arena_base->collect_runs) {
+            collect_runs  = arena_base->collect_runs;
             Parrot_io_eprintf(debugger, "       GC\n");
         }
     }

Modified: branches/kill_pccinvoke/src/thread.c
==============================================================================
--- branches/kill_pccinvoke/src/thread.c	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/thread.c	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1749,7 +1749,7 @@
 
 /*
 
-=item C<void Parrot_shared_DOD_block>
+=item C<void Parrot_shared_gc_block>
 
 Blocks stop-the-world DOD runs.
 
@@ -1759,9 +1759,9 @@
 
 PARROT_EXPORT
 void
-Parrot_shared_DOD_block(PARROT_INTERP)
+Parrot_shared_gc_block(PARROT_INTERP)
 {
-    ASSERT_ARGS(Parrot_shared_DOD_block)
+    ASSERT_ARGS(Parrot_shared_gc_block)
     Shared_gc_info * const info = get_pool(interp);
 
     if (info) {
@@ -1773,7 +1773,7 @@
 
 /*
 
-=item C<void Parrot_shared_DOD_unblock>
+=item C<void Parrot_shared_gc_unblock>
 
 Unblocks stop-the-world DOD runs.
 
@@ -1783,9 +1783,9 @@
 
 PARROT_EXPORT
 void
-Parrot_shared_DOD_unblock(PARROT_INTERP)
+Parrot_shared_gc_unblock(PARROT_INTERP)
 {
-    ASSERT_ARGS(Parrot_shared_DOD_unblock)
+    ASSERT_ARGS(Parrot_shared_gc_unblock)
     Shared_gc_info * const info = get_pool(interp);
     if (info) {
         int level;

Modified: branches/kill_pccinvoke/src/vtable.tbl
==============================================================================
--- branches/kill_pccinvoke/src/vtable.tbl	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/src/vtable.tbl	Wed Feb 11 19:53:09 2009	(r36589)
@@ -11,7 +11,7 @@
 void init_pmc(PMC* initializer)
 PMC* instantiate(PMC* sig)
 PMC* instantiate_str(STRING* rep, INTVAL flags)
-void morph(INTVAL type) :write
+void morph(PMC* type) :write
 void mark()
 void destroy()
 PMC* get_namespace()

Modified: branches/kill_pccinvoke/t/benchmark/benchmarks.t
==============================================================================
--- branches/kill_pccinvoke/t/benchmark/benchmarks.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/t/benchmark/benchmarks.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -52,10 +52,6 @@
 \n
 1\s\*\s1000\s=\s1000\n
 100\s\*\s1000\s=\s100000\n
-IntList:\s\d+\.\d+s\n
-\n
-1\s\*\s1000\s=\s1000\n
-100\s\*\s1000\s=\s100000\n
 ResizableFloatArray:\s\d+\.\d+s\n
 \n
 1\s\*\s1000\s=\s1000\n
@@ -78,7 +74,7 @@
     q{arriter_o1.pir}  => qq(100000\n100000\n100000\n111111\n),
     q{bench_newp.pasm} => qr/^\d+\.\d+\sseconds.\s\d+\.\d+\sloops\/sec\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sPMC\sstructs\n
@@ -93,56 +89,56 @@
         ResizablePMCArray\s100000\n$/x,
     q{gc_alloc_new.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
     q{gc_alloc_reuse.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
     q{gc_generations.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
     q{gc_header_new.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
     q{gc_header_reuse.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
     q{gc_waves_headers.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
     q{gc_waves_sizeable_data.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
         There\sare\s\d+\stotal\sBuffer\sstructs\n$/x,
     q{gc_waves_sizeable_headers.pasm} => qr/^\d+\.\d+\sseconds\.\n
         A\stotal\sof\s\d+\sbytes\swere\sallocated\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         A\stotal\sof\s\d+\scollection\sruns\swere\smade\n
         Copying\sa\stotal\sof\s\d+\sbytes\n
         There\sare\s\d+\sactive\sBuffer\sstructs\n
@@ -174,30 +170,30 @@
     q{primes_i.pasm} => qr/^N\sprimes\sup\sto\s10000\sis:\s1229\n
         last\sis:\s9973\nElapsed\stime:\s\d+\.\d+\n$/x,
     q{shared_ref.pasm} => qq(),
-    q{stress.pasm}     => qr/^A\stotal\sof\s\d+\sDOD\sruns\s
+    q{stress.pasm}     => qr/^A\stotal\sof\s\d+\sGC\sruns\s
         were\smade\n$/x,
     q{stress1.pasm} => qr/^\d+\.\d+\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         \d+\.\d+\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         \d+\.\d+\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         \d+\.\d+\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         \d+\.\d+\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         \d+\.\d+\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         \d+\.\d+\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         \d+\.\d+\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         \d+\.\d+\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         \d+\.\d+\n
-        A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n$/x,
+        A\stotal\sof\s\d+\sGC\sruns\swere\smade\n$/x,
     q{stress2.pasm} => qq(),
-    q{stress3.pasm} => qr/^A\stotal\sof\s\d+\sDOD\sruns\swere\smade\n
+    q{stress3.pasm} => qr/^A\stotal\sof\s\d+\sGC\sruns\swere\smade\n
         \d+\sactive\sPMCs\n
         \d+\stotal\s\sPMCs\n$/x,
     q{vpm.pir} => qq(100000;\nl hackerjust another per\n)

Modified: branches/kill_pccinvoke/t/oo/vtableoverride.t
==============================================================================
--- branches/kill_pccinvoke/t/oo/vtableoverride.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/t/oo/vtableoverride.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -44,21 +44,23 @@
     is ($I0, 0, "no it doesn't")
 
     # Test morph (doesn't actually perform a morph)
-    morph $P1, "String"
+    $P2 = get_class 'String'
+    morph $P1, $P2
     $P0 = getattribute $P1, "message"
     $S0 = $P0
     is($S0, "Morphing [MyObject] to type String", "Morph VTABLE override 1")
 
-    morph $P1, "Integer"
+    $P2 = get_class 'Integer'
+    morph $P1, $P2
     $P0 = getattribute $P1, "message"
     $S0 = $P0
     is($S0, "Morphing [MyObject] to type Integer", "Morph VTABLE override 1")
-    
+
     # Test invoke. Doesn't currently work so we need to fix that.
     #$P0 = $P1("invoked!")
     #$S0 = $P0
     #is($S0, "invoked!", "Invoke VTABLE override return value")
-    
+
     #$P0 = getattribute $P1, "message"
     #$S0 = $P0
     #is($S0, "invoked!", "Invoke VTABLE override sideeffects")

Modified: branches/kill_pccinvoke/t/op/arithmetics.t
==============================================================================
--- branches/kill_pccinvoke/t/op/arithmetics.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/t/op/arithmetics.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1,5 +1,5 @@
 #!perl
-# Copyright (C) 2001-2008, The Perl Foundation.
+# Copyright (C) 2001-2009, The Perl Foundation.
 # $Id$
 
 use strict;
@@ -7,7 +7,7 @@
 use lib qw( . lib ../lib ../../lib );
 
 use Test::More;
-use Parrot::Test tests => 28;
+use Parrot::Test tests => 29;
 
 # test for GMP
 use Parrot::Config;
@@ -166,13 +166,15 @@
 OUTPUT
 
 #
-# Operations on a single NUMVAL
+# print -0.0 as -0
 #
 
-SKIP: {
-    skip 'failing on your platform' => 1 if $^O =~ m/openbsd/i;
+TODO: {
+    my @todo;
+    @todo = ( todo => '-0.0 not implemented, TT #313' )
+        if $^O =~ m/(?:openbsd|win32)/i;
 
-pasm_output_is( <<'CODE', <<OUTPUT, "turn a native number into its negative" );
+pasm_output_is( <<'CODE', <<OUTPUT, 'negate -0.0', @todo );
         set N0, 0
         neg N0
         print N0
@@ -181,6 +183,25 @@
         neg N0
         print N0
         print "\n"
+        set N0, -0.0
+        neg N1, N0
+        print N1
+        print "\n"
+CODE
+-0
+0
+-0
+0
+OUTPUT
+
+}
+
+
+#
+# Operations on a single NUMVAL
+#
+
+pasm_output_is( <<'CODE', <<OUTPUT, 'negate a native number' );
         set N0, 123.4567890
         neg N0
         print N0
@@ -194,10 +215,6 @@
         neg N1, N0
         print N1
         print "\n"
-        set N0, -0.0
-        neg N1, N0
-        print N1
-        print "\n"
         set N0, 123.4567890
         neg N1, N0
         print N1
@@ -208,18 +225,13 @@
         print "\n"
         end
 CODE
--0
-0
 -123.456789
 123.456789
--0
 0
 -123.456789
 123.456789
 OUTPUT
 
-}
-
 pasm_output_is( <<'CODE', <<OUTPUT, "take the absolute of a native number" );
         set N0, 0
         abs N0
@@ -911,8 +923,12 @@
 OUTPUT
 }
 
+TODO: {
+    my @todo;
+    @todo = ( todo => 'inf is not platform-independent' )
+        if $^O eq 'MSWin32' and $PConfig{cc} =~ /cl/i;
 
-pir_output_is( <<'CODE', <<OUTPUT, "Inf/NaN - basic arith" );
+pir_output_is( <<'CODE', <<OUTPUT, "Inf/NaN - basic arith", @todo );
 .sub 'test' :main
     $N0 = 'Inf'
     say $N0
@@ -924,6 +940,7 @@
 NaN
 OUTPUT
 
+}
 
 # Local Variables:
 #   mode: cperl

Modified: branches/kill_pccinvoke/t/pmc/complex.t
==============================================================================
--- branches/kill_pccinvoke/t/pmc/complex.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/t/pmc/complex.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1,5 +1,5 @@
 #! parrot
-# Copyright (C) 2001-2008, The Perl Foundation.
+# Copyright (C) 2001-2009, The Perl Foundation.
 # $Id$
 
 =head1 NAME
@@ -718,6 +718,29 @@
     is( $S3, $S1, $S4 )
 .endm
 
+.macro complex_op_todo( val, res, op, todo )
+    $P1 = new ['Complex']
+    $P2 = new ['Complex']
+    set $P1, .val
+
+    set $S0, .val
+    set $S1, .res
+    set $S2, .op
+    set $S3, .todo
+
+    #XXX: can't do $P1.'$S2'()
+    $P2 = $P1. $S2()
+    $S3 = sprintf "%f%+fi", $P2
+
+    concat $S5, $S2, " of "
+    concat $S5, $S5, $S4
+
+    $I0 = cmp_str $S1, $S3
+    $I0 = not $I0
+
+    todo( $I0, $S4 )
+.endm
+
 .sub ln_of_complex_numbers
     .complex_op_is("-2+0i", "0.693147+3.141593i", 'ln' )
     .complex_op_is("-1+0i", "0.000000+3.141593i", 'ln' )
@@ -1041,13 +1064,16 @@
     .complex_op_is("-2+3i", "3.590565+0.530921i", 'sinh' )
     .complex_op_is("-2-3i", "3.590565-0.530921i", 'sinh' )
 
-    eq osname, "openbsd", fail
+    eq osname, "openbsd", todo
+    eq osname, "MSWin32", todo
     .complex_op_is("0-2i", "-0.000000-0.909297i", 'sinh' )
     .complex_op_is("0+2i", "-0.000000+0.909297i", 'sinh' )
     .return()
 
-fail:
-    skip( 2, 'failing on your platform' )
+todo:
+    .complex_op_todo("0-2i", "-0.000000-0.909297i", 'sinh', 'TT #313' )
+    .complex_op_todo("0+2i", "-0.000000+0.909297i", 'sinh', 'TT #313' )
+    .return()
 .end
 
 .sub cosh_of_complex_numbers

Modified: branches/kill_pccinvoke/t/pmc/float.t
==============================================================================
--- branches/kill_pccinvoke/t/pmc/float.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/t/pmc/float.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1,5 +1,5 @@
 #!perl
-# Copyright (C) 2001-2006, The Perl Foundation.
+# Copyright (C) 2001-2009, The Perl Foundation.
 # $Id$
 
 use strict;
@@ -503,19 +503,20 @@
 ok 2
 OUTPUT
 
-SKIP: {
-    skip 'failing on your platform' => 1 if $^O =~ m/openbsd/i;
+TODO: {
+    my @todo;
+    @todo = ( todo => '-0.0 not implemented, TT #313' )
+        if $^O =~ m/(?:openbsd|win32)/i;
 
-pasm_output_like( << 'CODE', << 'OUTPUT', "neg 0" );
+pasm_output_like( <<'CODE', <<'OUTPUT', 'neg 0', @todo );
     new P0, ['Float']
     set P0, 0.0
     neg P0
-        print P0
+    print P0
     end
 CODE
 /^-0/
 OUTPUT
-
 }
 
 pasm_output_is( << 'CODE', << 'OUTPUT', "Equality" );

Modified: branches/kill_pccinvoke/t/pmc/namespace.t
==============================================================================
--- branches/kill_pccinvoke/t/pmc/namespace.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/t/pmc/namespace.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -1,17 +1,17 @@
 #! perl
-# Copyright (C) 2001-2008, The Perl Foundation.
+# Copyright (C) 2001-2009, The Perl Foundation.
 # $Id$
 
 use strict;
 use warnings;
 use lib qw( . lib ../lib ../../lib );
 use Test::More;
-use Parrot::Test tests => 66;
+use Parrot::Test tests => 67;
 use Parrot::Config;
 
 =head1 NAME
 
-t/pmc/namespace.t - test the NameSpace PMC as described in PDD21.
+t/pmc/namespace.t - test the NameSpace PMC as described in PDD 21.
 
 =head1 SYNOPSIS
 
@@ -1789,6 +1789,30 @@
 1
 OUT
 
+pir_error_output_like( <<'CODE', <<'OUT', 'adding :anon sub to a namespace, TT #56' );
+.namespace ['Foo']
+.sub main :main
+    .const 'Sub' $P0 = 'bar'
+
+    set_global 'ok', $P0
+    $P1 = get_global 'ok'
+    say $P1
+    $S0 = ok()
+    say $S0
+    $S0 = nok()
+    say $S0
+.end
+
+.namespace []
+.sub 'nok' :anon :subid('bar')
+    .return( 'ok 1' )
+.end
+CODE
+/
+ok 1
+Could not find non-existent sub nok/
+OUT
+
 # Local Variables:
 #   mode: cperl
 #   cperl-indent-level: 4

Modified: branches/kill_pccinvoke/t/pmc/undef.t
==============================================================================
--- branches/kill_pccinvoke/t/pmc/undef.t	Wed Feb 11 19:44:19 2009	(r36588)
+++ branches/kill_pccinvoke/t/pmc/undef.t	Wed Feb 11 19:53:09 2009	(r36589)
@@ -99,7 +99,8 @@
 .sub string_pmc_morph_to_undef
     .local pmc pmc1
     pmc1 = new ['String']
-    morph pmc1, 'Undef'
+    $P0 = get_class 'Undef'
+    morph pmc1, $P0
     $S1 = typeof pmc1
     is( $S1, 'Undef', 'PMC String morph to undef' )
 .end


More information about the parrot-commits mailing list