52 | 84.3M | } Unexecuted instantiation: zpdfops.c:pdfi_countup_impl ghostpdf.c:pdfi_countup_impl Line | Count | Source | 39 | 2.99k | { | 40 | 2.99k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 2.99k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 2.99k | } |
pdf_dict.c:pdfi_countup_impl Line | Count | Source | 39 | 15.6M | { | 40 | 15.6M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 117k | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 117k | return; | 47 | 117k | } | 48 | 15.5M | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 15.5M | } |
pdf_array.c:pdfi_countup_impl Line | Count | Source | 39 | 23.8M | { | 40 | 23.8M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 71.8k | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 71.8k | return; | 47 | 71.8k | } | 48 | 23.7M | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 23.7M | } |
pdf_xref.c:pdfi_countup_impl Line | Count | Source | 39 | 3.14k | { | 40 | 3.14k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 3.14k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 3.14k | } |
Unexecuted instantiation: pdf_int.c:pdfi_countup_impl Unexecuted instantiation: pdf_file.c:pdfi_countup_impl Unexecuted instantiation: pdf_path.c:pdfi_countup_impl pdf_colour.c:pdfi_countup_impl Line | Count | Source | 39 | 39.7k | { | 40 | 39.7k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 39.7k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 39.7k | } |
pdf_pattern.c:pdfi_countup_impl Line | Count | Source | 39 | 3.43k | { | 40 | 3.43k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 458 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 458 | return; | 47 | 458 | } | 48 | 2.97k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 2.97k | } |
pdf_gstate.c:pdfi_countup_impl Line | Count | Source | 39 | 3.92M | { | 40 | 3.92M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 967k | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 967k | return; | 47 | 967k | } | 48 | 2.96M | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 2.96M | } |
pdf_stack.c:pdfi_countup_impl Line | Count | Source | 39 | 38.6M | { | 40 | 38.6M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 6.74M | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 6.74M | return; | 47 | 6.74M | } | 48 | 31.9M | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 31.9M | } |
pdf_image.c:pdfi_countup_impl Line | Count | Source | 39 | 53.7k | { | 40 | 53.7k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 53.7k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 53.7k | } |
pdf_page.c:pdfi_countup_impl Line | Count | Source | 39 | 24.3k | { | 40 | 24.3k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 24.3k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 24.3k | } |
pdf_annot.c:pdfi_countup_impl Line | Count | Source | 39 | 13.9k | { | 40 | 13.9k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 13.9k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 13.9k | } |
Unexecuted instantiation: pdf_mark.c:pdfi_countup_impl pdf_font.c:pdfi_countup_impl Line | Count | Source | 39 | 2.76M | { | 40 | 2.76M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 2.76M | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 2.76M | } |
pdf_font0.c:pdfi_countup_impl Line | Count | Source | 39 | 1.36k | { | 40 | 1.36k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 1.36k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 1.36k | } |
pdf_font1.c:pdfi_countup_impl Line | Count | Source | 39 | 635k | { | 40 | 635k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 230k | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 230k | return; | 47 | 230k | } | 48 | 404k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 404k | } |
pdf_font1C.c:pdfi_countup_impl Line | Count | Source | 39 | 141k | { | 40 | 141k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 258 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 258 | return; | 47 | 258 | } | 48 | 141k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 141k | } |
pdf_fontps.c:pdfi_countup_impl Line | Count | Source | 39 | 4.75M | { | 40 | 4.75M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 4.75M | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 4.75M | } |
pdf_font3.c:pdfi_countup_impl Line | Count | Source | 39 | 309 | { | 40 | 309 | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 309 | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 309 | } |
pdf_fontTT.c:pdfi_countup_impl Line | Count | Source | 39 | 193k | { | 40 | 193k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 1.60k | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 1.60k | return; | 47 | 1.60k | } | 48 | 191k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 191k | } |
pdf_font11.c:pdfi_countup_impl Line | Count | Source | 39 | 3.97k | { | 40 | 3.97k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 3.97k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 3.97k | } |
pdf_cmap.c:pdfi_countup_impl Line | Count | Source | 39 | 31 | { | 40 | 31 | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 31 | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 31 | } |
pdf_fmap.c:pdfi_countup_impl Line | Count | Source | 39 | 6.14k | { | 40 | 6.14k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 6.14k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 6.14k | } |
pdf_text.c:pdfi_countup_impl Line | Count | Source | 39 | 318k | { | 40 | 318k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 318k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 318k | } |
pdf_shading.c:pdfi_countup_impl Line | Count | Source | 39 | 10.9k | { | 40 | 10.9k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 10.9k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 10.9k | } |
Unexecuted instantiation: pdf_func.c:pdfi_countup_impl Unexecuted instantiation: pdf_trans.c:pdfi_countup_impl Unexecuted instantiation: pdf_device.c:pdfi_countup_impl Unexecuted instantiation: pdf_misc.c:pdfi_countup_impl pdf_optcontent.c:pdfi_countup_impl Line | Count | Source | 39 | 70.0k | { | 40 | 70.0k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 70.0k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 70.0k | } |
Unexecuted instantiation: pdf_check.c:pdfi_countup_impl pdf_sec.c:pdfi_countup_impl Line | Count | Source | 39 | 2.79k | { | 40 | 2.79k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 2.79k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 2.79k | } |
Unexecuted instantiation: pdf_utf8.c:pdfi_countup_impl pdf_deref.c:pdfi_countup_impl Line | Count | Source | 39 | 467k | { | 40 | 467k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 73 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 73 | return; | 47 | 73 | } | 48 | 467k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 467k | } |
pdf_repair.c:pdfi_countup_impl Line | Count | Source | 39 | 11.1k | { | 40 | 11.1k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 11.1k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 11.1k | } |
pdf_obj.c:pdfi_countup_impl Line | Count | Source | 39 | 155k | { | 40 | 155k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 155k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 155k | } |
pdf_doc.c:pdfi_countup_impl Line | Count | Source | 39 | 73.8k | { | 40 | 73.8k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 73.8k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 73.8k | } |
pdf_fapi.c:pdfi_countup_impl Line | Count | Source | 39 | 628k | { | 40 | 628k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 41 | 0 | { | 42 | | #if REFCNT_DEBUG | 43 | | if (o == NULL) | 44 | | dprintf("Incrementing reference count of NULL pointer\n"); | 45 | | #endif | 46 | 0 | return; | 47 | 0 | } | 48 | 628k | o->refcnt++; | 49 | | #if REFCNT_DEBUG | 50 | | outprintf(ctx->memory, "Incrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 51 | | #endif | 52 | 628k | } |
|
101 | 40.6M | } zpdfops.c:pdfi_countdown_impl Line | Count | Source | 55 | 137k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 137k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 27.7k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 109k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 109k | if (o->refcnt != 0) | 78 | 103k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 6.09k | pdfi_free_object(o); | 101 | 6.09k | } |
ghostpdf.c:pdfi_countdown_impl Line | Count | Source | 55 | 144k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 144k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 17.5k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 126k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 126k | if (o->refcnt != 0) | 78 | 44.1k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 82.7k | pdfi_free_object(o); | 101 | 82.7k | } |
pdf_dict.c:pdfi_countdown_impl Line | Count | Source | 55 | 13.2M | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 13.2M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 59.5k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 13.1M | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 13.1M | if (o->refcnt != 0) | 78 | 750k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 12.4M | pdfi_free_object(o); | 101 | 12.4M | } |
pdf_array.c:pdfi_countdown_impl Line | Count | Source | 55 | 20.7M | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 20.7M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 9.28M | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 11.4M | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 11.4M | if (o->refcnt != 0) | 78 | 2.59M | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 8.84M | pdfi_free_object(o); | 101 | 8.84M | } |
pdf_xref.c:pdfi_countdown_impl Line | Count | Source | 55 | 6.40k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 6.40k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 993 | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 5.41k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 5.41k | if (o->refcnt != 0) | 78 | 4.23k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 1.17k | pdfi_free_object(o); | 101 | 1.17k | } |
pdf_int.c:pdfi_countdown_impl Line | Count | Source | 55 | 1.16M | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 1.16M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 1.15M | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 3.59k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 3.59k | if (o->refcnt != 0) | 78 | 0 | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 3.59k | pdfi_free_object(o); | 101 | 3.59k | } |
pdf_file.c:pdfi_countdown_impl Line | Count | Source | 55 | 814k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 814k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 719k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 94.2k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 94.2k | if (o->refcnt != 0) | 78 | 94.2k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 0 | pdfi_free_object(o); | 101 | 0 | } |
Unexecuted instantiation: pdf_path.c:pdfi_countdown_impl pdf_colour.c:pdfi_countdown_impl Line | Count | Source | 55 | 206k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 206k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 87.0k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 119k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 119k | if (o->refcnt != 0) | 78 | 88.1k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 31.3k | pdfi_free_object(o); | 101 | 31.3k | } |
pdf_pattern.c:pdfi_countdown_impl Line | Count | Source | 55 | 15.5k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 15.5k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 5.94k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 9.60k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 9.60k | if (o->refcnt != 0) | 78 | 9.60k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 0 | pdfi_free_object(o); | 101 | 0 | } |
pdf_gstate.c:pdfi_countdown_impl Line | Count | Source | 55 | 5.94M | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 5.94M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 2.90M | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 3.03M | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 3.03M | if (o->refcnt != 0) | 78 | 2.92M | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 107k | pdfi_free_object(o); | 101 | 107k | } |
pdf_stack.c:pdfi_countdown_impl Line | Count | Source | 55 | 38.6M | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 38.6M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 6.74M | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 31.9M | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 31.9M | if (o->refcnt != 0) | 78 | 14.6M | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 17.3M | pdfi_free_object(o); | 101 | 17.3M | } |
pdf_image.c:pdfi_countdown_impl Line | Count | Source | 55 | 202k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 202k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 48.0k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 154k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 154k | if (o->refcnt != 0) | 78 | 109k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 45.2k | pdfi_free_object(o); | 101 | 45.2k | } |
pdf_page.c:pdfi_countdown_impl Line | Count | Source | 55 | 114k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 114k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 17.3k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 97.0k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 97.0k | if (o->refcnt != 0) | 78 | 96.9k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 90 | pdfi_free_object(o); | 101 | 90 | } |
pdf_annot.c:pdfi_countdown_impl Line | Count | Source | 55 | 158k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 158k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 65.2k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 92.8k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 92.8k | if (o->refcnt != 0) | 78 | 92.3k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 515 | pdfi_free_object(o); | 101 | 515 | } |
Unexecuted instantiation: pdf_mark.c:pdfi_countdown_impl pdf_font.c:pdfi_countdown_impl Line | Count | Source | 55 | 12.3M | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 12.3M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 743k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 11.5M | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 11.5M | if (o->refcnt != 0) | 78 | 11.1M | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 392k | pdfi_free_object(o); | 101 | 392k | } |
pdf_font0.c:pdfi_countdown_impl Line | Count | Source | 55 | 62.3k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 62.3k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 15.9k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 46.4k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 46.4k | if (o->refcnt != 0) | 78 | 39.5k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 6.88k | pdfi_free_object(o); | 101 | 6.88k | } |
pdf_font1.c:pdfi_countdown_impl Line | Count | Source | 55 | 966k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 966k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 498k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 468k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 468k | if (o->refcnt != 0) | 78 | 331k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 136k | pdfi_free_object(o); | 101 | 136k | } |
pdf_font1C.c:pdfi_countdown_impl Line | Count | Source | 55 | 216k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 216k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 40.8k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 175k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 175k | if (o->refcnt != 0) | 78 | 112k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 62.7k | pdfi_free_object(o); | 101 | 62.7k | } |
pdf_fontps.c:pdfi_countdown_impl Line | Count | Source | 55 | 4.75M | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 4.75M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 21.2k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 4.73M | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 4.73M | if (o->refcnt != 0) | 78 | 4.72M | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 3.21k | pdfi_free_object(o); | 101 | 3.21k | } |
pdf_font3.c:pdfi_countdown_impl Line | Count | Source | 55 | 7.70k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 7.70k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 1.92k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 5.78k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 5.78k | if (o->refcnt != 0) | 78 | 5.26k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 521 | pdfi_free_object(o); | 101 | 521 | } |
pdf_fontTT.c:pdfi_countdown_impl Line | Count | Source | 55 | 347k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 347k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 14.9k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 332k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 332k | if (o->refcnt != 0) | 78 | 315k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 16.8k | pdfi_free_object(o); | 101 | 16.8k | } |
pdf_font11.c:pdfi_countdown_impl Line | Count | Source | 55 | 24.0k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 24.0k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 11.8k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 12.2k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 12.2k | if (o->refcnt != 0) | 78 | 5.59k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 6.63k | pdfi_free_object(o); | 101 | 6.63k | } |
pdf_cmap.c:pdfi_countdown_impl Line | Count | Source | 55 | 4.86k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 4.86k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 4.82k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 46 | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 46 | if (o->refcnt != 0) | 78 | 15 | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 31 | pdfi_free_object(o); | 101 | 31 | } |
pdf_fmap.c:pdfi_countdown_impl Line | Count | Source | 55 | 163k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 163k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 157k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 5.33k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 5.33k | if (o->refcnt != 0) | 78 | 5.33k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 0 | pdfi_free_object(o); | 101 | 0 | } |
pdf_text.c:pdfi_countdown_impl Line | Count | Source | 55 | 2.54M | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 2.54M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 156k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 2.38M | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 2.38M | if (o->refcnt != 0) | 78 | 2.06M | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 318k | pdfi_free_object(o); | 101 | 318k | } |
pdf_shading.c:pdfi_countdown_impl Line | Count | Source | 55 | 39.0k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 39.0k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 11.1k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 27.8k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 27.8k | if (o->refcnt != 0) | 78 | 16.9k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 10.9k | pdfi_free_object(o); | 101 | 10.9k | } |
pdf_func.c:pdfi_countdown_impl Line | Count | Source | 55 | 9.11k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 9.11k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 0 | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 9.11k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 9.11k | if (o->refcnt != 0) | 78 | 9.11k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 0 | pdfi_free_object(o); | 101 | 0 | } |
pdf_trans.c:pdfi_countdown_impl Line | Count | Source | 55 | 13.4k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 13.4k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 7.38k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 6.09k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 6.09k | if (o->refcnt != 0) | 78 | 6.09k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 0 | pdfi_free_object(o); | 101 | 0 | } |
Unexecuted instantiation: pdf_device.c:pdfi_countdown_impl Unexecuted instantiation: pdf_misc.c:pdfi_countdown_impl pdf_optcontent.c:pdfi_countdown_impl Line | Count | Source | 55 | 189k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 189k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 97.6k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 91.9k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 91.9k | if (o->refcnt != 0) | 78 | 21.9k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 70.0k | pdfi_free_object(o); | 101 | 70.0k | } |
pdf_check.c:pdfi_countdown_impl Line | Count | Source | 55 | 522k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 522k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 246k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 275k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 275k | if (o->refcnt != 0) | 78 | 275k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 0 | pdfi_free_object(o); | 101 | 0 | } |
pdf_sec.c:pdfi_countdown_impl Line | Count | Source | 55 | 2.99k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 2.99k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 285 | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 2.70k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 2.70k | if (o->refcnt != 0) | 78 | 1.38k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 1.32k | pdfi_free_object(o); | 101 | 1.32k | } |
Unexecuted instantiation: pdf_utf8.c:pdfi_countdown_impl pdf_deref.c:pdfi_countdown_impl Line | Count | Source | 55 | 145k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 145k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 2.23k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 143k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 143k | if (o->refcnt != 0) | 78 | 131k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 11.7k | pdfi_free_object(o); | 101 | 11.7k | } |
pdf_repair.c:pdfi_countdown_impl Line | Count | Source | 55 | 185k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 185k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 86.4k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 98.8k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 98.8k | if (o->refcnt != 0) | 78 | 95.3k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 3.46k | pdfi_free_object(o); | 101 | 3.46k | } |
pdf_obj.c:pdfi_countdown_impl Line | Count | Source | 55 | 58.1k | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 58.1k | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 0 | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 58.1k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 58.1k | if (o->refcnt != 0) | 78 | 19.1k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 39.0k | pdfi_free_object(o); | 101 | 39.0k | } |
pdf_doc.c:pdfi_countdown_impl Line | Count | Source | 55 | 1.70M | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 1.70M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 970k | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 735k | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 735k | if (o->refcnt != 0) | 78 | 716k | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 18.6k | pdfi_free_object(o); | 101 | 18.6k | } |
pdf_fapi.c:pdfi_countdown_impl Line | Count | Source | 55 | 2.76M | { | 56 | | #if defined(DEBUG) || REFCNT_DEBUG | 57 | | pdf_context *ctx; | 58 | | #endif | 59 | | | 60 | | /* A 'low' pointer value indicates a type that is not an | 61 | | * actual object (typically keyword). This includes the | 62 | | * NULL case. Nothing to free in that case. */ | 63 | 2.76M | if ((uintptr_t)o < TOKEN__LAST_KEY) | 64 | 18 | return; | 65 | | | 66 | | #if defined(DEBUG) || REFCNT_DEBUG | 67 | | ctx = (pdf_context *)o->ctx; | 68 | | #endif | 69 | | #ifdef DEBUG | 70 | | if (o->refcnt == 0) | 71 | | emprintf(OBJ_MEMORY(o), "Decrementing object with refcount at 0!\n"); | 72 | | #endif | 73 | 2.76M | o->refcnt--; | 74 | | #if REFCNT_DEBUG | 75 | | outprintf(ctx->memory, "Decrementing reference count of object %d, UID %lu, to %d\n", o->object_num, o->UID, o->refcnt); | 76 | | #endif | 77 | 2.76M | if (o->refcnt != 0) | 78 | 2.13M | return; | 79 | | #if REFCNT_DEBUG | 80 | | if (ctx != NULL && ctx->cache_entries != 0) { | 81 | | pdf_obj_cache_entry *entry = ctx->cache_LRU, *next; | 82 | | | 83 | | while(entry) { | 84 | | next = entry->next; | 85 | | if (entry->o->object_num != 0 && entry->o->object_num == o->object_num) | 86 | | outprintf(ctx->memory, "Freeing object %d, UID %lu, but there is still a cache entry!\n", o->object_num, o->UID); | 87 | | entry = next; | 88 | | } | 89 | | } | 90 | | outprintf(ctx->memory, "Freeing object %d, UID %lu\n", o->object_num, o->UID); | 91 | | #endif | 92 | | #ifdef DEBUG | 93 | | if (ctx->xref_table != NULL && o->object_num > 0 && | 94 | | o->object_num < ctx->xref_table->xref_size && | 95 | | ctx->xref_table->xref[o->object_num].cache != NULL && | 96 | | ctx->xref_table->xref[o->object_num].cache->o == o) { | 97 | | outprintf(ctx->memory, "Freeing object %d while it is still in the object cache!\n", o->object_num); | 98 | | } | 99 | | #endif | 100 | 628k | pdfi_free_object(o); | 101 | 628k | } |
|