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); |