Skip to content

Commit efcb770

Browse files
committed
Skip over any CallContext we encounter - future Rakudo refactors will avoid the need for this hack in the long run. And...tada! We successfully serialize CORE.setting, producing 1393664 bytes of serialized data with 10578 strings in the string heap. Sadly, we then explode in the optimizer...
1 parent 5fb6da3 commit efcb770

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/6model/serialization.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,11 @@ void write_ref_func(PARROT_INTERP, SerializationWriter *writer, PMC *ref) {
411411
* we just drop it. */
412412
discrim = REFVAR_VM_NULL;
413413
}
414+
else if (ref->vtable->base_type == enum_class_CallContext) {
415+
/* XXX This is a hack for Rakudo's sake; it keeps a CallContext around in
416+
* the lexpad, for no really good reason. */
417+
discrim = REFVAR_VM_NULL;
418+
}
414419
else if (ref->vtable->base_type == smo_id) {
415420
discrim = REFVAR_OBJECT;
416421
}

0 commit comments

Comments
 (0)