Attempt to count PL_compiling
Florian Ragwitz [Mon, 1 Oct 2012 01:27:16 +0000 (10:27 +0900)]
Often, PL_compiling will have an op_type of OP_NULL, making it being counted as
a regular base op. However, it's memory is being allocated within the
PerlInterpreter structure or in a proper global as a full COP, not just a
BASEOP. Therefore it's possible for it to be counted wrong right now.

Memory.xs

index 578d5fa..03426de 100644 (file)
--- a/Memory.xs
+++ b/Memory.xs
@@ -1433,7 +1433,7 @@ perl_size(pTHX_ struct state *const st, pPATH)
   sv_size(aTHX_ st, NPathLink("PL_main_start"), (SV*)PL_main_start, TOTAL_SIZE_RECURSION);
   /* TODO PL_pidstatus */
   /* TODO PL_stashpad */
-  /* TODO PL_compiling? COP */
+  op_size(aTHX_ (OP *)&PL_compiling, st, NPathLink("PL_compiling"));
 
   /* TODO stacks: cur, main, tmps, mark, scope, save */
   /* TODO PL_exitlist */