This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
make freed op re-use closer to O(1)
[perl5.git] / op.h
diff --git a/op.h b/op.h
index cbb19d5..4c086a5 100644 (file)
--- a/op.h
+++ b/op.h
@@ -703,8 +703,9 @@ struct opslot {
 struct opslab {
     OPSLAB *   opslab_next;            /* next slab */
     OPSLAB *   opslab_head;            /* first slab in chain */
-    OP *       opslab_freed;           /* chain of freed ops (head only)*/
+    OP **      opslab_freed;           /* array of sized chains of freed ops (head only)*/
     size_t     opslab_refcnt;          /* number of ops (head slab only) */
+    U16         opslab_freed_size;      /* allocated size of opslab_freed */
     U16                opslab_size;            /* size of slab in pointers,
                                            including header */
     U16         opslab_free_space;     /* space available in this slab