Branch Coverage

srl_encoder.c
Criterion Covered Total %
branch 934 2162 43.2


line true false branch
349 244250 944894 if (!SRL_ENC_HAVE_OPTION(enc, SRL_F_REUSE_ENCODER)) {
362 1279067 120606 if (enc->ref_seenhash != NULL)
364 4 1399669 if (enc->freezeobj_svhash != NULL)
366 1279060 120613 if (enc->str_seenhash != NULL)
368 18 1399655 if (enc->weak_seenhash != NULL)
370 94661 1305012 if (enc->string_deduper_hv != NULL)
378 0 944894 if (!SRL_ENC_HAVE_OPER_FLAG(enc, SRL_OF_ENCODER_DIRTY)) {
400 59 244529 if (enc->tmp_buf.start != NULL)
405 116439 128149 if (enc->ref_seenhash != NULL)
407 3 244585 if (enc->freezeobj_svhash != NULL)
409 43214 201374 if (enc->str_seenhash != NULL)
411 18 244570 if (enc->weak_seenhash != NULL)
413 6067 238521 if (enc->string_deduper_hv != NULL)
428 0 244588 if (enc == NULL)
432 0 244588 if (expect_false( srl_buf_init_buffer(aTHX_ &(enc->buf), INITIALIZATION_SIZE) != 0 )) {
464 244025 561 if (opt != NULL) {
468 43 243982 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_NO_SHARED_HASHKEYS);
469 43 243982 if ( !val || !SvTRUE(val) )
43 0 if ( !val || !SvTRUE(val) )
0 43 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
0 43 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
0 43 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
43 0 if ( !val || !SvTRUE(val) )
43 0 if ( !val || !SvTRUE(val) )
0 43 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
0 43 if ( !val || !SvTRUE(val) )
0 0 if ( !val || !SvTRUE(val) )
474 243784 241 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_PROTOCOL_VERSION);
475 243784 241 if (val && SvOK(val)) {
0 243784 if (val && SvOK(val)) {
0 0 if (val && SvOK(val)) {
0 0 if (val && SvOK(val)) {
476 0 243784 enc->protocol_version = SvUV(val);
477 243784 0 if (enc->protocol_version < 1
478 0 243784 || enc->protocol_version > SRL_PROTOCOL_VERSION)
486 0 241 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_USE_PROTOCOL_V1);
487 0 241 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
491 1 244024 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_CROAK_ON_BLESS);
492 1 244024 if ( val && SvTRUE(val) )
1 0 if ( val && SvTRUE(val) )
0 1 if ( val && SvTRUE(val) )
0 1 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 1 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
1 0 if ( val && SvTRUE(val) )
1 0 if ( val && SvTRUE(val) )
0 1 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
1 0 if ( val && SvTRUE(val) )
495 1 244024 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_NO_BLESS_OBJECTS);
496 1 244024 if ( val && SvTRUE(val) )
1 0 if ( val && SvTRUE(val) )
0 1 if ( val && SvTRUE(val) )
0 1 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 1 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
1 0 if ( val && SvTRUE(val) )
1 0 if ( val && SvTRUE(val) )
0 1 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
1 0 if ( val && SvTRUE(val) )
499 16255 227770 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_FREEZE_CALLBACKS);
500 16255 227770 if ( val && SvTRUE(val) ) {
16255 0 if ( val && SvTRUE(val) ) {
0 16255 if ( val && SvTRUE(val) ) {
0 16255 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 16255 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
16255 0 if ( val && SvTRUE(val) ) {
16255 0 if ( val && SvTRUE(val) ) {
0 16255 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
16255 0 if ( val && SvTRUE(val) ) {
501 0 16255 if (SRL_ENC_HAVE_OPTION(enc, SRL_F_NO_BLESS_OBJECTS))
508 40630 203395 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_COMPRESS);
509 40630 203395 if (val) {
510 40630 0 compression_format = SvIV(val);
521 0 24378 if (enc->protocol_version < 3)
525 0 24378 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_COMPRESS_LEVEL);
526 0 24378 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
527 0 0 IV lvl = SvIV(val);
528 0 0 if (expect_false( lvl < 1 || lvl > 10 )) /* Sekrit: compression lvl 10 is a miniz thing that doesn't exist in normal zlib */
0 0 if (expect_false( lvl < 1 || lvl > 10 )) /* Sekrit: compression lvl 10 is a miniz thing that doesn't exist in normal zlib */
0 0 if (expect_false( lvl < 1 || lvl > 10 )) /* Sekrit: compression lvl 10 is a miniz thing that doesn't exist in normal zlib */
535 0 16252 if (enc->protocol_version < 3)
539 0 16252 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_COMPRESS_LEVEL);
540 0 16252 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
541 0 0 IV lvl = SvIV(val);
542 0 0 if (expect_false( lvl < 1 || lvl > 22 )) /* TODO: ZSTD_maxCLevel() */
0 0 if (expect_false( lvl < 1 || lvl > 22 )) /* TODO: ZSTD_maxCLevel() */
0 0 if (expect_false( lvl < 1 || lvl > 22 )) /* TODO: ZSTD_maxCLevel() */
554 32504 170891 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_SNAPPY_INCR);
555 32504 170891 if ( val && SvTRUE(val) ) {
32504 0 if ( val && SvTRUE(val) ) {
0 32504 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 32504 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 32504 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
32504 0 if ( val && SvTRUE(val) ) {
32504 0 if ( val && SvTRUE(val) ) {
0 32504 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
32504 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
561 40630 130261 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_SNAPPY);
562 40630 130261 if ( val && SvTRUE(val) ) {
40630 0 if ( val && SvTRUE(val) ) {
0 40630 if ( val && SvTRUE(val) ) {
0 40630 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 40630 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
40630 0 if ( val && SvTRUE(val) ) {
40630 0 if ( val && SvTRUE(val) ) {
0 40630 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
40630 0 if ( val && SvTRUE(val) ) {
564 32504 8126 if (expect_true( enc->protocol_version > 1 ))
573 1 244024 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_UNDEF_UNKNOWN);
574 1 244024 if ( val && SvTRUE(val) ) {
1 0 if ( val && SvTRUE(val) ) {
0 1 if ( val && SvTRUE(val) ) {
0 1 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 1 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
1 0 if ( val && SvTRUE(val) ) {
1 0 if ( val && SvTRUE(val) ) {
0 1 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
1 0 if ( val && SvTRUE(val) ) {
579 40636 203389 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_SORT_KEYS);
580 203389 40636 if ( !val )
581 56888 146501 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_CANONICAL);
582 97524 146501 if ( val && SvTRUE(val) ) {
97524 0 if ( val && SvTRUE(val) ) {
0 97524 if ( val && SvTRUE(val) ) {
0 97524 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 97524 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
97524 0 if ( val && SvTRUE(val) ) {
97524 0 if ( val && SvTRUE(val) ) {
0 97524 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
97524 0 if ( val && SvTRUE(val) ) {
584 97524 0 if (SvIV(val) > 1) {
24378 73146 if (SvIV(val) > 1) {
586 24378 0 if (SvIV(val) > 2) {
12189 12189 if (SvIV(val) > 2) {
592 2 244023 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_CANONICAL_REFS);
593 244023 2 if ( !val )
594 56888 187135 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_CANONICAL);
595 56890 187135 if ( val && SvTRUE(val) )
56890 0 if ( val && SvTRUE(val) )
0 56890 if ( val && SvTRUE(val) )
0 56890 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 56890 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
56890 0 if ( val && SvTRUE(val) )
56890 0 if ( val && SvTRUE(val) )
0 56890 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
56890 0 if ( val && SvTRUE(val) )
598 43 243982 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_ALIASED_DEDUPE_STRINGS);
599 43 243982 if ( val && SvTRUE(val) )
43 0 if ( val && SvTRUE(val) )
0 43 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 43 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 43 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
43 0 if ( val && SvTRUE(val) )
43 0 if ( val && SvTRUE(val) )
0 43 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
43 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
602 16294 227688 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_DEDUPE_STRINGS);
603 16294 227688 if ( val && SvTRUE(val) )
16294 0 if ( val && SvTRUE(val) )
0 16294 if ( val && SvTRUE(val) )
0 16294 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 16294 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
16294 0 if ( val && SvTRUE(val) )
16294 0 if ( val && SvTRUE(val) )
0 16294 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
16294 0 if ( val && SvTRUE(val) )
607 8 244017 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_STRINGIFY_UNKNOWN);
608 8 244017 if ( val && SvTRUE(val) ) {
8 0 if ( val && SvTRUE(val) ) {
0 8 if ( val && SvTRUE(val) ) {
0 8 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 8 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
8 0 if ( val && SvTRUE(val) ) {
8 0 if ( val && SvTRUE(val) ) {
0 8 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
8 0 if ( val && SvTRUE(val) ) {
609 0 8 if (expect_false( undef_unknown ))
615 3 244022 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_WARN_UNKNOWN);
616 3 244022 if ( val && SvTRUE(val) ) {
3 0 if ( val && SvTRUE(val) ) {
0 3 if ( val && SvTRUE(val) ) {
0 3 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 3 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
3 0 if ( val && SvTRUE(val) ) {
3 0 if ( val && SvTRUE(val) ) {
0 3 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
0 0 if ( val && SvTRUE(val) ) {
3 0 if ( val && SvTRUE(val) ) {
618 3 0 if (SvIV(val) < 0)
1 2 if (SvIV(val) < 0)
622 113764 130261 if (compression_format) {
624 20315 93449 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_COMPRESS_THRESHOLD);
625 20315 93449 if ( val && SvOK(val) )
0 20315 if ( val && SvOK(val) )
0 0 if ( val && SvOK(val) )
0 0 if ( val && SvOK(val) )
626 20315 0 enc->compress_threshold = SvIV(val);
627 73134 20315 else if (compression_format == 1) {
629 0 73134 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_SNAPPY_THRESHOLD);
630 0 73134 if ( val && SvOK(val) )
0 0 if ( val && SvOK(val) )
0 0 if ( val && SvOK(val) )
0 0 if ( val && SvOK(val) )
631 0 0 enc->compress_threshold = SvIV(val);
635 2 244023 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_MAX_RECURSION_DEPTH);
636 2 244023 if ( val && SvTRUE(val) )
2 0 if ( val && SvTRUE(val) )
0 2 if ( val && SvTRUE(val) )
0 2 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 2 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
2 0 if ( val && SvTRUE(val) )
2 0 if ( val && SvTRUE(val) )
0 2 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
2 0 if ( val && SvTRUE(val) )
637 0 2 enc->max_recursion_depth = SvUV(val);
639 0 244025 my_hv_fetchs(he, val, opt, SRL_ENC_OPT_IDX_USE_STANDARD_DOUBLE);
640 0 244025 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
0 0 if ( val && SvTRUE(val) )
663 1 1 if (expect_false(SRL_ENC_HAVE_OPTION(enc, SRL_F_ENABLE_FREEZE_SUPPORT))) {
719 0 1189144 BUF_SIZE_ASSERT(&enc->buf, sizeof(SRL_MAGIC_STRING) + 1 + 1);
720 937300 251844 if (expect_true( enc->protocol_version > 2 ))
725 734365 454779 if (user_header_src == NULL) {
731 0 454779 if (expect_false( enc->protocol_version < 2 ))
736 59 454720 if (enc->tmp_buf.start == NULL)
741 0 454779 SRL_ENC_UPDATE_BODY_POS(enc);
750 0 454779 BUF_SIZE_ASSERT(&enc->buf, user_data_len + 1 + SRL_MAX_VARINT_LENGTH); /* +1 for bit field, +X for header len */
795 225307 0 NV nv= SvNV(src);
804 210415 14892 if ( f == nv || nv != nv ) {
0 210415 if ( f == nv || nv != nv ) {
805 0 14892 BUF_SIZE_ASSERT(&enc->buf, 1 + sizeof(f)); /* tag + payload */
815 0 210415 BUF_SIZE_ASSERT(&enc->buf, 1 + sizeof(d)); /* tag + payload */
854 1264996 59568 if (expect_true( SvIOK_UV(src) || SvIV(src) >= 0 )) {
1264996 0 if (expect_true( SvIOK_UV(src) || SvIV(src) >= 0 )) {
1040677 224319 if (expect_true( SvIOK_UV(src) || SvIV(src) >= 0 )) {
0 0 if (expect_true( SvIOK_UV(src) || SvIV(src) >= 0 )) {
1100245 224319 if (expect_true( SvIOK_UV(src) || SvIV(src) >= 0 )) {
855 59568 1040677 const UV num = SvUV(src); /* FIXME is SvUV_nomg good enough because of the GET magic in dump_sv? SvUVX after having checked the flags? */
856 195511 904734 if (num <= 15) {
866 224319 0 const IV num = SvIV(src);
867 29813 194506 if (num >= -16) {
891 4448 60458 if (expect_false( SRL_ENC_HAVE_OPTION(enc, SRL_F_ENABLE_FREEZE_SUPPORT) )) {
897 8 4440 if (expect_false( method != NULL )) {
899 3 5 PTABLE_t *freezeobj_svhash = SRL_GET_FREEZEOBJ_SVHASH(enc);
900 5 3 if (SvREFCNT(referent)>1) {
903 7 1 if (!replacement) {
908 0 7 PUSHMARK(SP);
910 0 7 EXTEND(SP, 2);
921 11 7 while ( count-- > 0) {
924 0 11 if (!av_store((AV*)replacement,count,tmp))
929 7 0 FREETMPS;
948 1 64905 if (expect_false( SRL_ENC_HAVE_OPTION(enc, SRL_F_CROAK_ON_BLESS)) ) {
952 1 64904 } else if (expect_false( SRL_ENC_HAVE_OPTION(enc, SRL_F_NO_BLESS_OBJECTS) )) {
956 6473 58431 PTABLE_t *string_seenhash = SRL_GET_STR_PTR_SEENHASH(enc);
958 64870 34 int is_av_or_hv= (svt == SVt_PVAV || svt== SVt_PVHV);
13 64857 int is_av_or_hv= (svt == SVt_PVAV || svt== SVt_PVHV);
961 64857 47 : (ptrdiff_t)PTABLE_fetch(string_seenhash, referent);
963 28912 35992 if (oldoffset) {
966 8 35984 svt= replacement ? SvTYPE(replacement) : SvTYPE(referent);
967 35992 0 if (SRL_UNSUPPORTED_SvTYPE(svt)) {
35979 13 if (SRL_UNSUPPORTED_SvTYPE(svt)) {
35979 0 if (SRL_UNSUPPORTED_SvTYPE(svt)) {
0 35979 if (SRL_UNSUPPORTED_SvTYPE(svt)) {
973 900 35079 if (oldoffset != 0) {
975 3 897 srl_buf_cat_varint(aTHX_ &enc->buf,
980 35079 0 const char *class_name = HvNAME_get(stash);
35079 0 const char *class_name = HvNAME_get(stash);
0 35079 const char *class_name = HvNAME_get(stash);
0 0 const char *class_name = HvNAME_get(stash);
35079 0 const char *class_name = HvNAME_get(stash);
0 35079 const char *class_name = HvNAME_get(stash);
981 35079 0 const size_t len = HvNAMELEN_get(stash);
35079 0 const size_t len = HvNAMELEN_get(stash);
0 35079 const size_t len = HvNAMELEN_get(stash);
0 0 const size_t len = HvNAMELEN_get(stash);
35079 0 const size_t len = HvNAMELEN_get(stash);
0 35079 const size_t len = HvNAMELEN_get(stash);
990 5 35074 srl_buf_cat_char(&enc->buf, expect_false(replacement) ? SRL_HDR_OBJECT_FREEZE : SRL_HDR_OBJECT);
997 35079 0 srl_dump_pv(aTHX_ enc, class_name, len, HvNAMEUTF8(stash));
35079 0 srl_dump_pv(aTHX_ enc, class_name, len, HvNAMEUTF8(stash));
0 35079 srl_dump_pv(aTHX_ enc, class_name, len, HvNAMEUTF8(stash));
0 0 srl_dump_pv(aTHX_ enc, class_name, len, HvNAMEUTF8(stash));
35079 0 srl_dump_pv(aTHX_ enc, class_name, len, HvNAMEUTF8(stash));
0 35079 srl_dump_pv(aTHX_ enc, class_name, len, HvNAMEUTF8(stash));
0 35079 srl_dump_pv(aTHX_ enc, class_name, len, HvNAMEUTF8(stash));
1002 47 35932 if (is_av_or_hv) {
1024 2 1189142 if (SRL_ENC_HAVE_OPER_FLAG(enc, SRL_OF_ENCODER_DIRTY)) {
1046 552432 636712 if (expect_false(compress_flags))
1056 24372 528060 SRL_ENC_UPDATE_BODY_POS(enc);
1062 198750 353682 if ((uncompressed_body_length < (STRLEN)enc->compress_threshold) || uncompressed_body_length > max_len) {
0 198750 if ((uncompressed_body_length < (STRLEN)enc->compress_threshold) || uncompressed_body_length > max_len) {
1063 0 353682 if (uncompressed_body_length > max_len) {
1076 6480 192270 SRL_ENC_UPDATE_BODY_POS(enc);
1083 24372 612340 SRL_ENC_UPDATE_BODY_POS(enc);
1101 244247 944893 if ( flags && /* for now simpler and equivalent to: flags == SRL_ENC_SV_REUSE_MAYBE */
118374 125873 if ( flags && /* for now simpler and equivalent to: flags == SRL_ENC_SV_REUSE_MAYBE */
1102 59895 58479 (BUF_POS_OFS(&enc->buf) > 20 && BUF_SPACE(&enc->buf) < BUF_POS_OFS(&enc->buf) )
1121 1643901 18 if (!weak_seenhash)
1132 22 18 while ( NULL != (ent = PTABLE_iter_next(it)) ) {
1134 4 18 if ( offset ) {
1182 165676 23668 while((ch = *fptr++)) {
1183 7896 157780 if(match_flags & 1) {
1211 5958 1070709 BUF_SIZE_ASSERT_AV(&enc->buf, n);
1213 1076657 10 if (n < 16 && refcount == 1 && !SRL_ENC_HAVE_OPTION(enc,SRL_F_CANONICAL_REFS)) {
829788 246869 if (n < 16 && refcount == 1 && !SRL_ENC_HAVE_OPTION(enc,SRL_F_CANONICAL_REFS)) {
646570 183218 if (n < 16 && refcount == 1 && !SRL_ENC_HAVE_OPTION(enc,SRL_F_CANONICAL_REFS)) {
1220 31567 1045100 if (!n)
1223 1 1045099 if (SvMAGICAL(src)) {
1225 5 1 for (i = 0; i < n; ++i) {
1227 0 5 CALL_SRL_DUMP_SVP(enc, svp);
0 5 CALL_SRL_DUMP_SVP(enc, svp);
5 0 CALL_SRL_DUMP_SVP(enc, svp);
0 5 CALL_SRL_DUMP_SVP(enc, svp);
0 5 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
0 0 CALL_SRL_DUMP_SVP(enc, svp);
1233 2547554 1044100 for ( ; svp < end ; svp++) {
1235 2 2547552 CALL_SRL_DUMP_SV(enc, *svp);
0 2547552 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
2543129 4423 CALL_SRL_DUMP_SV(enc, *svp);
2280305 262824 CALL_SRL_DUMP_SV(enc, *svp);
1417992 862313 CALL_SRL_DUMP_SV(enc, *svp);
686696 731296 CALL_SRL_DUMP_SV(enc, *svp);
686696 0 CALL_SRL_DUMP_SV(enc, *svp);
22484 664212 CALL_SRL_DUMP_SV(enc, *svp);
22484 0 CALL_SRL_DUMP_SV(enc, *svp);
12848 9636 CALL_SRL_DUMP_SV(enc, *svp);
0 12848 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
9636 0 CALL_SRL_DUMP_SV(enc, *svp);
6424 3212 CALL_SRL_DUMP_SV(enc, *svp);
6424 0 CALL_SRL_DUMP_SV(enc, *svp);
6424 0 CALL_SRL_DUMP_SV(enc, *svp);
3212 3212 CALL_SRL_DUMP_SV(enc, *svp);
3212 0 CALL_SRL_DUMP_SV(enc, *svp);
6424 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
35332 628880 CALL_SRL_DUMP_SV(enc, *svp);
3212 32120 CALL_SRL_DUMP_SV(enc, *svp);
3212 0 CALL_SRL_DUMP_SV(enc, *svp);
3212 0 CALL_SRL_DUMP_SV(enc, *svp);
0 3212 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
0 0 CALL_SRL_DUMP_SV(enc, *svp);
576621 154675 CALL_SRL_DUMP_SV(enc, *svp);
141036 13639 CALL_SRL_DUMP_SV(enc, *svp);
0 13639 CALL_SRL_DUMP_SV(enc, *svp);
0 13639 CALL_SRL_DUMP_SV(enc, *svp);
0 13639 CALL_SRL_DUMP_SV(enc, *svp);
1249 528803 1044243 for (he= *he_ptr++; he; he= HeNEXT(he) ) {
1251 528803 0 if (v != &PL_sv_placeholder) {
1253 0 528803 CALL_SRL_DUMP_SV(enc, v);
0 528803 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
521620 7183 CALL_SRL_DUMP_SV(enc, v);
521620 0 CALL_SRL_DUMP_SV(enc, v);
378631 142989 CALL_SRL_DUMP_SV(enc, v);
277411 101220 CALL_SRL_DUMP_SV(enc, v);
277411 0 CALL_SRL_DUMP_SV(enc, v);
1232 276179 CALL_SRL_DUMP_SV(enc, v);
1232 0 CALL_SRL_DUMP_SV(enc, v);
704 528 CALL_SRL_DUMP_SV(enc, v);
0 704 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
528 0 CALL_SRL_DUMP_SV(enc, v);
352 176 CALL_SRL_DUMP_SV(enc, v);
352 0 CALL_SRL_DUMP_SV(enc, v);
352 0 CALL_SRL_DUMP_SV(enc, v);
176 176 CALL_SRL_DUMP_SV(enc, v);
176 0 CALL_SRL_DUMP_SV(enc, v);
352 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
1936 274243 CALL_SRL_DUMP_SV(enc, v);
176 1760 CALL_SRL_DUMP_SV(enc, v);
176 0 CALL_SRL_DUMP_SV(enc, v);
176 0 CALL_SRL_DUMP_SV(enc, v);
0 176 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
57148 44072 CALL_SRL_DUMP_SV(enc, v);
16542 27530 CALL_SRL_DUMP_SV(enc, v);
0 27530 CALL_SRL_DUMP_SV(enc, v);
0 27530 CALL_SRL_DUMP_SV(enc, v);
0 27530 CALL_SRL_DUMP_SV(enc, v);
1254 176709 352094 if (--n == 0) {
1260 1044243 176709 } while ( he_ptr < he_end );
1271 4 1 while ((he = hv_iternext(src))) {
1273 0 4 if (expect_false( i == n ))
1277 0 4 CALL_SRL_DUMP_SV(enc, v);
4 0 CALL_SRL_DUMP_SV(enc, v);
0 4 CALL_SRL_DUMP_SV(enc, v);
0 4 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
1280 0 1 if (expect_false( i != n ))
1344 82 519810 const STRLEN a_len= a->key.sv ? SvCUR(a->key.sv) : HeKLEN(a->val.he);
1345 81 519811 const STRLEN b_len= b->key.sv ? SvCUR(b->key.sv) : HeKLEN(b->val.he);
1346 225140 294752 if (a_len != b_len) {
1349 37 294715 a_isutf8= (a->key.sv ? SvUTF8(a->key.sv) : HeKUTF8(a->val.he)) ? 0 : 1;
17 294735 a_isutf8= (a->key.sv ? SvUTF8(a->key.sv) : HeKUTF8(a->val.he)) ? 0 : 1;
1350 37 294715 b_isutf8= (b->key.sv ? SvUTF8(b->key.sv) : HeKUTF8(b->val.he)) ? 0 : 1;
13 294739 b_isutf8= (b->key.sv ? SvUTF8(b->key.sv) : HeKUTF8(b->val.he)) ? 0 : 1;
1351 18 294734 if (a_isutf8 != b_isutf8) {
1354 26 294708 a_ptr= a->key.sv ? SvPVX(a->key.sv) : HeKEY(a->val.he);
1355 26 294708 b_ptr= b->key.sv ? SvPVX(b->key.sv) : HeKEY(b->val.he);
1366 28260 81018 if ( SRL_ENC_HAVE_OPTION(enc, SRL_F_SORT_KEYS_PERL) ) {
1367 14130 14130 int sort_dir= SRL_ENC_HAVE_OPTION(enc, SRL_F_SORT_KEYS_PERL_REV) ? 1 : -1;
1379 3240 25020 QSORT(HE_SV, array, n, ISLT_SV_CMP);
4052 4544 QSORT(HE_SV, array, n, ISLT_SV_CMP);
5631 2965 QSORT(HE_SV, array, n, ISLT_SV_CMP);
2507 3124 QSORT(HE_SV, array, n, ISLT_SV_CMP);
17066 21225 QSORT(HE_SV, array, n, ISLT_SV_CMP);
16376 21225 QSORT(HE_SV, array, n, ISLT_SV_CMP);
15225 6000 QSORT(HE_SV, array, n, ISLT_SV_CMP);
4115 11110 QSORT(HE_SV, array, n, ISLT_SV_CMP);
2833 8277 QSORT(HE_SV, array, n, ISLT_SV_CMP);
1648 4352 QSORT(HE_SV, array, n, ISLT_SV_CMP);
12629 6948 QSORT(HE_SV, array, n, ISLT_SV_CMP);
5965 2631 QSORT(HE_SV, array, n, ISLT_SV_CMP);
4205 1760 QSORT(HE_SV, array, n, ISLT_SV_CMP);
1666 965 QSORT(HE_SV, array, n, ISLT_SV_CMP);
129 836 QSORT(HE_SV, array, n, ISLT_SV_CMP);
8596 3240 QSORT(HE_SV, array, n, ISLT_SV_CMP);
25020 3240 QSORT(HE_SV, array, n, ISLT_SV_CMP);
7455 16845 QSORT(HE_SV, array, n, ISLT_SV_CMP);
24300 28260 QSORT(HE_SV, array, n, ISLT_SV_CMP);
6166 22094 QSORT(HE_SV, array, n, ISLT_SV_CMP);
20640 39690 QSORT(HE_SV, array, n, ISLT_SV_CMP);
15216 24474 QSORT(HE_SV, array, n, ISLT_SV_CMP);
20640 15216 QSORT(HE_SV, array, n, ISLT_SV_CMP);
15216 15216 QSORT(HE_SV, array, n, ISLT_SV_CMP);
39690 28260 QSORT(HE_SV, array, n, ISLT_SV_CMP);
1381 0 28260 FREETMPS;
1385 9294 71724 QSORT(HE_SV, array, n, ISLT_HE_SV);
11960 12170 QSORT(HE_SV, array, n, ISLT_HE_SV);
15279 8851 QSORT(HE_SV, array, n, ISLT_HE_SV);
7473 7806 QSORT(HE_SV, array, n, ISLT_HE_SV);
44669 58718 QSORT(HE_SV, array, n, ISLT_HE_SV);
48913 58718 QSORT(HE_SV, array, n, ISLT_HE_SV);
42350 16368 QSORT(HE_SV, array, n, ISLT_HE_SV);
11242 31108 QSORT(HE_SV, array, n, ISLT_HE_SV);
7838 23270 QSORT(HE_SV, array, n, ISLT_HE_SV);
5050 11318 QSORT(HE_SV, array, n, ISLT_HE_SV);
34588 19080 QSORT(HE_SV, array, n, ISLT_HE_SV);
17038 7092 QSORT(HE_SV, array, n, ISLT_HE_SV);
12211 4827 QSORT(HE_SV, array, n, ISLT_HE_SV);
4175 2917 QSORT(HE_SV, array, n, ISLT_HE_SV);
507 2410 QSORT(HE_SV, array, n, ISLT_HE_SV);
24130 9294 QSORT(HE_SV, array, n, ISLT_HE_SV);
71724 9294 QSORT(HE_SV, array, n, ISLT_HE_SV);
21463 48221 QSORT(HE_SV, array, n, ISLT_HE_SV);
69684 81018 QSORT(HE_SV, array, n, ISLT_HE_SV);
18229 62789 QSORT(HE_SV, array, n, ISLT_HE_SV);
61791 113860 QSORT(HE_SV, array, n, ISLT_HE_SV);
44734 69126 QSORT(HE_SV, array, n, ISLT_HE_SV);
61791 44734 QSORT(HE_SV, array, n, ISLT_HE_SV);
44734 44734 QSORT(HE_SV, array, n, ISLT_HE_SV);
113860 81018 QSORT(HE_SV, array, n, ISLT_HE_SV);
1410 28261 0 if (!array) {
1411 0 28261 Newx(array, n, HE_SV);
1415 78497 28261 while ((he = hv_iternext(src))) {
1416 0 78497 if (expect_false( i == n ))
1417 0 0 croak("Panic: cannot serialize a %s hash which changes its size!",is_tie ? "tied" : "untied");
1422 0 28261 if (expect_false( i != n ))
1423 0 0 croak("Panic: can not serialize a %s hash which changes it size!", is_tie ? "tied" : "untied");
1427 78497 28261 while ( array < array_end ) {
1428 0 78497 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 78497 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
78497 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
78497 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
78497 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
78497 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
78497 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 78497 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 78497 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->key.sv);
1429 0 78497 CALL_SRL_DUMP_SV(enc, array->val.sv);
17 78480 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 17 CALL_SRL_DUMP_SV(enc, array->val.sv);
78480 17 CALL_SRL_DUMP_SV(enc, array->val.sv);
78480 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
58500 19980 CALL_SRL_DUMP_SV(enc, array->val.sv);
43200 15300 CALL_SRL_DUMP_SV(enc, array->val.sv);
43200 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
210 42990 CALL_SRL_DUMP_SV(enc, array->val.sv);
210 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
120 90 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 120 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
90 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
60 30 CALL_SRL_DUMP_SV(enc, array->val.sv);
60 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
60 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
30 30 CALL_SRL_DUMP_SV(enc, array->val.sv);
30 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
60 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
330 42660 CALL_SRL_DUMP_SV(enc, array->val.sv);
30 300 CALL_SRL_DUMP_SV(enc, array->val.sv);
30 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
30 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 30 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 0 CALL_SRL_DUMP_SV(enc, array->val.sv);
8370 6930 CALL_SRL_DUMP_SV(enc, array->val.sv);
2790 4140 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 4140 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 4140 CALL_SRL_DUMP_SV(enc, array->val.sv);
0 4140 CALL_SRL_DUMP_SV(enc, array->val.sv);
1451 0 81017 Newx(array, n, HE_SV);
1454 225053 81017 while ((he = hv_iternext(src))) {
1455 1 225052 if ( HeKWASUTF8(he) ) {
1458 225052 0 array_ptr->key.sv = HeSVKEY(he);
0 225052 array_ptr->key.sv = HeSVKEY(he);
1467 225053 81017 for ( array_end= array + n; array < array_end; array++ ) {
1472 0 225053 CALL_SRL_DUMP_SV(enc, v);
0 225053 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
225053 0 CALL_SRL_DUMP_SV(enc, v);
225053 0 CALL_SRL_DUMP_SV(enc, v);
167777 57276 CALL_SRL_DUMP_SV(enc, v);
123840 43937 CALL_SRL_DUMP_SV(enc, v);
123840 0 CALL_SRL_DUMP_SV(enc, v);
602 123238 CALL_SRL_DUMP_SV(enc, v);
602 0 CALL_SRL_DUMP_SV(enc, v);
344 258 CALL_SRL_DUMP_SV(enc, v);
0 344 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
258 0 CALL_SRL_DUMP_SV(enc, v);
172 86 CALL_SRL_DUMP_SV(enc, v);
172 0 CALL_SRL_DUMP_SV(enc, v);
172 0 CALL_SRL_DUMP_SV(enc, v);
86 86 CALL_SRL_DUMP_SV(enc, v);
86 0 CALL_SRL_DUMP_SV(enc, v);
172 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
946 122292 CALL_SRL_DUMP_SV(enc, v);
86 860 CALL_SRL_DUMP_SV(enc, v);
86 0 CALL_SRL_DUMP_SV(enc, v);
86 0 CALL_SRL_DUMP_SV(enc, v);
0 86 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
0 0 CALL_SRL_DUMP_SV(enc, v);
24071 19866 CALL_SRL_DUMP_SV(enc, v);
7998 11868 CALL_SRL_DUMP_SV(enc, v);
0 11868 CALL_SRL_DUMP_SV(enc, v);
0 11868 CALL_SRL_DUMP_SV(enc, v);
0 11868 CALL_SRL_DUMP_SV(enc, v);
1482 2 311652 if ( SvMAGICAL(src) ) {
1486 21 2 while ((he = hv_iternext(src))) { ++n; }
1489 0 311652 n= HvUSEDKEYS(src);
1492 8205 303449 BUF_SIZE_ASSERT_HV(&enc->buf, n);
1493 310640 1014 if (n < 16 && refcount == 1 && !SRL_ENC_HAVE_OPTION(enc,SRL_F_CANONICAL_REFS)) {
235515 75125 if (n < 16 && refcount == 1 && !SRL_ENC_HAVE_OPTION(enc,SRL_F_CANONICAL_REFS)) {
184760 50755 if (n < 16 && refcount == 1 && !SRL_ENC_HAVE_OPTION(enc,SRL_F_CANONICAL_REFS)) {
1500 285988 25666 if ( n ) {
1501 285986 2 if ( SvMAGICAL(src) || SRL_ENC_HAVE_OPTION(enc, SRL_F_SORT_KEYS_PERL) ) {
28260 257726 if ( SvMAGICAL(src) || SRL_ENC_HAVE_OPTION(enc, SRL_F_SORT_KEYS_PERL) ) {
1504 28261 1 if ( SRL_ENC_HAVE_OPTION(enc, SRL_F_SORT_KEYS|SRL_F_SORT_KEYS_PERL) ) {
1512 81017 176709 if ( SRL_ENC_HAVE_OPTION(enc, SRL_F_SORT_KEYS) ) {
1531 4 753856 if (HeKLEN(src) == HEf_SVKEY) {
1532 4 0 SV *sv = HeSVKEY(src);
4 0 SV *sv = HeSVKEY(src);
1534 0 4 SvGETMAGIC(sv);
0 0 SvGETMAGIC(sv);
1535 4 0 str = SvPV(sv, len);
1547 753856 0 if ( share_keys && SRL_ENC_HAVE_OPTION(enc, SRL_F_SHARED_HASHKEYS) /* only enter branch if shared hk's enabled */
1549 753848 8 && (!DO_SHARED_HASH_ENTRY_REFCOUNT_CHECK
1554 36741 717107 PTABLE_t *string_seenhash = SRL_GET_STR_PTR_SEENHASH(enc);
1556 16845 737003 if (oldoffset != 0) {
1568 737006 5 mode= HeKWASUTF8(src) ? 2 : HeKUTF8(src) ? 1 : 0;
1570 5 737010 if (mode == 2) { /* must convert back to utf8 */
1583 1603298 0 const char * const str= SvPV(src, len);
1584 102914 1500384 if ( SRL_ENC_HAVE_OPTION(enc, SRL_F_DEDUPE_STRINGS) && len > 3 ) {
57438 45476 if ( SRL_ENC_HAVE_OPTION(enc, SRL_F_DEDUPE_STRINGS) && len > 3 ) {
1585 6067 51371 HV *string_deduper_hv= SRL_GET_STR_DEDUPER_HV(enc);
1587 0 57438 if (!dupe_offset_he) {
1590 401 57037 const char out_tag= SRL_ENC_HAVE_OPTION(enc, SRL_F_ALIASED_DEDUPE_STRINGS)
1594 26408 31030 if (SvIOK(ofs_sv)) {
1596 5 26403 if (out_tag == SRL_HDR_ALIAS)
1597 0 5 SRL_SET_TRACK_FLAG(*(enc->buf.body_pos + SvUV(ofs_sv)));
1598 26408 0 srl_buf_cat_varint(aTHX_ &enc->buf, out_tag, SvIV(ofs_sv));
1600 0 31030 } else if (SvUOK(ofs_sv)) {
1601 0 0 srl_buf_cat_varint(aTHX_ &enc->buf, out_tag, SvUV(ofs_sv));
1615 124582 2271756 BUF_SIZE_ASSERT(&enc->buf, 1 + SRL_MAX_VARINT_LENGTH + src_len); /* overallocate a bit sometimes */
1616 138468 2257870 if (is_utf8) {
1618 1678159 579711 } else if (src_len <= SRL_MASK_SHORT_BINARY_LEN) {
1630 123235 0 if (SvOOK(hv)) {
1661 1 3058113 if (expect_false( ++enc->recursion_depth == enc->max_recursion_depth )) {
1672 66 5489814 if ( SvMAGICAL(src) ) {
1673 1 65 SvGETMAGIC(src);
0 1 SvGETMAGIC(src);
1675 64 2 if (svt != SVt_PVHV)
1680 367739 5122141 if (expect_false( svt == SVt_PVHV && SvOOK(src) )) {
123235 244504 if (expect_false( svt == SVt_PVHV && SvOOK(src) )) {
123235 5366645 if (expect_false( svt == SVt_PVHV && SvOOK(src) )) {
1685 5489844 36 if (expect_false( mg || backrefs )) {
7 5489837 if (expect_false( mg || backrefs )) {
43 5489837 if (expect_false( mg || backrefs )) {
1686 18 25 PTABLE_t *weak_seenhash= SRL_GET_WEAK_SEENHASH(enc);
1688 22 21 if (!pe) {
1696 4 17 if (pe->value)
1705 1253255 4236625 if ( expect_false( refcount > 1 ) ) {
1706 39856 1213399 if (src == &PL_sv_undef && enc->protocol_version >=3 ) {
36570 3286 if (src == &PL_sv_undef && enc->protocol_version >=3 ) {
1712 8 1216677 if (src == &PL_sv_yes) {
1718 8 1216669 if (src == &PL_sv_no) {
1724 116435 1100234 PTABLE_t *ref_seenhash= SRL_GET_REF_SEENHASH(enc);
1726 432469 784200 if (expect_false(oldoffset)) {
1728 299309 133160 if (ref_rewrite_pos) {
1745 0 5020825 if (expect_false( weakref_ofs != 0 )) {
1750 7 5020818 if (replacement) {
1751 0 7 if (SvROK(replacement)) {
1766 393738 4627087 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
393738 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
34644 359094 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
34644 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
21832 12812 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
8 21824 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
8 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
12812 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
11080 1732 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
11080 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
10952 128 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
9460 1492 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
1532 7928 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
3024 7928 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
128 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
64 64 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
32 32 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 32 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
96 32 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
7924 36 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
7924 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
7884 40 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
17208 341886 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
1532 15676 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
1460 72 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
1460 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 1460 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 0 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
658278 3968809 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
56941 3911868 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 3911868 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 3911868 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
0 3911868 _SRL_IF_SIMPLE_DIRECT_DUMP_SV(enc, src, svt)
1771 23668 3888200 if ( expect_false( svt == SVt_REGEXP ) ) {
1776 2431768 1456432 if (SvROK(src)) {
1786 24 2431744 if (expect_false( SvWEAKREF(src) )) {
1794 64906 2366862 if ( expect_false( sv_isobject(src) ) ) {
1797 35932 28973 if (srl_dump_classname(aTHX_ enc, referent, replacement)) {
1822 311654 1144778 if (svt == SVt_PVHV) {
1826 1076667 68111 if (svt == SVt_PVAV) {
1830 68111 0 if ( ! SvOK(src) ) { /* undef and weird shit */
68111 0 if ( ! SvOK(src) ) { /* undef and weird shit */
68111 0 if ( ! SvOK(src) ) { /* undef and weird shit */
1831 68111 0 if ( SRL_UNSUPPORTED_SvTYPE(svt) ) {
68090 21 if ( SRL_UNSUPPORTED_SvTYPE(svt) ) {
68090 0 if ( SRL_UNSUPPORTED_SvTYPE(svt) ) {
0 68090 if ( SRL_UNSUPPORTED_SvTYPE(svt) ) {
1886 1 20 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 1 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
1 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 1 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
18 2 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
4 14 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
2 2 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
2 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
2 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
2 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 2 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
2 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 2 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
2 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
1 1 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
18 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
4 14 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 18 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
1888 2232 65858 else if (src == &PL_sv_undef && enc->protocol_version >= 3 ) {
0 2232 else if (src == &PL_sv_undef && enc->protocol_version >= 3 ) {
1895 0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);
0 0 SRL_HANDLE_UNSUPPORTED_SvTYPE(enc, src, svt, refsv, ref_rewrite_pos);