diff options
40 files changed, 1053 insertions, 1050 deletions
diff --git a/src/cairo-analysis-surface.c b/src/cairo-analysis-surface.c index 3109deed..9fb19a87 100644 --- a/src/cairo-analysis-surface.c +++ b/src/cairo-analysis-surface.c @@ -337,7 +337,7 @@ _cairo_analysis_surface_paint (void *abstract_surface, cairo_rectangle_int_t source_extents; status = _cairo_pattern_get_extents (source, &source_extents); - if (status) + if (unlikely (status)) return status; is_empty = _cairo_rectangle_intersect (&extents, &source_extents); @@ -407,7 +407,7 @@ _cairo_analysis_surface_mask (void *abstract_surface, cairo_rectangle_int_t source_extents; status = _cairo_pattern_get_extents (source, &source_extents); - if (status) + if (unlikely (status)) return status; is_empty = _cairo_rectangle_intersect (&extents, &source_extents); @@ -417,7 +417,7 @@ _cairo_analysis_surface_mask (void *abstract_surface, cairo_rectangle_int_t mask_extents; status = _cairo_pattern_get_extents (mask, &mask_extents); - if (status) + if (unlikely (status)) return status; is_empty = _cairo_rectangle_intersect (&extents, &mask_extents); @@ -469,7 +469,7 @@ _cairo_analysis_surface_stroke (void *abstract_surface, cairo_rectangle_int_t source_extents; status = _cairo_pattern_get_extents (source, &source_extents); - if (status) + if (unlikely (status)) return status; is_empty = _cairo_rectangle_intersect (&extents, &source_extents); @@ -489,7 +489,7 @@ _cairo_analysis_surface_stroke (void *abstract_surface, ctm, ctm_inverse, tolerance, &traps); - if (status) { + if (unlikely (status)) { _cairo_traps_fini (&traps); return status; } @@ -541,7 +541,7 @@ _cairo_analysis_surface_fill (void *abstract_surface, cairo_rectangle_int_t source_extents; status = _cairo_pattern_get_extents (source, &source_extents); - if (status) + if (unlikely (status)) return status; is_empty = _cairo_rectangle_intersect (&extents, &source_extents); @@ -560,7 +560,7 @@ _cairo_analysis_surface_fill (void *abstract_surface, fill_rule, tolerance, &traps); - if (status) { + if (unlikely (status)) { _cairo_traps_fini (&traps); return status; } @@ -622,7 +622,7 @@ _cairo_analysis_surface_show_glyphs (void *abstract_surface, cairo_rectangle_int_t source_extents; status = _cairo_pattern_get_extents (source, &source_extents); - if (status) + if (unlikely (status)) return status; is_empty = _cairo_rectangle_intersect (&extents, &source_extents); @@ -635,7 +635,7 @@ _cairo_analysis_surface_show_glyphs (void *abstract_surface, glyphs, num_glyphs, &glyph_extents); - if (status) + if (unlikely (status)) return status; is_empty = _cairo_rectangle_intersect (&extents, &glyph_extents); @@ -708,7 +708,7 @@ _cairo_analysis_surface_show_text_glyphs (void *abstract_surface, cairo_rectangle_int_t source_extents; status = _cairo_pattern_get_extents (source, &source_extents); - if (status) + if (unlikely (status)) return status; is_empty = _cairo_rectangle_intersect (&extents, &source_extents); @@ -721,7 +721,7 @@ _cairo_analysis_surface_show_text_glyphs (void *abstract_surface, glyphs, num_glyphs, &glyph_extents); - if (status) + if (unlikely (status)) return status; is_empty = _cairo_rectangle_intersect (&extents, &glyph_extents); @@ -780,7 +780,7 @@ _cairo_analysis_surface_create (cairo_surface_t *target, cairo_status_t status; status = target->status; - if (status) + if (unlikely (status)) return _cairo_surface_create_in_error (status); surface = malloc (sizeof (cairo_analysis_surface_t)); diff --git a/src/cairo-array.c b/src/cairo-array.c index f38cfe3e..ef50684f 100644 --- a/src/cairo-array.c +++ b/src/cairo-array.c @@ -279,7 +279,7 @@ _cairo_array_append_multiple (cairo_array_t *array, assert (! array->is_snapshot); status = _cairo_array_allocate (array, num_elements, &dest); - if (status) + if (unlikely (status)) return status; memcpy (dest, elements, num_elements * array->element_size); @@ -310,7 +310,7 @@ _cairo_array_allocate (cairo_array_t *array, assert (! array->is_snapshot); status = _cairo_array_grow_by (array, num_elements); - if (status) + if (unlikely (status)) return status; assert (array->num_elements + num_elements <= array->size); @@ -489,7 +489,7 @@ _cairo_user_data_array_set_data (cairo_user_data_array_t *array, } status = _cairo_array_append (array, &new_slot); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; diff --git a/src/cairo-cache.c b/src/cairo-cache.c index f5caba4b..73172642 100644 --- a/src/cairo-cache.c +++ b/src/cairo-cache.c @@ -131,7 +131,7 @@ _cairo_cache_create (cairo_cache_keys_equal_func_t keys_equal, } status = _cairo_cache_init (cache, keys_equal, entry_destroy, max_size); - if (status) { + if (unlikely (status)) { free (cache); return NULL; } @@ -293,7 +293,7 @@ _cairo_cache_insert (cairo_cache_t *cache, status = _cairo_hash_table_insert (cache->hash_table, (cairo_hash_entry_t *) entry); - if (status) + if (unlikely (status)) return status; cache->size += entry->size; diff --git a/src/cairo-cff-subset.c b/src/cairo-cff-subset.c index 45be5d1c..2d1fd8fd 100644 --- a/src/cairo-cff-subset.c +++ b/src/cairo-cff-subset.c @@ -298,7 +298,7 @@ cff_index_read (cairo_array_t *index, unsigned char **ptr, unsigned char *end_pt element.is_copy = FALSE; element.data = data + start; status = _cairo_array_append (index, &element); - if (status) + if (unlikely (status)) return status; start = end; } @@ -324,7 +324,7 @@ cff_index_write (cairo_array_t *index, cairo_array_t *output) num_elem = _cairo_array_num_elements (index); count = cpu_to_be16 ((uint16_t) num_elem); status = _cairo_array_append_multiple (output, &count, 2); - if (status) + if (unlikely (status)) return status; if (num_elem == 0) @@ -347,13 +347,13 @@ cff_index_write (cairo_array_t *index, cairo_array_t *output) buf[0] = (unsigned char) offset_size; status = _cairo_array_append (output, buf); - if (status) + if (unlikely (status)) return status; offset = 1; encode_index_offset (buf, offset_size, offset); status = _cairo_array_append_multiple (output, buf, offset_size); - if (status) + if (unlikely (status)) return status; for (i = 0; i < num_elem; i++) { @@ -361,7 +361,7 @@ cff_index_write (cairo_array_t *index, cairo_array_t *output) offset += element->length; encode_index_offset (buf, offset_size, offset); status = _cairo_array_append_multiple (output, buf, offset_size); - if (status) + if (unlikely (status)) return status; } @@ -370,7 +370,7 @@ cff_index_write (cairo_array_t *index, cairo_array_t *output) status = _cairo_array_append_multiple (output, element->data, element->length); - if (status) + if (unlikely (status)) return status; } return CAIRO_STATUS_SUCCESS; @@ -405,7 +405,7 @@ cff_index_append_copy (cairo_array_t *index, memcpy (element.data, object, element.length); status = _cairo_array_append (index, &element); - if (status) { + if (unlikely (status)) { free (element.data); return status; } @@ -496,7 +496,7 @@ cff_dict_read (cairo_hash_table_t *dict, unsigned char *p, int dict_size) size = operand_length (p); if (size != 0) { status = _cairo_array_append_multiple (&operands, p, size); - if (status) + if (unlikely (status)) goto fail; p += size; @@ -506,11 +506,11 @@ cff_dict_read (cairo_hash_table_t *dict, unsigned char *p, int dict_size) _cairo_array_index (&operands, 0), _cairo_array_num_elements (&operands), &op); - if (status) + if (unlikely (status)) goto fail; status = _cairo_hash_table_insert (dict, &op->base); - if (status) + if (unlikely (status)) goto fail; _cairo_array_truncate (&operands, 0); @@ -577,11 +577,11 @@ cff_dict_set_operands (cairo_hash_table_t *dict, else { status = cff_dict_create_operator (operator, operand, size, &op); - if (status) + if (unlikely (status)) return status; status = _cairo_hash_table_insert (dict, &op->base); - if (status) + if (unlikely (status)) return status; } @@ -724,7 +724,7 @@ cairo_cff_font_read_private_dict (cairo_cff_font_t *font, unsigned char *p; status = cff_dict_read (private_dict, ptr, size); - if (status) + if (unlikely (status)) return status; operand = cff_dict_get_operands (private_dict, LOCAL_SUB_OP, &i); @@ -732,13 +732,13 @@ cairo_cff_font_read_private_dict (cairo_cff_font_t *font, decode_integer (operand, &offset); p = ptr + offset; status = cff_index_read (local_sub_index, &p, font->data_end); - if (status) + if (unlikely (status)) return status; /* Use maximum sized encoding to reserve space for later modification. */ end_buf = encode_integer_max (buf, 0); status = cff_dict_set_operands (private_dict, LOCAL_SUB_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) return status; } @@ -793,7 +793,7 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr) cff_index_init (&index); status = cff_index_read (&index, &ptr, font->data_end); - if (status) + if (unlikely (status)) goto fail; font->num_fontdicts = _cairo_array_num_elements (&index); @@ -818,12 +818,12 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr) for (i = 0; i < font->num_fontdicts; i++) { status = cff_dict_init (&font->fd_dict[i]); - if (status) + if (unlikely (status)) goto fail; element = _cairo_array_index (&index, i); status = cff_dict_read (font->fd_dict[i], element->data, element->length); - if (status) + if (unlikely (status)) goto fail; operand = cff_dict_get_operands (font->fd_dict[i], PRIVATE_OP, &size); @@ -834,7 +834,7 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr) operand = decode_integer (operand, &size); decode_integer (operand, &offset); status = cff_dict_init (&font->fd_private_dict[i]); - if (status) + if (unlikely (status)) goto fail; cff_index_init (&font->fd_local_sub_index[i]); @@ -843,7 +843,7 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr) &font->fd_local_sub_index[i], font->data + offset, size); - if (status) + if (unlikely (status)) goto fail; /* Set integer operand to max value to use max size encoding to reserve @@ -851,7 +851,7 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr) end_buf = encode_integer_max (buf, 0); end_buf = encode_integer_max (end_buf, 0); status = cff_dict_set_operands (font->fd_dict[i], PRIVATE_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) goto fail; } @@ -878,12 +878,12 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font) cff_index_init (&index); status = cff_index_read (&index, &font->current_ptr, font->data_end); - if (status) + if (unlikely (status)) goto fail; element = _cairo_array_index (&index, 0); status = cff_dict_read (font->top_dict, element->data, element->length); - if (status) + if (unlikely (status)) goto fail; if (cff_dict_get_operands (font->top_dict, ROS_OP, &size) != NULL) @@ -895,7 +895,7 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font) decode_integer (operand, &offset); p = font->data + offset; status = cff_index_read (&font->charstrings_index, &p, font->data_end); - if (status) + if (unlikely (status)) goto fail; font->num_glyphs = _cairo_array_num_elements (&font->charstrings_index); @@ -903,13 +903,13 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font) operand = cff_dict_get_operands (font->top_dict, FDSELECT_OP, &size); decode_integer (operand, &offset); status = cairo_cff_font_read_fdselect (font, font->data + offset); - if (status) + if (unlikely (status)) goto fail; operand = cff_dict_get_operands (font->top_dict, FDARRAY_OP, &size); decode_integer (operand, &offset); status = cairo_cff_font_read_cid_fontdict (font, font->data + offset); - if (status) + if (unlikely (status)) goto fail; } else { operand = cff_dict_get_operands (font->top_dict, PRIVATE_OP, &size); @@ -920,7 +920,7 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font) &font->local_sub_index, font->data + offset, size); - if (status) + if (unlikely (status)) goto fail; } @@ -928,22 +928,22 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font) end_buf = encode_integer_max (buf, 0); status = cff_dict_set_operands (font->top_dict, CHARSTRINGS_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) goto fail; status = cff_dict_set_operands (font->top_dict, FDSELECT_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) goto fail; status = cff_dict_set_operands (font->top_dict, FDARRAY_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) goto fail; status = cff_dict_set_operands (font->top_dict, CHARSET_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) goto fail; cff_dict_remove (font->top_dict, ENCODING_OP); @@ -991,7 +991,7 @@ cairo_cff_font_read_font (cairo_cff_font_t *font) for (i = 0; i < ARRAY_LENGTH (font_read_funcs); i++) { status = font_read_funcs[i] (font); - if (status) + if (unlikely (status)) return status; } @@ -1012,26 +1012,26 @@ cairo_cff_font_set_ros_strings (cairo_cff_font_t *font) status = cff_index_append_copy (&font->strings_subset_index, (unsigned char *)registry, strlen(registry)); - if (status) + if (unlikely (status)) return status; sid2 = NUM_STD_STRINGS + _cairo_array_num_elements (&font->strings_subset_index); status = cff_index_append_copy (&font->strings_subset_index, (unsigned char *)ordering, strlen(ordering)); - if (status) + if (unlikely (status)) return status; p = encode_integer (buf, sid1); p = encode_integer (p, sid2); p = encode_integer (p, 0); status = cff_dict_set_operands (font->top_dict, ROS_OP, buf, p - buf); - if (status) + if (unlikely (status)) return status; p = encode_integer (buf, font->scaled_font_subset->num_glyphs); status = cff_dict_set_operands (font->top_dict, CIDCOUNT_OP, buf, p - buf); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -1060,12 +1060,12 @@ cairo_cff_font_subset_dict_string(cairo_cff_font_t *font, element = _cairo_array_index (&font->strings_index, sid - NUM_STD_STRINGS); sid = NUM_STD_STRINGS + _cairo_array_num_elements (&font->strings_subset_index); status = cff_index_append (&font->strings_subset_index, element->data, element->length); - if (status) + if (unlikely (status)) return status; p = encode_integer (buf, sid); status = cff_dict_set_operands (dict, operator, buf, p - buf); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -1092,7 +1092,7 @@ cairo_cff_font_subset_dict_strings (cairo_cff_font_t *font, for (i = 0; i < ARRAY_LENGTH (dict_strings); i++) { status = cairo_cff_font_subset_dict_string (font, dict, dict_strings[i]); - if (status) + if (unlikely (status)) return status; } @@ -1112,7 +1112,7 @@ cairo_cff_font_subset_charstrings (cairo_cff_font_t *font) status = cff_index_append (&font->charstrings_subset_index, element->data, element->length); - if (status) + if (unlikely (status)) return status; } @@ -1196,7 +1196,7 @@ cairo_cff_font_create_cid_fontdict (cairo_cff_font_t *font) end_buf = encode_integer_max (buf, 0); end_buf = encode_integer_max (end_buf, 0); status = cff_dict_set_operands (font->fd_dict[0], PRIVATE_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -1209,17 +1209,17 @@ cairo_cff_font_subset_strings (cairo_cff_font_t *font) unsigned int i; status = cairo_cff_font_subset_dict_strings (font, font->top_dict); - if (status) + if (unlikely (status)) return status; if (font->is_cid) { for (i = 0; i < font->num_subset_fontdicts; i++) { status = cairo_cff_font_subset_dict_strings (font, font->fd_dict[font->fd_subset_map[i]]); - if (status) + if (unlikely (status)) return status; status = cairo_cff_font_subset_dict_strings (font, font->fd_private_dict[font->fd_subset_map[i]]); - if (status) + if (unlikely (status)) return status; } } else { @@ -1235,22 +1235,22 @@ cairo_cff_font_subset_font (cairo_cff_font_t *font) cairo_status_t status; status = cairo_cff_font_set_ros_strings (font); - if (status) + if (unlikely (status)) return status; status = cairo_cff_font_subset_charstrings (font); - if (status) + if (unlikely (status)) return status; if (font->is_cid) status = cairo_cff_font_subset_fontdict (font); else status = cairo_cff_font_create_cid_fontdict (font); - if (status) + if (unlikely (status)) return status; status = cairo_cff_font_subset_strings (font); - if (status) + if (unlikely (status)) return status; return status; @@ -1298,11 +1298,11 @@ cairo_cff_font_write_name (cairo_cff_font_t *font) status = cff_index_append_copy (&index, (unsigned char *) font->subset_font_name, strlen(font->subset_font_name)); - if (status) + if (unlikely (status)) goto FAIL; status = cff_index_write (&index, &font->output); - if (status) + if (unlikely (status)) goto FAIL; FAIL: @@ -1326,27 +1326,27 @@ cairo_cff_font_write_top_dict (cairo_cff_font_t *font) count = cpu_to_be16 (1); status = _cairo_array_append_multiple (&font->output, &count, 2); - if (status) + if (unlikely (status)) return status; buf[0] = offset_size; status = _cairo_array_append (&font->output, buf); - if (status) + if (unlikely (status)) return status; encode_index_offset (buf, offset_size, 1); status = _cairo_array_append_multiple (&font->output, buf, offset_size); - if (status) + if (unlikely (status)) return status; /* Reserve space for last element of offset array and update after * dict is written */ offset_index = _cairo_array_num_elements (&font->output); status = _cairo_array_append_multiple (&font->output, buf, offset_size); - if (status) + if (unlikely (status)) return status; dict_start = _cairo_array_num_elements (&font->output); status = cff_dict_write (font->top_dict, &font->output); - if (status) + if (unlikely (status)) return status; dict_size = _cairo_array_num_elements (&font->output) - dict_start; @@ -1381,13 +1381,13 @@ cairo_cff_font_write_fdselect (cairo_cff_font_t *font) if (font->is_cid) { data = 0; status = _cairo_array_append (&font->output, &data); - if (status) + if (unlikely (status)) return status; for (i = 0; i < font->scaled_font_subset->num_glyphs; i++) { data = font->fdselect_subset[i]; status = _cairo_array_append (&font->output, &data); - if (status) + if (unlikely (status)) return status; } } else { @@ -1395,7 +1395,7 @@ cairo_cff_font_write_fdselect (cairo_cff_font_t *font) uint16_t word; status = _cairo_array_grow_by (&font->output, 9); - if (status) + if (unlikely (status)) return status; byte = 3; @@ -1431,7 +1431,7 @@ cairo_cff_font_write_charset (cairo_cff_font_t *font) cairo_cff_font_set_topdict_operator_to_cur_pos (font, CHARSET_OP); status = _cairo_array_grow_by (&font->output, 5); - if (status) + if (unlikely (status)) return status; byte = 2; @@ -1470,22 +1470,22 @@ cairo_cff_font_write_cid_fontdict (cairo_cff_font_t *font) cairo_cff_font_set_topdict_operator_to_cur_pos (font, FDARRAY_OP); count = cpu_to_be16 (font->num_subset_fontdicts); status = _cairo_array_append_multiple (&font->output, &count, sizeof (uint16_t)); - if (status) + if (unlikely (status)) return status; status = _cairo_array_append (&font->output, &offset_size); - if (status) + if (unlikely (status)) return status; status = _cairo_array_allocate (&font->output, (font->num_subset_fontdicts + 1)*offset_size, (void **) &offset_array); - if (status) + if (unlikely (status)) return status; offset_base = _cairo_array_num_elements (&font->output) - 1; *offset_array++ = cpu_to_be32(1); for (i = 0; i < font->num_subset_fontdicts; i++) { status = cff_dict_write (font->fd_dict[font->fd_subset_map[i]], &font->output); - if (status) + if (unlikely (status)) return status; *offset_array++ = cpu_to_be32(_cairo_array_num_elements (&font->output) - offset_base); } @@ -1509,7 +1509,7 @@ cairo_cff_font_write_private_dict (cairo_cff_font_t *font, /* Write private dict and update offset and size in top dict */ font->private_dict_offset[dict_num] = _cairo_array_num_elements (&font->output); status = cff_dict_write (private_dict, &font->output); - if (status) + if (unlikely (status)) return status; size = _cairo_array_num_elements (&font->output) - font->private_dict_offset[dict_num]; @@ -1548,7 +1548,7 @@ cairo_cff_font_write_local_sub (cairo_cff_font_t *font, p = _cairo_array_index (&font->output, offset); memcpy (p, buf, buf_end - buf); status = cff_index_write (local_sub_index, &font->output); - if (status) + if (unlikely (status)) return status; } @@ -1569,7 +1569,7 @@ cairo_cff_font_write_cid_private_dict_and_local_sub (cairo_cff_font_t *font) i, font->fd_dict[font->fd_subset_map[i]], font->fd_private_dict[font->fd_subset_map[i]]); - if (status) + if (unlikely (status)) return status; } @@ -1579,7 +1579,7 @@ cairo_cff_font_write_cid_private_dict_and_local_sub (cairo_cff_font_t *font) i, font->fd_private_dict[font->fd_subset_map[i]], &font->fd_local_sub_index[font->fd_subset_map[i]]); - if (status) + if (unlikely (status)) return status; } } else { @@ -1587,14 +1587,14 @@ cairo_cff_font_write_cid_private_dict_and_local_sub (cairo_cff_font_t *font) 0, font->fd_dict[0], font->private_dict); - if (status) + if (unlikely (status)) return status; status = cairo_cff_font_write_local_sub (font, 0, font->private_dict, &font->local_sub_index); - if (status) + if (unlikely (status)) return status; } @@ -1625,7 +1625,7 @@ cairo_cff_font_write_subset (cairo_cff_font_t *font) for (i = 0; i < ARRAY_LENGTH (font_write_funcs); i++) { status = font_write_funcs[i] (font); - if (status) + if (unlikely (status)) return status; } @@ -1640,15 +1640,15 @@ cairo_cff_font_generate (cairo_cff_font_t *font, cairo_int_status_t status; status = cairo_cff_font_read_font (font); - if (status) + if (unlikely (status)) return status; status = cairo_cff_font_subset_font (font); - if (status) + if (unlikely (status)) return status; status = cairo_cff_font_write_subset (font); - if (status) + if (unlikely (status)) return status; *data = _cairo_array_index (&font->output, 0); @@ -1674,7 +1674,7 @@ cairo_cff_font_create_set_widths (cairo_cff_font_t *font) status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, TT_TAG_hhea, 0, (unsigned char*) &hhea, &size); - if (status) + if (unlikely (status)) return status; num_hmetrics = be16_to_cpu (hhea.num_hmetrics); @@ -1687,7 +1687,7 @@ cairo_cff_font_create_set_widths (cairo_cff_font_t *font) TT_TAG_hmtx, glyph_index * long_entry_size, buf, &short_entry_size); - if (status) + if (unlikely (status)) return status; } else @@ -1696,7 +1696,7 @@ cairo_cff_font_create_set_widths (cairo_cff_font_t *font) TT_TAG_hmtx, (num_hmetrics - 1) * long_entry_size, buf, &short_entry_size); - if (status) + if (unlikely (status)) return status; } font->widths[i] = be16_to_cpu (*((int16_t*)buf)); @@ -1727,33 +1727,33 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset, data_length = 0; status = backend->load_truetype_table( scaled_font_subset->scaled_font, TT_TAG_CFF, 0, NULL, &data_length); - if (status) + if (unlikely (status)) return status; size = sizeof (tt_head_t); status = backend->load_truetype_table (scaled_font_subset->scaled_font, TT_TAG_head, 0, (unsigned char *) &head, &size); - if (status) + if (unlikely (status)) return status; size = sizeof (tt_hhea_t); status = backend->load_truetype_table (scaled_font_subset->scaled_font, TT_TAG_hhea, 0, (unsigned char *) &hhea, &size); - if (status) + if (unlikely (status)) return status; size = 0; status = backend->load_truetype_table (scaled_font_subset->scaled_font, TT_TAG_hmtx, 0, NULL, &size); - if (status) + if (unlikely (status)) return status; size = 0; status = backend->load_truetype_table (scaled_font_subset->scaled_font, TT_TAG_name, 0, NULL, &size); - if (status) + if (unlikely (status)) return status; name = malloc (size); @@ -1763,7 +1763,7 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset, status = backend->load_truetype_table (scaled_font_subset->scaled_font, TT_TAG_name, 0, (unsigned char *) name, &size); - if (status) + if (unlikely (status)) goto fail1; font = malloc (sizeof (cairo_cff_font_t)); @@ -1777,7 +1777,7 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset, _cairo_array_init (&font->output, sizeof (char)); status = _cairo_array_grow_by (&font->output, 4096); - if (status) + if (unlikely (status)) goto fail2; font->subset_font_name = strdup (subset_name); @@ -1840,7 +1840,7 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset, } status = cairo_cff_font_create_set_widths (font); - if (status) + if (unlikely (status)) goto fail5; font->data_length = data_length; @@ -1852,17 +1852,17 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset, status = font->backend->load_truetype_table ( font->scaled_font_subset->scaled_font, TT_TAG_CFF, 0, font->data, &font->data_length); - if (status) + if (unlikely (status)) goto fail6; font->data_end = font->data + font->data_length; status = cff_dict_init (&font->top_dict); - if (status) + if (unlikely (status)) goto fail6; status = cff_dict_init (&font->private_dict); - if (status) + if (unlikely (status)) goto fail7; cff_index_init (&font->strings_index); @@ -1971,11 +1971,11 @@ _cairo_cff_subset_init (cairo_cff_subset_t *cff_subset, unsigned int i; status = _cairo_cff_font_create (font_subset, &font, subset_name); - if (status) + if (unlikely (status)) return status; status = cairo_cff_font_generate (font, &data, &length); - if (status) + if (unlikely (status)) goto fail1; cff_subset->base_font = strdup (font->font_name); @@ -2047,7 +2047,7 @@ _cairo_cff_font_fallback_create (cairo_scaled_font_subset_t *scaled_font_subset _cairo_array_init (&font->output, sizeof (char)); status = _cairo_array_grow_by (&font->output, 4096); - if (status) + if (unlikely (status)) goto fail1; font->subset_font_name = strdup (subset_name); @@ -2080,11 +2080,11 @@ _cairo_cff_font_fallback_create (cairo_scaled_font_subset_t *scaled_font_subset font->data_end = NULL; status = cff_dict_init (&font->top_dict); - if (status) + if (unlikely (status)) goto fail4; status = cff_dict_init (&font->private_dict); - if (status) + if (unlikely (status)) goto fail5; cff_index_init (&font->strings_index); @@ -2147,37 +2147,37 @@ cairo_cff_font_fallback_generate (cairo_cff_font_t *font, end_buf = encode_integer (end_buf, type2_subset->y_max); status = cff_dict_set_operands (font->top_dict, FONTBBOX_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) return status; end_buf = encode_integer_max (buf, 0); status = cff_dict_set_operands (font->top_dict, CHARSTRINGS_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) return status; status = cff_dict_set_operands (font->top_dict, FDSELECT_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) return status; status = cff_dict_set_operands (font->top_dict, FDARRAY_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) return status; status = cff_dict_set_operands (font->top_dict, CHARSET_OP, buf, end_buf - buf); - if (status) + if (unlikely (status)) return status; status = cairo_cff_font_set_ros_strings (font); - if (status) + if (unlikely (status)) return status; /* Create CID FD dictionary */ status = cairo_cff_font_create_cid_fontdict (font); - if (status) + if (unlikely (status)) return status; /* Create charstrings */ @@ -2188,12 +2188,12 @@ cairo_cff_font_fallback_generate (cairo_cff_font_t *font, _cairo_array_index (charstring, 0), _cairo_array_num_elements (charstring)); - if (status) + if (unlikely (status)) return status; } status = cairo_cff_font_write_subset (font); - if (status) + if (unlikely (status)) return status; *data = _cairo_array_index (&font->output, 0); @@ -2215,15 +2215,15 @@ _cairo_cff_fallback_init (cairo_cff_subset_t *cff_subset, cairo_type2_charstrings_t type2_subset; status = _cairo_cff_font_fallback_create (font_subset, &font, subset_name); - if (status) + if (unlikely (status)) return status; status = _cairo_type2_charstrings_init (&type2_subset, font_subset); - if (status) + if (unlikely (status)) goto fail1; status = cairo_cff_font_fallback_generate (font, &type2_subset, &data, &length); - if (status) + if (unlikely (status)) goto fail2; cff_subset->base_font = strdup (font->font_name); diff --git a/src/cairo-clip.c b/src/cairo-clip.c index ce2a2409..5c197fff 100644 --- a/src/cairo-clip.c +++ b/src/cairo-clip.c @@ -88,7 +88,7 @@ _cairo_clip_init_copy (cairo_clip_t *clip, cairo_clip_t *other) cairo_status_t status; status = _cairo_region_copy (&clip->region, &other->region); - if (status) { + if (unlikely (status)) { _cairo_region_fini (&clip->region); cairo_surface_destroy (clip->surface); return status; @@ -174,7 +174,7 @@ _cairo_clip_intersect_to_rectangle (cairo_clip_t *clip, if (clip->path) { status = _cairo_clip_path_intersect_to_rectangle (clip->path, rectangle); - if (status) + if (unlikely (status)) return status; } @@ -191,7 +191,7 @@ _cairo_clip_intersect_to_rectangle (cairo_clip_t *clip, _cairo_region_fini (&intersection); - if (status) + if (unlikely (status)) return status; } @@ -228,7 +228,7 @@ _cairo_clip_intersect_to_region (cairo_clip_t *clip, if (clip->has_region) { status = _cairo_region_intersect (region, &clip->region, region); - if (status) + if (unlikely (status)) return status; } @@ -241,7 +241,7 @@ _cairo_clip_intersect_to_region (cairo_clip_t *clip, _cairo_region_fini (&clip_rect); - if (status) + if (unlikely (status)) return status; } @@ -302,7 +302,7 @@ _cairo_clip_intersect_path (cairo_clip_t *clip, return _cairo_error (CAIRO_STATUS_NO_MEMORY); status = _cairo_path_fixed_init_copy (&clip_path->path, path); - if (status) { + if (unlikely (status)) { free (clip_path); return status; } @@ -362,7 +362,6 @@ _cairo_clip_intersect_region (cairo_clip_t *clip, return CAIRO_INT_STATUS_UNSUPPORTED; status = _cairo_traps_extract_region (traps, ®ion); - if (status) return status; @@ -492,7 +491,7 @@ _cairo_clip_intersect_mask (cairo_clip_t *clip, _cairo_pattern_fini (&pattern.base); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (surface); return status; } @@ -517,7 +516,7 @@ _cairo_clip_intersect_mask (cairo_clip_t *clip, _cairo_pattern_fini (&pattern.base); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (surface); return status; } @@ -581,7 +580,7 @@ _cairo_clip_clip (cairo_clip_t *clip, fill_rule, tolerance, &traps); - if (status) + if (unlikely (status)) goto bail; status = _cairo_clip_intersect_region (clip, &traps, target); @@ -664,7 +663,7 @@ _cairo_clip_init_deep_copy (cairo_clip_t *clip, } else { if (other->has_region) { status = _cairo_region_copy (&clip->region, &other->region); - if (status) + if (unlikely (status)) goto BAIL; clip->has_region = TRUE; @@ -679,7 +678,7 @@ _cairo_clip_init_deep_copy (cairo_clip_t *clip, other->surface_rect.height, &dx, &dy, &clip->surface); - if (status) + if (unlikely (status)) goto BAIL; clip->surface_rect = other->surface_rect; diff --git a/src/cairo-font-face.c b/src/cairo-font-face.c index eb4921e3..06377588 100644 --- a/src/cairo-font-face.c +++ b/src/cairo-font-face.c @@ -467,10 +467,12 @@ cairo_toy_font_face_create (const char *family, /* Make sure we've got valid UTF-8 for the family */ status = _cairo_utf8_to_ucs4 (family, -1, NULL, NULL); - if (status == CAIRO_STATUS_INVALID_STRING) - return (cairo_font_face_t*) &_cairo_font_face_invalid_string; - else if (status) + if (unlikely (status)) { + if (status == CAIRO_STATUS_INVALID_STRING) + return (cairo_font_face_t*) &_cairo_font_face_invalid_string; + return (cairo_font_face_t*) &_cairo_font_face_nil; + } switch (slant) { case CAIRO_FONT_SLANT_NORMAL: @@ -523,11 +525,11 @@ cairo_toy_font_face_create (const char *family, } status = _cairo_toy_font_face_init (font_face, family, slant, weight); - if (status) + if (unlikely (status)) goto UNWIND_FONT_FACE_MALLOC; status = _cairo_hash_table_insert (hash_table, &font_face->base.hash_entry); - if (status) + if (unlikely (status)) goto UNWIND_FONT_FACE_INIT; _cairo_toy_font_face_hash_table_unlock (); @@ -614,7 +616,7 @@ _cairo_toy_font_face_scaled_font_create (void *abstract_font_face return font_face->base.status; status = cairo_font_options_status ((cairo_font_options_t *) options); - if (status) + if (unlikely (status)) return status; if (CAIRO_SCALED_FONT_BACKEND_DEFAULT != &_cairo_user_scaled_font_backend && diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c index 4245448e..a8d41013 100644 --- a/src/cairo-ft-font.c +++ b/src/cairo-ft-font.c @@ -438,12 +438,12 @@ _cairo_ft_unscaled_font_create_internal (cairo_bool_t from_face, } status = _cairo_ft_unscaled_font_init (unscaled, from_face, filename, id, font_face); - if (status) + if (unlikely (status)) goto UNWIND_UNSCALED_MALLOC; status = _cairo_hash_table_insert (font_map->hash_table, &unscaled->base.hash_entry); - if (status) + if (unlikely (status)) goto UNWIND_UNSCALED_FONT_INIT; _cairo_ft_unscaled_font_map_unlock (); @@ -621,7 +621,7 @@ _compute_transform (cairo_ft_font_transform_t *sf, status = _cairo_matrix_compute_basis_scale_factors (scale, &x_scale, &y_scale, 1); - if (status) + if (unlikely (status)) return status; /* FreeType docs say this about x_scale and y_scale: @@ -671,7 +671,7 @@ _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t *unscaled, unscaled->current_scale = *scale; status = _compute_transform (&sf, scale); - if (status) + if (unlikely (status)) return status; unscaled->x_scale = sf.x_scale; @@ -1084,7 +1084,7 @@ _render_glyph_outline (FT_Face face, } status = _get_bitmap_surface (&bitmap, TRUE, font_options, surface); - if (status) + if (unlikely (status)) return status; } @@ -1125,7 +1125,7 @@ _render_glyph_bitmap (FT_Face face, return _cairo_error (CAIRO_STATUS_NO_MEMORY); status = _get_bitmap_surface (&glyphslot->bitmap, FALSE, font_options, surface); - if (status) + if (unlikely (status)) return status; /* @@ -1212,13 +1212,13 @@ _transform_glyph_bitmap (cairo_matrix_t * shape, transformed_to_original = original_to_transformed; status = cairo_matrix_invert (&transformed_to_original); - if (status) + if (unlikely (status)) return status; /* We need to pad out the width to 32-bit intervals for cairo-xlib-surface.c */ width = (width + 3) & ~3; image = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height); - if (image->status) + if (unlikely (image->status)) return image->status; /* Initialize it to empty @@ -1227,7 +1227,7 @@ _transform_glyph_bitmap (cairo_matrix_t * shape, CAIRO_COLOR_TRANSPARENT, 0, 0, width, height); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (image); return status; } @@ -1245,7 +1245,7 @@ _transform_glyph_bitmap (cairo_matrix_t * shape, _cairo_pattern_fini (&pattern.base); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (image); return status; } @@ -1527,7 +1527,7 @@ _cairo_ft_scaled_font_create (cairo_ft_unscaled_font_t *unscaled, font_face, font_matrix, ctm, options, &_cairo_ft_scaled_font_backend); - if (status) { + if (unlikely (status)) { _cairo_unscaled_font_destroy (&unscaled->base); free (scaled_font); goto FAIL; @@ -1535,7 +1535,7 @@ _cairo_ft_scaled_font_create (cairo_ft_unscaled_font_t *unscaled, status = _cairo_ft_unscaled_font_set_scale (unscaled, &scaled_font->base.scale); - if (status) { + if (unlikely (status)) { _cairo_unscaled_font_destroy (&unscaled->base); free (scaled_font); goto FAIL; @@ -1626,7 +1626,7 @@ _cairo_ft_scaled_font_create_toy (cairo_toy_font_face_t *toy_face, cairo_matrix_multiply (&scale, font_matrix, ctm); status = _compute_transform (&sf, &scale); - if (status) + if (unlikely (status)) return status; pattern = FcPatternCreate (); @@ -1686,7 +1686,7 @@ _cairo_ft_scaled_font_create_toy (cairo_toy_font_face_t *toy_face, } status = _cairo_ft_font_options_substitute (font_options, pattern); - if (status) + if (unlikely (status)) goto FREE_PATTERN; FcDefaultSubstitute (pattern); @@ -1863,7 +1863,7 @@ _decompose_glyph_outline (FT_Face face, } status = _cairo_path_fixed_close_path (path); - if (status) { + if (unlikely (status)) { _cairo_path_fixed_destroy (path); return status; } @@ -1918,7 +1918,7 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, status = _cairo_ft_unscaled_font_set_scale (scaled_font->unscaled, &scaled_font->base.scale); - if (status) + if (unlikely (status)) goto FAIL; /* Ignore global advance unconditionally */ @@ -2066,14 +2066,16 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, } else { status = _render_glyph_bitmap (face, &scaled_font->ft_options.base, &surface); - if (status == CAIRO_STATUS_SUCCESS && unscaled->have_shape) { + if (likely (status == CAIRO_STATUS_SUCCESS) && + unscaled->have_shape) + { status = _transform_glyph_bitmap (&unscaled->current_shape, &surface); - if (status) + if (unlikely (status)) cairo_surface_destroy (&surface->base); } } - if (status) + if (unlikely (status)) goto FAIL; _cairo_scaled_glyph_set_surface (scaled_glyph, @@ -2115,7 +2117,7 @@ _cairo_ft_scaled_glyph_init (void *abstract_font, else status = CAIRO_INT_STATUS_UNSUPPORTED; - if (status) + if (unlikely (status)) goto FAIL; _cairo_scaled_glyph_set_path (scaled_glyph, @@ -2665,7 +2667,7 @@ cairo_ft_scaled_font_lock_face (cairo_scaled_font_t *abstract_font) status = _cairo_ft_unscaled_font_set_scale (scaled_font->unscaled, &scaled_font->base.scale); - if (status) { + if (unlikely (status)) { _cairo_ft_unscaled_font_unlock_face (scaled_font->unscaled); status = _cairo_scaled_font_set_error (&scaled_font->base, status); return NULL; diff --git a/src/cairo-gstate.c b/src/cairo-gstate.c index 9f7892a4..d7d91c90 100644 --- a/src/cairo-gstate.c +++ b/src/cairo-gstate.c @@ -113,11 +113,11 @@ _cairo_gstate_init (cairo_gstate_t *gstate, return _cairo_error (CAIRO_STATUS_NULL_POINTER); status = target->status; - if (status) + if (unlikely (status)) return status; status = gstate->source->status; - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -142,7 +142,7 @@ _cairo_gstate_init_copy (cairo_gstate_t *gstate, cairo_gstate_t *other) status = _cairo_stroke_style_init_copy (&gstate->stroke_style, &other->stroke_style); - if (status) + if (unlikely (status)) return status; gstate->fill_rule = other->fill_rule; @@ -155,7 +155,7 @@ _cairo_gstate_init_copy (cairo_gstate_t *gstate, cairo_gstate_t *other) _cairo_font_options_init_copy (&gstate->font_options , &other->font_options); status = _cairo_clip_init_copy (&gstate->clip, &other->clip); - if (status) { + if (unlikely (status)) { _cairo_stroke_style_fini (&gstate->stroke_style); cairo_font_face_destroy (gstate->font_face); cairo_scaled_font_destroy (gstate->scaled_font); @@ -227,7 +227,7 @@ _cairo_gstate_save (cairo_gstate_t **gstate, cairo_gstate_t **freelist) *freelist = top->next; status = _cairo_gstate_init_copy (top, *gstate); - if (status) { + if (unlikely (status)) { top->next = *freelist; *freelist = top; return status; @@ -297,7 +297,7 @@ _cairo_gstate_redirect_target (cairo_gstate_t *gstate, cairo_surface_t *child) _cairo_clip_reset (&gstate->clip); status = _cairo_clip_init_deep_copy (&gstate->clip, &gstate->next->clip, child); - if (status) + if (unlikely (status)) return status; /* The clip is in surface backend coordinates for the previous target; @@ -668,7 +668,7 @@ _cairo_gstate_transform (cairo_gstate_t *gstate, tmp = *matrix; status = cairo_matrix_invert (&tmp); - if (status) + if (unlikely (status)) return status; _cairo_gstate_unset_scaled_font (gstate); @@ -827,7 +827,7 @@ _cairo_gstate_copy_transformed_pattern (cairo_gstate_t *gstate, if (_cairo_surface_has_device_transform (surface)) { status = _cairo_pattern_init_copy (*pattern, original); - if (status) + if (unlikely (status)) return status; have_copy = TRUE; @@ -839,7 +839,7 @@ _cairo_gstate_copy_transformed_pattern (cairo_gstate_t *gstate, if (! _cairo_matrix_is_identity (ctm_inverse)) { if (! have_copy) { status = _cairo_pattern_init_copy (*pattern, original); - if (status) + if (unlikely (status)) return status; have_copy = TRUE; @@ -884,12 +884,12 @@ _cairo_gstate_paint (cairo_gstate_t *gstate) return gstate->source->status; status = _cairo_surface_set_clip (gstate->target, &gstate->clip); - if (status) + if (unlikely (status)) return status; pattern = &pattern_stack.base; status = _cairo_gstate_copy_transformed_source (gstate, &pattern); - if (status) + if (unlikely (status)) return status; status = _cairo_surface_paint (gstate->target, @@ -917,17 +917,17 @@ _cairo_gstate_mask (cairo_gstate_t *gstate, return gstate->source->status; status = _cairo_surface_set_clip (gstate->target, &gstate->clip); - if (status) + if (unlikely (status)) return status; source_pattern = &source_pattern_stack.base; status = _cairo_gstate_copy_transformed_source (gstate, &source_pattern); - if (status) + if (unlikely (status)) return status; mask_pattern = &mask_pattern_stack.base; status = _cairo_gstate_copy_transformed_mask (gstate, &mask_pattern, mask); - if (status) + if (unlikely (status)) goto CLEANUP_SOURCE; status = _cairo_surface_mask (gstate->target, @@ -958,13 +958,13 @@ _cairo_gstate_stroke (cairo_gstate_t *gstate, cairo_path_fixed_t *path) return CAIRO_STATUS_SUCCESS; status = _cairo_surface_set_clip (gstate->target, &gstate->clip); - if (status) + if (unlikely (status)) return status; source_pattern = &source_pattern_stack.base; status = _cairo_gstate_copy_transformed_source (gstate, &source_pattern); - if (status) + if (unlikely (status)) return status; status = _cairo_surface_stroke (gstate->target, @@ -1015,7 +1015,7 @@ _cairo_gstate_in_stroke (cairo_gstate_t *gstate, &gstate->ctm_inverse, gstate->tolerance, &traps); - if (status) + if (unlikely (status)) goto BAIL; *inside_ret = _cairo_traps_contain (&traps, x, y); @@ -1037,12 +1037,12 @@ _cairo_gstate_fill (cairo_gstate_t *gstate, cairo_path_fixed_t *path) return gstate->source->status; status = _cairo_surface_set_clip (gstate->target, &gstate->clip); - if (status) + if (unlikely (status)) return status; pattern = &pattern_stack.base; status = _cairo_gstate_copy_transformed_source (gstate, &pattern); - if (status) + if (unlikely (status)) return status; status = _cairo_surface_fill (gstate->target, @@ -1219,7 +1219,7 @@ _cairo_gstate_int_clip_extents (cairo_gstate_t *gstate, cairo_status_t status; status = _cairo_surface_get_extents (gstate->target, extents); - if (status) + if (unlikely (status)) return status; status = _cairo_clip_intersect_to_rectangle (&gstate->clip, extents); @@ -1239,7 +1239,7 @@ _cairo_gstate_clip_extents (cairo_gstate_t *gstate, cairo_status_t status; status = _cairo_gstate_int_clip_extents (gstate, &extents); - if (status) + if (unlikely (status)) return status; px1 = extents.x; @@ -1358,7 +1358,7 @@ _cairo_gstate_get_font_face (cairo_gstate_t *gstate, cairo_status_t status; status = _cairo_gstate_ensure_font_face (gstate); - if (status) + if (unlikely (status)) return status; *font_face = gstate->font_face; @@ -1373,7 +1373,7 @@ _cairo_gstate_get_scaled_font (cairo_gstate_t *gstate, cairo_status_t status; status = _cairo_gstate_ensure_scaled_font (gstate); - if (status) + if (unlikely (status)) return status; *scaled_font = gstate->scaled_font; @@ -1489,7 +1489,7 @@ _cairo_gstate_ensure_scaled_font (cairo_gstate_t *gstate) return gstate->scaled_font->status; status = _cairo_gstate_ensure_font_face (gstate); - if (status) + if (unlikely (status)) return status; cairo_surface_get_font_options (gstate->target, &options); @@ -1501,7 +1501,7 @@ _cairo_gstate_ensure_scaled_font (cairo_gstate_t *gstate) &options); status = cairo_scaled_font_status (scaled_font); - if (status) + if (unlikely (status)) return status; gstate->scaled_font = scaled_font; @@ -1514,7 +1514,7 @@ _cairo_gstate_get_font_extents (cairo_gstate_t *gstate, cairo_font_extents_t *extents) { cairo_status_t status = _cairo_gstate_ensure_scaled_font (gstate); - if (status) + if (unlikely (status)) return status; cairo_scaled_font_extents (gstate->scaled_font, extents); @@ -1537,7 +1537,7 @@ _cairo_gstate_text_to_glyphs (cairo_gstate_t *gstate, cairo_status_t status; status = _cairo_gstate_ensure_scaled_font (gstate); - if (status) + if (unlikely (status)) return status; return cairo_scaled_font_text_to_glyphs (gstate->scaled_font, x, y, @@ -1574,7 +1574,7 @@ _cairo_gstate_glyph_extents (cairo_gstate_t *gstate, cairo_status_t status; status = _cairo_gstate_ensure_scaled_font (gstate); - if (status) + if (unlikely (status)) return status; cairo_scaled_font_glyph_extents (gstate->scaled_font, @@ -1604,11 +1604,11 @@ _cairo_gstate_show_text_glyphs (cairo_gstate_t *gstate, return gstate->source->status; status = _cairo_surface_set_clip (gstate->target, &gstate->clip); - if (status) + if (unlikely (status)) return status; status = _cairo_gstate_ensure_scaled_font (gstate); - if (status) + if (unlikely (status)) return status; if (num_glyphs <= ARRAY_LENGTH (stack_transformed_glyphs)) { @@ -1629,7 +1629,7 @@ _cairo_gstate_show_text_glyphs (cairo_gstate_t *gstate, source_pattern = &source_pattern_stack.base; status = _cairo_gstate_copy_transformed_source (gstate, &source_pattern); - if (status) + if (unlikely (status)) goto CLEANUP_GLYPHS; /* Just in case */ @@ -1698,7 +1698,7 @@ _cairo_gstate_glyph_path (cairo_gstate_t *gstate, cairo_glyph_t stack_transformed_glyphs[CAIRO_STACK_ARRAY_LENGTH (cairo_glyph_t)]; status = _cairo_gstate_ensure_scaled_font (gstate); - if (status) + if (unlikely (status)) return status; if (num_glyphs < ARRAY_LENGTH (stack_transformed_glyphs)) @@ -1712,7 +1712,7 @@ _cairo_gstate_glyph_path (cairo_gstate_t *gstate, glyphs, num_glyphs, transformed_glyphs, NULL); - if (status) + if (unlikely (status)) goto CLEANUP_GLYPHS; status = _cairo_scaled_font_glyph_path (gstate->scaled_font, diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c index b7a4f6cf..ab8ab5ed 100644 --- a/src/cairo-image-surface.c +++ b/src/cairo-image-surface.c @@ -870,7 +870,7 @@ _cairo_image_surface_set_attributes (cairo_image_surface_t *surface, status = _cairo_image_surface_set_matrix (surface, &attributes->matrix, xc, yc); - if (status) + if (unlikely (status)) return status; switch (attributes->extend) { @@ -889,7 +889,7 @@ _cairo_image_surface_set_attributes (cairo_image_surface_t *surface, } status = _cairo_image_surface_set_filter (surface, attributes->filter); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -968,13 +968,13 @@ _cairo_image_surface_composite (cairo_operator_t op, (cairo_surface_t **) &src, (cairo_surface_t **) &mask, &src_attr, &mask_attr); - if (status) + if (unlikely (status)) return status; status = _cairo_image_surface_set_attributes (src, &src_attr, dst_x + width / 2., dst_y + height / 2.); - if (status) + if (unlikely (status)) goto CLEANUP_SURFACES; if (mask) @@ -982,7 +982,7 @@ _cairo_image_surface_composite (cairo_operator_t op, status = _cairo_image_surface_set_attributes (mask, &mask_attr, dst_x + width / 2., dst_y + height / 2.); - if (status) + if (unlikely (status)) goto CLEANUP_SURFACES; pixman_image_composite (_pixman_operator (op), @@ -1156,13 +1156,13 @@ _cairo_image_surface_composite_trapezoids (cairo_operator_t op, src_x, src_y, width, height, (cairo_surface_t **) &src, &attributes); - if (status) + if (unlikely (status)) goto finish; status = _cairo_image_surface_set_attributes (src, &attributes, dst_x + width / 2., dst_y + height / 2.); - if (status) + if (unlikely (status)) goto CLEANUP_SOURCE; switch (antialias) { @@ -1353,7 +1353,7 @@ _cairo_image_surface_clone (cairo_image_surface_t *surface, status = cairo_status (cr); cairo_destroy (cr); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (&clone->base); return (cairo_image_surface_t *) _cairo_surface_create_in_error (status); } diff --git a/src/cairo-lzw.c b/src/cairo-lzw.c index 1241225d..c1791765 100644 --- a/src/cairo-lzw.c +++ b/src/cairo-lzw.c @@ -137,7 +137,7 @@ _lzw_buf_store_bits (lzw_buf_t *buf, uint16_t value, int num_bits) while (buf->pending_bits >= 8) { if (buf->num_data >= buf->data_size) { status = _lzw_buf_grow (buf); - if (status) + if (unlikely (status)) return; } buf->data[buf->num_data++] = buf->pending >> (buf->pending_bits - 8); @@ -167,7 +167,7 @@ _lzw_buf_store_pending (lzw_buf_t *buf) if (buf->num_data >= buf->data_size) { status = _lzw_buf_grow (buf); - if (status) + if (unlikely (status)) return; } diff --git a/src/cairo-meta-surface.c b/src/cairo-meta-surface.c index cfaaf304..f32f4893 100644 --- a/src/cairo-meta-surface.c +++ b/src/cairo-meta-surface.c @@ -197,7 +197,7 @@ _cairo_meta_surface_acquire_source_image (void *abstract_surface, surface->height_pixels); status = _cairo_meta_surface_replay (&surface->base, image); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (image); return status; } @@ -239,11 +239,11 @@ _cairo_meta_surface_paint (void *abstract_surface, command->op = op; status = _cairo_pattern_init_snapshot (&command->source.base, source); - if (status) + if (unlikely (status)) goto CLEANUP_COMMAND; status = _cairo_array_append (&meta->commands, &command); - if (status) + if (unlikely (status)) goto CLEANUP_SOURCE; /* An optimisation that takes care to not replay what was done @@ -285,15 +285,15 @@ _cairo_meta_surface_mask (void *abstract_surface, command->op = op; status = _cairo_pattern_init_snapshot (&command->source.base, source); - if (status) + if (unlikely (status)) goto CLEANUP_COMMAND; status = _cairo_pattern_init_snapshot (&command->mask.base, mask); - if (status) + if (unlikely (status)) goto CLEANUP_SOURCE; status = _cairo_array_append (&meta->commands, &command); - if (status) + if (unlikely (status)) goto CLEANUP_MASK; return CAIRO_STATUS_SUCCESS; @@ -336,15 +336,15 @@ _cairo_meta_surface_stroke (void *abstract_surface, command->op = op; status = _cairo_pattern_init_snapshot (&command->source.base, source); - if (status) + if (unlikely (status)) goto CLEANUP_COMMAND; status = _cairo_path_fixed_init_copy (&command->path, path); - if (status) + if (unlikely (status)) goto CLEANUP_SOURCE; status = _cairo_stroke_style_init_copy (&command->style, style); - if (status) + if (unlikely (status)) goto CLEANUP_PATH; command->ctm = *ctm; @@ -353,7 +353,7 @@ _cairo_meta_surface_stroke (void *abstract_surface, command->antialias = antialias; status = _cairo_array_append (&meta->commands, &command); - if (status) + if (unlikely (status)) goto CLEANUP_STYLE; return CAIRO_STATUS_SUCCESS; @@ -396,11 +396,11 @@ _cairo_meta_surface_fill (void *abstract_surface, command->op = op; status = _cairo_pattern_init_snapshot (&command->source.base, source); - if (status) + if (unlikely (status)) goto CLEANUP_COMMAND; status = _cairo_path_fixed_init_copy (&command->path, path); - if (status) + if (unlikely (status)) goto CLEANUP_SOURCE; command->fill_rule = fill_rule; @@ -408,7 +408,7 @@ _cairo_meta_surface_fill (void *abstract_surface, command->antialias = antialias; status = _cairo_array_append (&meta->commands, &command); - if (status) + if (unlikely (status)) goto CLEANUP_PATH; return CAIRO_STATUS_SUCCESS; @@ -459,7 +459,7 @@ _cairo_meta_surface_show_text_glyphs (void *abstract_surface, command->op = op; status = _cairo_pattern_init_snapshot (&command->source.base, source); - if (status) + if (unlikely (status)) goto CLEANUP_COMMAND; command->utf8 = NULL; @@ -499,7 +499,7 @@ _cairo_meta_surface_show_text_glyphs (void *abstract_surface, command->scaled_font = cairo_scaled_font_reference (scaled_font); status = _cairo_array_append (&meta->commands, &command); - if (status) + if (unlikely (status)) goto CLEANUP_SCALED_FONT; return CAIRO_STATUS_SUCCESS; @@ -575,7 +575,7 @@ _cairo_meta_surface_intersect_clip_path (void *dst, if (path) { status = _cairo_path_fixed_init_copy (&command->path, path); - if (status) { + if (unlikely (status)) { free (command); return status; } @@ -590,7 +590,7 @@ _cairo_meta_surface_intersect_clip_path (void *dst, command->antialias = antialias; status = _cairo_array_append (&meta->commands, &command); - if (status) { + if (unlikely (status)) { if (path) _cairo_path_fixed_fini (&command->path); free (command); @@ -766,7 +766,7 @@ _cairo_meta_surface_get_path (cairo_surface_t *surface, ASSERT_NOT_REACHED; } - if (status) + if (unlikely (status)) break; } @@ -814,14 +814,14 @@ _cairo_meta_surface_replay_internal (cairo_surface_t *surface, * ensure the current clip gets set on the surface. */ if (command->header.type != CAIRO_COMMAND_INTERSECT_CLIP_PATH) { status = _cairo_surface_set_clip (target, &clip); - if (status) + if (unlikely (status)) break; } dev_path = _cairo_command_get_path (command); if (dev_path && has_device_transform) { status = _cairo_path_fixed_init_copy (&path_copy, dev_path); - if (status) + if (unlikely (status)) break; _cairo_path_fixed_transform (&path_copy, device_transform); dev_path = &path_copy; @@ -986,7 +986,7 @@ _cairo_meta_surface_replay_internal (cairo_surface_t *surface, } } - if (status) + if (unlikely (status)) break; } diff --git a/src/cairo-misc.c b/src/cairo-misc.c index 397b0efe..c4876031 100644 --- a/src/cairo-misc.c +++ b/src/cairo-misc.c @@ -287,7 +287,7 @@ _cairo_validate_text_clusters (const char *utf8, /* Make sure we've got valid UTF-8 for the cluster */ status = _cairo_utf8_to_ucs4 (utf8+n_bytes, cluster_bytes, NULL, NULL); - if (status) + if (unlikely (status)) return CAIRO_STATUS_INVALID_CLUSTERS; n_bytes += cluster_bytes ; @@ -730,7 +730,7 @@ _cairo_intern_string (const char **str_inout, int len) status = _cairo_hash_table_insert (_cairo_intern_string_ht, &istring->hash_entry); - if (status) + if (unlikely (status)) free (istring); } else status = _cairo_error (CAIRO_STATUS_NO_MEMORY); @@ -738,7 +738,7 @@ _cairo_intern_string (const char **str_inout, int len) CAIRO_MUTEX_UNLOCK (_cairo_intern_string_mutex); - if (status == CAIRO_STATUS_SUCCESS) + if (likely (status == CAIRO_STATUS_SUCCESS)) *str_inout = istring->string; return status; diff --git a/src/cairo-output-stream.c b/src/cairo-output-stream.c index 9a58aac2..780bd50c 100644 --- a/src/cairo-output-stream.c +++ b/src/cairo-output-stream.c @@ -696,7 +696,7 @@ _cairo_memory_stream_destroy (cairo_output_stream_t *abstract_stream, cairo_status_t status; status = abstract_stream->status; - if (status) + if (unlikely (status)) return _cairo_output_stream_destroy (abstract_stream); stream = (memory_stream_t *) abstract_stream; diff --git a/src/cairo-paginated-surface.c b/src/cairo-paginated-surface.c index bb542ff0..70b728ea 100644 --- a/src/cairo-paginated-surface.c +++ b/src/cairo-paginated-surface.c @@ -99,7 +99,7 @@ _cairo_paginated_surface_create (cairo_surface_t *target, surface->meta = _cairo_meta_surface_create (content, width, height); status = cairo_surface_status (surface->meta); - if (status) + if (unlikely (status)) goto FAIL_CLEANUP_SURFACE; surface->page_num = 1; @@ -151,7 +151,7 @@ _cairo_paginated_surface_set_size (cairo_surface_t *surface, paginated_surface->meta = _cairo_meta_surface_create (paginated_surface->content, width, height); status = cairo_surface_status (paginated_surface->meta); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); return CAIRO_STATUS_SUCCESS; @@ -215,7 +215,7 @@ _cairo_paginated_surface_acquire_source_image (void *abstract_surface, cairo_rectangle_int_t extents; status = _cairo_surface_get_extents (surface->target, &extents); - if (status) + if (unlikely (status)) return status; image = _cairo_paginated_surface_create_image_surface (surface, @@ -223,7 +223,7 @@ _cairo_paginated_surface_acquire_source_image (void *abstract_surface, extents.height); status = _cairo_meta_surface_replay (surface->meta, image); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (image); return status; } @@ -267,7 +267,7 @@ _paint_fallback_image (cairo_paginated_surface_t *surface, cairo_surface_set_device_offset (image, -x*x_scale, -y*y_scale); status = _cairo_meta_surface_replay (surface->meta, image); - if (status) + if (unlikely (status)) goto CLEANUP_IMAGE; _cairo_pattern_init_for_surface (&pattern, image); @@ -318,7 +318,7 @@ _paint_page (cairo_paginated_surface_t *surface) _cairo_analysis_surface_get_bounding_box (analysis, &bbox); status = surface->backend->set_bounding_box (surface->target, &bbox); - if (status) + if (unlikely (status)) goto FAIL; } @@ -327,7 +327,7 @@ _paint_page (cairo_paginated_surface_t *surface) status = surface->backend->set_fallback_images_required (surface->target, has_fallbacks); - if (status) + if (unlikely (status)) goto FAIL; } @@ -360,7 +360,7 @@ _paint_page (cairo_paginated_surface_t *surface) surface->target, CAIRO_META_REGION_NATIVE); assert (status != CAIRO_INT_STATUS_UNSUPPORTED); - if (status) + if (unlikely (status)) goto FAIL; } @@ -375,7 +375,7 @@ _paint_page (cairo_paginated_surface_t *surface) box.p2.x = surface->width; box.p2.y = surface->height; status = _paint_fallback_image (surface, &box); - if (status) + if (unlikely (status)) goto FAIL; } @@ -393,19 +393,19 @@ _paint_page (cairo_paginated_surface_t *surface) CAIRO_FILL_RULE_WINDING, CAIRO_GSTATE_TOLERANCE_DEFAULT, CAIRO_ANTIALIAS_DEFAULT); - if (status) + if (unlikely (status)) goto FAIL; region = _cairo_analysis_surface_get_unsupported (analysis); num_boxes = 0; status = _cairo_region_get_boxes (region, &num_boxes, &boxes); - if (status) + if (unlikely (status)) goto FAIL; for (i = 0; i < num_boxes; i++) { status = _paint_fallback_image (surface, &boxes[i]); - if (status) { + if (unlikely (status)) { _cairo_region_boxes_fini (region, boxes); goto FAIL; } @@ -439,11 +439,11 @@ _cairo_paginated_surface_copy_page (void *abstract_surface) cairo_paginated_surface_t *surface = abstract_surface; status = _start_page (surface); - if (status) + if (unlikely (status)) return status; status = _paint_page (surface); - if (status) + if (unlikely (status)) return status; surface->page_num++; @@ -466,20 +466,20 @@ _cairo_paginated_surface_show_page (void *abstract_surface) cairo_paginated_surface_t *surface = abstract_surface; status = _start_page (surface); - if (status) + if (unlikely (status)) return status; status = _paint_page (surface); - if (status) + if (unlikely (status)) return status; cairo_surface_show_page (surface->target); status = cairo_surface_status (surface->target); - if (status) + if (unlikely (status)) return status; status = cairo_surface_status (surface->meta); - if (status) + if (unlikely (status)) return status; cairo_surface_destroy (surface->meta); @@ -488,7 +488,7 @@ _cairo_paginated_surface_show_page (void *abstract_surface) surface->width, surface->height); status = cairo_surface_status (surface->meta); - if (status) + if (unlikely (status)) return status; surface->page_num++; diff --git a/src/cairo-path-fill.c b/src/cairo-path-fill.c index d37b3755..7af91d20 100644 --- a/src/cairo-path-fill.c +++ b/src/cairo-path-fill.c @@ -177,18 +177,18 @@ _cairo_path_fixed_fill_to_traps (cairo_path_fixed_t *path, _cairo_filler_curve_to, _cairo_filler_close_path, &filler); - if (status) + if (unlikely (status)) goto BAIL; _cairo_polygon_close (&filler.polygon); status = _cairo_polygon_status (&filler.polygon); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_bentley_ottmann_tessellate_polygon (filler.traps, &filler.polygon, fill_rule); - if (status) + if (unlikely (status)) goto BAIL; BAIL: diff --git a/src/cairo-path-fixed.c b/src/cairo-path-fixed.c index ba467608..04d547ca 100644 --- a/src/cairo-path-fixed.c +++ b/src/cairo-path-fixed.c @@ -372,7 +372,7 @@ _cairo_path_fixed_move_to (cairo_path_fixed_t *path, *last_move_to_point = point; } else { status = _cairo_path_fixed_add (path, CAIRO_PATH_OP_MOVE_TO, &point, 1); - if (status) + if (unlikely (status)) return status; } @@ -426,7 +426,7 @@ _cairo_path_fixed_line_to (cairo_path_fixed_t *path, else status = _cairo_path_fixed_add (path, CAIRO_PATH_OP_LINE_TO, &point, 1); - if (status) + if (unlikely (status)) return status; path->current_point = point; @@ -467,12 +467,12 @@ _cairo_path_fixed_curve_to (cairo_path_fixed_t *path, if (! path->has_current_point) { status = _cairo_path_fixed_add (path, CAIRO_PATH_OP_MOVE_TO, &point[0], 1); - if (status) + if (unlikely (status)) return status; } status = _cairo_path_fixed_add (path, CAIRO_PATH_OP_CURVE_TO, point, 3); - if (status) + if (unlikely (status)) return status; path->current_point = point[2]; @@ -519,13 +519,13 @@ _cairo_path_fixed_close_path (cairo_path_fixed_t *path) return CAIRO_STATUS_SUCCESS; status = _cairo_path_fixed_add (path, CAIRO_PATH_OP_CLOSE_PATH, NULL, 0); - if (status) + if (unlikely (status)) return status; status = _cairo_path_fixed_move_to (path, path->last_move_point.x, path->last_move_point.y); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -692,7 +692,7 @@ _cairo_path_fixed_interpret (const cairo_path_fixed_t *path, status = (*close_path) (closure); break; } - if (status) + if (unlikely (status)) return status; if (forward) { diff --git a/src/cairo-path-stroke.c b/src/cairo-path-stroke.c index 3c02a94c..f2b9e7ae 100644 --- a/src/cairo-path-stroke.c +++ b/src/cairo-path-stroke.c @@ -175,7 +175,7 @@ _cairo_stroker_init (cairo_stroker_t *stroker, status = _cairo_pen_init (&stroker->pen, stroke_style->line_width / 2.0, tolerance, ctm); - if (status) + if (unlikely (status)) return status; stroker->has_current_face = FALSE; @@ -658,22 +658,22 @@ _cairo_stroker_add_caps (cairo_stroker_t *stroker) _compute_face (&stroker->first_point, &slope, dx, dy, stroker, &face); status = _cairo_stroker_add_leading_cap (stroker, &face); - if (status) + if (unlikely (status)) return status; status = _cairo_stroker_add_trailing_cap (stroker, &face); - if (status) + if (unlikely (status)) return status; } if (stroker->has_first_face) { status = _cairo_stroker_add_leading_cap (stroker, &stroker->first_face); - if (status) + if (unlikely (status)) return status; } if (stroker->has_current_face) { status = _cairo_stroker_add_trailing_cap (stroker, &stroker->current_face); - if (status) + if (unlikely (status)) return status; } @@ -761,7 +761,7 @@ _cairo_stroker_move_to (void *closure, cairo_point_t *point) /* Cap the start and end of the previous sub path as needed */ status = _cairo_stroker_add_caps (stroker); - if (status) + if (unlikely (status)) return status; stroker->first_point = *point; @@ -806,13 +806,13 @@ _cairo_stroker_line_to (void *closure, cairo_point_t *point) _compute_normalized_device_slope (&slope_dx, &slope_dy, stroker->ctm_inverse, NULL); status = _cairo_stroker_add_sub_edge (stroker, p1, p2, &dev_slope, slope_dx, slope_dy, &start, &end); - if (status) + if (unlikely (status)) return status; if (stroker->has_current_face) { /* Join with final face from previous segment */ status = _cairo_stroker_join (stroker, &stroker->current_face, &start); - if (status) + if (unlikely (status)) return status; } else if (!stroker->has_first_face) { /* Save sub path's first face in case needed for closing join */ @@ -890,7 +890,7 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point) &dev_slope, slope_dx, slope_dy, &sub_start, &sub_end); - if (status) + if (unlikely (status)) return status; if (stroker->has_current_face) { @@ -898,7 +898,7 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point) status = _cairo_stroker_join (stroker, &stroker->current_face, &sub_start); - if (status) + if (unlikely (status)) return status; stroker->has_current_face = FALSE; @@ -909,14 +909,14 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point) } else { /* Cap dash start if not connecting to a previous segment */ status = _cairo_stroker_add_leading_cap (stroker, &sub_start); - if (status) + if (unlikely (status)) return status; } if (remain) { /* Cap dash end if not at end of segment */ status = _cairo_stroker_add_trailing_cap (stroker, &sub_end); - if (status) + if (unlikely (status)) return status; } else { stroker->current_face = sub_end; @@ -927,7 +927,7 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point) /* Cap final face from previous segment */ status = _cairo_stroker_add_trailing_cap (stroker, &stroker->current_face); - if (status) + if (unlikely (status)) return status; stroker->has_current_face = FALSE; @@ -955,7 +955,7 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point) status = _cairo_stroker_add_leading_cap (stroker, &stroker->current_face); - if (status) + if (unlikely (status)) return status; stroker->has_current_face = TRUE; @@ -986,7 +986,7 @@ _cairo_stroker_curve_to (void *closure, a, b, c, d); if (status == CAIRO_INT_STATUS_DEGENERATE) return _cairo_stroker_line_to (closure, d); - else if (status) + else if (unlikely (status)) return status; initial_slope_dx = _cairo_fixed_to_double (spline_pen.spline.initial_slope.dx); @@ -1014,7 +1014,7 @@ _cairo_stroker_curve_to (void *closure, if (stroker->has_current_face) { status = _cairo_stroker_join (stroker, &stroker->current_face, &start); - if (status) + if (unlikely (status)) goto CLEANUP_PEN; } else if (! stroker->has_first_face) { stroker->first_face = start; @@ -1037,7 +1037,7 @@ _cairo_stroker_curve_to (void *closure, extra_points[3].y -= end.point.y; status = _cairo_pen_add_points (&spline_pen.pen, extra_points, 4); - if (status) + if (unlikely (status)) goto CLEANUP_PEN; status = _cairo_pen_stroke_spline (&spline_pen, @@ -1121,18 +1121,18 @@ _cairo_stroker_close_path (void *closure) status = _cairo_stroker_line_to_dashed (stroker, &stroker->first_point); else status = _cairo_stroker_line_to (stroker, &stroker->first_point); - if (status) + if (unlikely (status)) return status; if (stroker->has_first_face && stroker->has_current_face) { /* Join first and final faces of sub path */ status = _cairo_stroker_join (stroker, &stroker->current_face, &stroker->first_face); - if (status) + if (unlikely (status)) return status; } else { /* Cap the start and end of the sub path as needed */ status = _cairo_stroker_add_caps (stroker); - if (status) + if (unlikely (status)) return status; } @@ -1175,7 +1175,7 @@ _cairo_path_fixed_stroke_to_traps (cairo_path_fixed_t *path, status = _cairo_stroker_init (&stroker, stroke_style, ctm, ctm_inverse, tolerance, traps); - if (status) + if (unlikely (status)) return status; if (stroker.style->dash) @@ -1194,7 +1194,7 @@ _cairo_path_fixed_stroke_to_traps (cairo_path_fixed_t *path, _cairo_stroker_curve_to, _cairo_stroker_close_path, &stroker); - if (status) + if (unlikely (status)) goto BAIL; /* Cap the start and end of the final sub path as needed */ @@ -1386,7 +1386,7 @@ _cairo_rectilinear_stroker_emit_segments (cairo_rectilinear_stroker_t *stroker) } status = _cairo_traps_tessellate_rectangle (stroker->traps, a, b); - if (status) + if (unlikely (status)) return status; } @@ -1403,7 +1403,7 @@ _cairo_rectilinear_stroker_move_to (void *closure, cairo_status_t status; status = _cairo_rectilinear_stroker_emit_segments (stroker); - if (status) + if (unlikely (status)) return status; stroker->current_point = *point; @@ -1449,13 +1449,13 @@ _cairo_rectilinear_stroker_close_path (void *closure) status = _cairo_rectilinear_stroker_line_to (stroker, &stroker->first_point); - if (status) + if (unlikely (status)) return status; stroker->open_sub_path = FALSE; status = _cairo_rectilinear_stroker_emit_segments (stroker); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -1512,7 +1512,7 @@ _cairo_path_fixed_stroke_rectilinear (cairo_path_fixed_t *path, NULL, _cairo_rectilinear_stroker_close_path, &rectilinear_stroker); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_rectilinear_stroker_emit_segments (&rectilinear_stroker); @@ -1520,7 +1520,7 @@ _cairo_path_fixed_stroke_rectilinear (cairo_path_fixed_t *path, BAIL: _cairo_rectilinear_stroker_fini (&rectilinear_stroker); - if (status) + if (unlikely (status)) _cairo_traps_clear (traps); return status; diff --git a/src/cairo-path.c b/src/cairo-path.c index c6639f3f..855b85fe 100644 --- a/src/cairo-path.c +++ b/src/cairo-path.c @@ -127,7 +127,7 @@ _cairo_path_count (cairo_path_t *path, &cpc); } - if (status) + if (unlikely (status)) return -1; return cpc.count; @@ -283,7 +283,7 @@ _cairo_path_populate (cairo_path_t *path, &cpp); } - if (status) + if (unlikely (status)) return status; /* Sanity check the count */ @@ -474,7 +474,7 @@ _cairo_path_append_to_context (const cairo_path_t *path, } status = cairo_status (cr); - if (status) + if (unlikely (status)) return status; } diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c index bdcafe7c..56fa28a5 100644 --- a/src/cairo-pattern.c +++ b/src/cairo-pattern.c @@ -181,7 +181,7 @@ _cairo_pattern_init_copy (cairo_pattern_t *pattern, cairo_status_t status; status = _cairo_gradient_pattern_init_copy (dst, src); - if (status) + if (unlikely (status)) return status; } break; @@ -203,7 +203,7 @@ _cairo_pattern_init_snapshot (cairo_pattern_t *pattern, /* We don't bother doing any fancy copy-on-write implementation * for the pattern's data. It's generally quite tiny. */ status = _cairo_pattern_init_copy (pattern, other); - if (status) + if (unlikely (status)) return status; /* But we do let the surface snapshot stuff be as fancy as it @@ -276,7 +276,7 @@ _cairo_pattern_create_copy (cairo_pattern_t **pattern, return _cairo_error (CAIRO_STATUS_NO_MEMORY); status = _cairo_pattern_init_copy (*pattern, other); - if (status) { + if (unlikely (status)) { free (*pattern); return status; } @@ -872,7 +872,7 @@ _cairo_pattern_add_color_stop (cairo_gradient_pattern_t *pattern, if (pattern->n_stops >= pattern->stops_size) { cairo_status_t status = _cairo_pattern_gradient_grow (pattern); - if (status) { + if (unlikely (status)) { status = _cairo_pattern_set_error (&pattern->base, status); return; } @@ -1063,7 +1063,7 @@ cairo_pattern_set_matrix (cairo_pattern_t *pattern, inverse = *matrix; status = cairo_matrix_invert (&inverse); - if (status) + if (unlikely (status)) status = _cairo_pattern_set_error (pattern, status); } slim_hidden_def (cairo_pattern_set_matrix); @@ -1519,7 +1519,7 @@ _cairo_pattern_acquire_surface_for_solid (const cairo_solid_pattern_t *patt dst)) { status = _cairo_surface_reset (solid_surface_cache.cache[i].surface); - if (status) + if (unlikely (status)) goto UNLOCK; goto DONE; @@ -1531,7 +1531,7 @@ _cairo_pattern_acquire_surface_for_solid (const cairo_solid_pattern_t *patt dst)) { status = _cairo_surface_reset (solid_surface_cache.cache[i].surface); - if (status) + if (unlikely (status)) goto UNLOCK; goto DONE; @@ -1551,11 +1551,11 @@ _cairo_pattern_acquire_surface_for_solid (const cairo_solid_pattern_t *patt /* Reuse the surface instead of evicting */ status = _cairo_surface_reset (surface); - if (status) + if (unlikely (status)) goto EVICT; status = _cairo_surface_repaint_solid_pattern_surface (dst, surface, pattern); - if (status) + if (unlikely (status)) goto EVICT; cairo_surface_reference (surface); @@ -1839,14 +1839,14 @@ _cairo_pattern_acquire_surface_for_surface (const cairo_surface_pattern_t *pat int w, h; status = _cairo_surface_get_extents (surface, &extents); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_surface_clone_similar (dst, surface, extents.x, extents.y, extents.width, extents.height, &extents.x, &extents.y, &src); - if (status) + if (unlikely (status)) goto BAIL; w = 2 * extents.width; @@ -1914,14 +1914,14 @@ _cairo_pattern_acquire_surface_for_surface (const cairo_surface_pattern_t *pat cairo_surface_destroy (src); - if (status) + if (unlikely (status)) goto BAIL; attr->extend = CAIRO_EXTEND_REPEAT; } status = _cairo_surface_get_extents (surface, &extents); - if (status) + if (unlikely (status)) goto BAIL; /* We first transform the rectangle to the coordinate space of the @@ -1969,7 +1969,7 @@ _cairo_pattern_acquire_surface_for_surface (const cairo_surface_pattern_t *pat extents.x, extents.y, extents.width, extents.height, &x, &y, out); - if (status) + if (unlikely (status)) goto BAIL; if (x != 0 || y != 0) { @@ -2184,7 +2184,7 @@ _cairo_pattern_acquire_surfaces (const cairo_pattern_t *src, src_x, src_y, width, height, src_out, src_attributes); - if (status) + if (unlikely (status)) goto BAIL; if (mask == NULL) { @@ -2196,7 +2196,7 @@ _cairo_pattern_acquire_surfaces (const cairo_pattern_t *src, mask_x, mask_y, width, height, mask_out, mask_attributes); - if (status) + if (unlikely (status)) _cairo_pattern_release_surface (src, *src_out, src_attributes); BAIL: @@ -2237,7 +2237,7 @@ _cairo_pattern_get_extents (const cairo_pattern_t *pattern, status = _cairo_surface_get_extents (surface, &surface_extents); if (status == CAIRO_INT_STATUS_UNSUPPORTED) goto UNBOUNDED; - if (status) + if (unlikely (status)) return status; /* The filter can effectively enlarge the extents of the diff --git a/src/cairo-pdf-operators.c b/src/cairo-pdf-operators.c index d363805f..9d5bcba1 100644 --- a/src/cairo-pdf-operators.c +++ b/src/cairo-pdf-operators.c @@ -447,7 +447,7 @@ _cairo_pdf_operators_emit_path (cairo_pdf_operators_t *pdf_operators, word_wrap = _word_wrap_stream_create (pdf_operators->stream, 72); status = _cairo_output_stream_get_status (word_wrap); - if (status) + if (unlikely (status)) return _cairo_output_stream_destroy (word_wrap); info.output = word_wrap; @@ -488,7 +488,7 @@ _cairo_pdf_operators_clip (cairo_pdf_operators_t *pdf_operators, path, &pdf_operators->cairo_to_pdf, CAIRO_LINE_CAP_ROUND); - if (status) + if (unlikely (status)) return status; } @@ -714,7 +714,7 @@ _cairo_pdf_operators_emit_stroke (cairo_pdf_operators_t *pdf_operators, if (pdf_operators->in_text_object) { status = _cairo_pdf_operators_end_text (pdf_operators); - if (status) + if (unlikely (status)) return status; } @@ -753,7 +753,7 @@ _cairo_pdf_operators_emit_stroke (cairo_pdf_operators_t *pdf_operators, _cairo_matrix_factor_out_scale (&m, &scale); path_transform = m; status = cairo_matrix_invert (&path_transform); - if (status) + if (unlikely (status)) return status; cairo_matrix_multiply (&m, &m, &pdf_operators->cairo_to_pdf); @@ -762,7 +762,7 @@ _cairo_pdf_operators_emit_stroke (cairo_pdf_operators_t *pdf_operators, status = _cairo_pdf_operators_emit_stroke_style (pdf_operators, style, scale); if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; - if (status) + if (unlikely (status)) return status; if (has_ctm) { @@ -778,7 +778,7 @@ _cairo_pdf_operators_emit_stroke (cairo_pdf_operators_t *pdf_operators, path, &path_transform, style->line_cap); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (pdf_operators->stream, "%s", pdf_operator); @@ -815,7 +815,7 @@ _cairo_pdf_operators_fill (cairo_pdf_operators_t *pdf_operators, if (pdf_operators->in_text_object) { status = _cairo_pdf_operators_end_text (pdf_operators); - if (status) + if (unlikely (status)) return status; } @@ -823,7 +823,7 @@ _cairo_pdf_operators_fill (cairo_pdf_operators_t *pdf_operators, path, &pdf_operators->cairo_to_pdf, CAIRO_LINE_CAP_ROUND); - if (status) + if (unlikely (status)) return status; switch (fill_rule) { @@ -964,7 +964,7 @@ _cairo_pdf_operators_flush_glyphs (cairo_pdf_operators_t *pdf_operators) word_wrap_stream = _word_wrap_stream_create (pdf_operators->stream, 72); status = _cairo_output_stream_get_status (word_wrap_stream); - if (status) + if (unlikely (status)) return _cairo_output_stream_destroy (word_wrap_stream); /* Check if glyph advance used to position every glyph */ @@ -1023,7 +1023,7 @@ _cairo_pdf_operators_set_text_matrix (cairo_pdf_operators_t *pdf_operators, /* We require the matrix to be invertable. */ inverse = *matrix; status = cairo_matrix_invert (&inverse); - if (status) + if (unlikely (status)) return status; pdf_operators->text_matrix = *matrix; @@ -1112,7 +1112,7 @@ _cairo_pdf_operators_set_font_subset (cairo_pdf_operators_t *pdf_ope status = pdf_operators->use_font_subset (subset_glyph->font_id, subset_glyph->subset_id, pdf_operators->use_font_subset_closure); - if (status) + if (unlikely (status)) return status; } pdf_operators->font_id = subset_glyph->font_id; @@ -1143,7 +1143,7 @@ _cairo_pdf_operators_end_text (cairo_pdf_operators_t *pdf_operators) cairo_status_t status; status = _cairo_pdf_operators_flush_glyphs (pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (pdf_operators->stream, "ET\n"); @@ -1177,7 +1177,7 @@ _cairo_pdf_operators_begin_actualtext (cairo_pdf_operators_t *pdf_operators, _cairo_output_stream_printf (pdf_operators->stream, "/Span << /ActualText <feff"); if (utf8_len) { status = _cairo_utf8_to_utf16 (utf8, utf8_len, &utf16, &utf16_len); - if (status) + if (unlikely (status)) return status; for (i = 0; i < utf16_len; i++) { @@ -1212,11 +1212,11 @@ _cairo_pdf_operators_emit_glyph (cairo_pdf_operators_t *pdf_operator pdf_operators->subset_id != subset_glyph->subset_id) { status = _cairo_pdf_operators_flush_glyphs (pdf_operators); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_set_font_subset (pdf_operators, subset_glyph); - if (status) + if (unlikely (status)) return status; pdf_operators->is_new_text_object = FALSE; @@ -1241,14 +1241,14 @@ _cairo_pdf_operators_emit_glyph (cairo_pdf_operators_t *pdf_operator fabs(y - pdf_operators->cur_y) > GLYPH_POSITION_TOLERANCE) { status = _cairo_pdf_operators_flush_glyphs (pdf_operators); - if (status) + if (unlikely (status)) return status; x = glyph->x; y = glyph->y; cairo_matrix_transform_point (&pdf_operators->cairo_to_pdf, &x, &y); status = _cairo_pdf_operators_set_text_position (pdf_operators, x, y); - if (status) + if (unlikely (status)) return status; x = 0.0; @@ -1296,14 +1296,14 @@ _cairo_pdf_operators_emit_cluster (cairo_pdf_operators_t *pdf_operators, utf8, utf8_len, &subset_glyph); - if (status) + if (unlikely (status)) return status; if (subset_glyph.utf8_is_mapped || utf8_len < 0) { status = _cairo_pdf_operators_emit_glyph (pdf_operators, glyphs, &subset_glyph); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -1313,11 +1313,11 @@ _cairo_pdf_operators_emit_cluster (cairo_pdf_operators_t *pdf_operators, /* Fallback to using ActualText to map zero or more glyphs to a * unicode string. */ status = _cairo_pdf_operators_flush_glyphs (pdf_operators); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_begin_actualtext (pdf_operators, utf8, utf8_len); - if (status) + if (unlikely (status)) return status; cur_glyph = glyphs; @@ -1329,13 +1329,13 @@ _cairo_pdf_operators_emit_cluster (cairo_pdf_operators_t *pdf_operators, cur_glyph->index, NULL, -1, &subset_glyph); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_emit_glyph (pdf_operators, cur_glyph, &subset_glyph); - if (status) + if (unlikely (status)) return status; if ((cluster_flags & CAIRO_TEXT_CLUSTER_FLAG_BACKWARD)) @@ -1344,7 +1344,7 @@ _cairo_pdf_operators_emit_cluster (cairo_pdf_operators_t *pdf_operators, cur_glyph++; } status = _cairo_pdf_operators_flush_glyphs (pdf_operators); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_end_actualtext (pdf_operators); @@ -1374,13 +1374,13 @@ _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t *pdf_operators, status = cairo_matrix_invert (&pdf_operators->font_matrix_inverse); if (status == CAIRO_STATUS_INVALID_MATRIX) return CAIRO_STATUS_SUCCESS; - if (status) + if (unlikely (status)) return status; pdf_operators->is_new_text_object = FALSE; if (pdf_operators->in_text_object == FALSE) { status = _cairo_pdf_operators_begin_text (pdf_operators); - if (status) + if (unlikely (status)) return status; /* Force Tm and Tf to be emitted when starting a new text @@ -1401,7 +1401,7 @@ _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t *pdf_operators, ! _cairo_matrix_scale_equal (&pdf_operators->text_matrix, &text_matrix)) { status = _cairo_pdf_operators_flush_glyphs (pdf_operators); - if (status) + if (unlikely (status)) return status; x = glyphs[0].x; @@ -1412,7 +1412,7 @@ _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t *pdf_operators, status = _cairo_pdf_operators_set_text_matrix (pdf_operators, &text_matrix); if (status == CAIRO_STATUS_INVALID_MATRIX) return CAIRO_STATUS_SUCCESS; - if (status) + if (unlikely (status)) return status; } @@ -1432,7 +1432,7 @@ _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t *pdf_operators, clusters[i].num_glyphs, cluster_flags, scaled_font); - if (status) + if (unlikely (status)) return status; cur_text += clusters[i].num_bytes; @@ -1448,7 +1448,7 @@ _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t *pdf_operators, 1, FALSE, scaled_font); - if (status) + if (unlikely (status)) return status; } } diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c index 97902505..9926e6ff 100644 --- a/src/cairo-pdf-surface.c +++ b/src/cairo-pdf-surface.c @@ -207,7 +207,7 @@ _cairo_pdf_surface_new_object (cairo_pdf_surface_t *surface) object.offset = _cairo_output_stream_get_position (surface->output); status = _cairo_array_append (&surface->objects, &object); - if (status) { + if (unlikely (status)) { resource.id = 0; return resource; } @@ -551,7 +551,7 @@ cairo_pdf_surface_set_size (cairo_surface_t *surface, cairo_status_t status; status = _extract_pdf_surface (surface, &pdf_surface); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (surface, status); return; } @@ -562,7 +562,7 @@ cairo_pdf_surface_set_size (cairo_surface_t *surface, status = _cairo_paginated_surface_set_size (pdf_surface->paginated_surface, width_in_points, height_in_points); - if (status) + if (unlikely (status)) status = _cairo_surface_set_error (surface, status); } @@ -639,7 +639,7 @@ _cairo_pdf_surface_add_alpha (cairo_pdf_surface_t *surface, } status = _cairo_array_append (&res->alphas, &alpha); - if (status) + if (unlikely (status)) return status; *index = _cairo_array_num_elements (&res->alphas) - 1; @@ -702,7 +702,7 @@ _cairo_pdf_surface_add_font (unsigned int font_id, return _cairo_error (CAIRO_STATUS_NO_MEMORY); status = _cairo_array_append (&surface->fonts, &font); - if (status) + if (unlikely (status)) return status; return _cairo_array_append (&res->fonts, &font); @@ -898,7 +898,7 @@ _cairo_pdf_surface_add_pdf_pattern (cairo_pdf_surface_t *surface, } status = _cairo_pattern_create_copy (&pdf_pattern.pattern, pattern); - if (status) + if (unlikely (status)) return status; pdf_pattern.pattern_res = _cairo_pdf_surface_new_object (surface); @@ -936,7 +936,7 @@ _cairo_pdf_surface_add_pdf_pattern (cairo_pdf_surface_t *surface, *gstate_res = pdf_pattern.gstate_res; status = _cairo_array_append (&surface->patterns, &pdf_pattern); - if (status) { + if (unlikely (status)) { cairo_pattern_destroy (pdf_pattern.pattern); return status; } @@ -1022,7 +1022,7 @@ _cairo_pdf_surface_close_stream (cairo_pdf_surface_t *surface) return CAIRO_STATUS_SUCCESS; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; if (surface->pdf_stream.compressed) { @@ -1151,7 +1151,7 @@ _cairo_pdf_surface_open_knockout_group (cairo_pdf_surface_t *surface) cairo_status_t status; status = _cairo_pdf_surface_open_group (surface, NULL); - if (status) + if (unlikely (status)) return status; surface->group_stream.is_knockout = TRUE; @@ -1169,7 +1169,7 @@ _cairo_pdf_surface_close_group (cairo_pdf_surface_t *surface, assert (surface->group_stream.active == TRUE); status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; if (surface->compress_content) { @@ -1237,7 +1237,7 @@ _cairo_pdf_surface_open_content_stream (cairo_pdf_surface_t *surface, surface->compress_content, NULL); } - if (status) + if (unlikely (status)) return status; surface->content = surface->pdf_stream.self; @@ -1256,12 +1256,12 @@ _cairo_pdf_surface_close_content_stream (cairo_pdf_surface_t *surface) assert (surface->group_stream.active == FALSE); status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, "Q\n"); status = _cairo_pdf_surface_close_stream (surface); - if (status) + if (unlikely (status)) return status; _cairo_pdf_surface_update_object (surface, surface->content_resources); @@ -1414,7 +1414,7 @@ _cairo_pdf_surface_has_fallback_images (void *abstract_surface, surface->has_fallback_images = has_fallbacks; status = _cairo_pdf_surface_open_content_stream (surface, has_fallbacks); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -1515,7 +1515,7 @@ _cairo_pdf_surface_emit_smask (cairo_pdf_surface_t *surface, " /BitsPerComponent %d\n", image->width, image->height, image->format == CAIRO_FORMAT_A1 ? 1 : 8); - if (status) + if (unlikely (status)) goto CLEANUP_ALPHA; *stream_ret = surface->pdf_stream.self; @@ -1601,7 +1601,7 @@ _cairo_pdf_surface_emit_image (cairo_pdf_surface_t *surface, image->format == CAIRO_FORMAT_A8 || image->format == CAIRO_FORMAT_A1) { status = _cairo_pdf_surface_emit_smask (surface, image, &smask); - if (status) + if (unlikely (status)) goto CLEANUP_RGB; if (smask.id) @@ -1645,7 +1645,7 @@ _cairo_pdf_surface_emit_image (cairo_pdf_surface_t *surface, IMAGE_DICTIONARY, image->width, image->height, interpolate); - if (status) + if (unlikely (status)) goto CLEANUP_RGB; #undef IMAGE_DICTIONARY @@ -1727,7 +1727,7 @@ _cairo_pdf_surface_emit_jpeg_image (cairo_pdf_surface_t *surface, return CAIRO_INT_STATUS_UNSUPPORTED; status = _cairo_image_info_get_jpeg_info (&info, mime_data, mime_data_length); - if (status) + if (unlikely (status)) return status; if (info.num_components != 1 && info.num_components != 3) @@ -1747,7 +1747,7 @@ _cairo_pdf_surface_emit_jpeg_image (cairo_pdf_surface_t *surface, info.height, info.num_components == 1 ? "/DeviceGray" : "/DeviceRGB", info.bits_per_component); - if (status) + if (unlikely (status)) return status; *res = surface->pdf_stream.self; @@ -1789,7 +1789,7 @@ _cairo_pdf_surface_emit_image_surface (cairo_pdf_surface_t *surface, return status; status = _cairo_surface_acquire_source_image (pattern->surface, &image, &image_extra); - if (status) + if (unlikely (status)) goto BAIL; pad_image = &image->base; @@ -1826,13 +1826,13 @@ _cairo_pdf_surface_emit_image_surface (cairo_pdf_surface_t *surface, rect.width, rect.height); _cairo_pattern_fini (&pad_pattern.base); - if (status) + if (unlikely (status)) goto BAIL; } status = _cairo_pdf_surface_emit_image (surface, (cairo_image_surface_t *)pad_image, resource, pattern->base.filter); - if (status) + if (unlikely (status)) goto BAIL; *width = ((cairo_image_surface_t *)pad_image)->width; @@ -1862,7 +1862,7 @@ _cairo_pdf_surface_emit_meta_surface (cairo_pdf_surface_t *surface, int alpha = 0; status = _cairo_surface_get_extents (meta_surface, &meta_extents); - if (status) + if (unlikely (status)) return status; old_width = surface->width; @@ -1879,13 +1879,13 @@ _cairo_pdf_surface_emit_meta_surface (cairo_pdf_surface_t *surface, surface->paginated_mode = CAIRO_PAGINATED_MODE_RENDER; _cairo_pdf_group_resources_clear (&surface->resources); status = _cairo_pdf_surface_open_content_stream (surface, TRUE); - if (status) + if (unlikely (status)) return status; *resource = surface->content; if (cairo_surface_get_content (meta_surface) == CAIRO_CONTENT_COLOR) { status = _cairo_pdf_surface_add_alpha (surface, 1.0, &alpha); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -1898,11 +1898,11 @@ _cairo_pdf_surface_emit_meta_surface (cairo_pdf_surface_t *surface, status = _cairo_meta_surface_replay_region (meta_surface, &surface->base, CAIRO_META_REGION_NATIVE); assert (status != CAIRO_INT_STATUS_UNSUPPORTED); - if (status) + if (unlikely (status)) return status; status = _cairo_surface_set_clip (&surface->base, old_clip); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_close_content_stream (surface); @@ -1940,11 +1940,11 @@ _cairo_pdf_surface_emit_surface_pattern (cairo_pdf_surface_t *surface, status = _cairo_pdf_surface_emit_meta_surface (surface, meta_surface, &pattern_resource); - if (status) + if (unlikely (status)) return status; status = _cairo_surface_get_extents (meta_surface, &pattern_extents); - if (status) + if (unlikely (status)) return status; pattern_width = pattern_extents.width; @@ -1957,12 +1957,12 @@ _cairo_pdf_surface_emit_surface_pattern (cairo_pdf_surface_t *surface, &pattern_height, &origin_x, &origin_y); - if (status) + if (unlikely (status)) return status; } status = _cairo_surface_get_extents (&surface->base, &surface_extents); - if (status) + if (unlikely (status)) return status; bbox_x = pattern_width; @@ -2074,7 +2074,7 @@ _cairo_pdf_surface_emit_surface_pattern (cairo_pdf_surface_t *surface, pdf_p2d.x0, pdf_p2d.y0, pattern_resource.id, pattern_resource.id); - if (status) + if (unlikely (status)) return status; if (_cairo_surface_is_meta (pattern->surface)) { @@ -2112,7 +2112,7 @@ _cairo_pdf_surface_emit_surface_pattern (cairo_pdf_surface_t *surface, } status = _cairo_pdf_surface_close_stream (surface); - if (status) + if (unlikely (status)) return status; return _cairo_output_stream_get_status (surface->output); @@ -2244,14 +2244,14 @@ _cairo_pdf_surface_emit_stitched_colorgradient (cairo_pdf_surface_t *surface, &stops[i], &stops[i+1], &stops[i].resource); - if (status) + if (unlikely (status)) return status; } else { status = cairo_pdf_surface_emit_rgb_linear_function (surface, &stops[i], &stops[i+1], &stops[i].resource); - if (status) + if (unlikely (status)) return status; } } @@ -2380,7 +2380,7 @@ _cairo_pdf_surface_emit_pattern_stops (cairo_pdf_surface_t *surface, &stops[0], &stops[1], color_function); - if (status) + if (unlikely (status)) goto BAIL; if (emit_alpha) { @@ -2388,7 +2388,7 @@ _cairo_pdf_surface_emit_pattern_stops (cairo_pdf_surface_t *surface, &stops[0], &stops[1], alpha_function); - if (status) + if (unlikely (status)) goto BAIL; } } else { @@ -2399,7 +2399,7 @@ _cairo_pdf_surface_emit_pattern_stops (cairo_pdf_surface_t *surface, stops, FALSE, color_function); - if (status) + if (unlikely (status)) goto BAIL; if (emit_alpha) { @@ -2408,7 +2408,7 @@ _cairo_pdf_surface_emit_pattern_stops (cairo_pdf_surface_t *surface, stops, TRUE, alpha_function); - if (status) + if (unlikely (status)) goto BAIL; } } @@ -2510,7 +2510,7 @@ cairo_pdf_surface_emit_transparency_group (cairo_pdf_surface_t *surface, surface->height, gradient_mask.id, gradient_mask.id); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -2525,7 +2525,7 @@ cairo_pdf_surface_emit_transparency_group (cairo_pdf_surface_t *surface, surface->height); status = _cairo_pdf_surface_close_stream (surface); - if (status) + if (unlikely (status)) return status; smask_resource = _cairo_pdf_surface_new_object (surface); @@ -2648,7 +2648,7 @@ _cairo_pdf_surface_emit_linear_pattern (cairo_pdf_surface_t *surface, &pattern->base, &color_function, &alpha_function); - if (status) + if (unlikely (status)) return status; if (pattern->base.base.extend == CAIRO_EXTEND_REPEAT || @@ -2658,7 +2658,7 @@ _cairo_pdf_surface_emit_linear_pattern (cairo_pdf_surface_t *surface, &color_function, repeat_begin, repeat_end); - if (status) + if (unlikely (status)) return status; if (alpha_function.id != 0) { @@ -2667,7 +2667,7 @@ _cairo_pdf_surface_emit_linear_pattern (cairo_pdf_surface_t *surface, &alpha_function, repeat_begin, repeat_end); - if (status) + if (unlikely (status)) return status; } } @@ -2747,13 +2747,13 @@ _cairo_pdf_surface_emit_linear_pattern (cairo_pdf_surface_t *surface, ">>\n" "endobj\n"); status = _cairo_pdf_surface_add_pattern (surface, mask_resource); - if (status) + if (unlikely (status)) return status; status = cairo_pdf_surface_emit_transparency_group (surface, pdf_pattern->gstate_res, mask_resource); - if (status) + if (unlikely (status)) return status; } @@ -2779,7 +2779,7 @@ _cairo_pdf_surface_emit_radial_pattern (cairo_pdf_surface_t *surface, &pattern->base, &color_function, &alpha_function); - if (status) + if (unlikely (status)) return status; pat_to_pdf = pattern->base.base.matrix; @@ -2870,7 +2870,7 @@ _cairo_pdf_surface_emit_radial_pattern (cairo_pdf_surface_t *surface, status = cairo_pdf_surface_emit_transparency_group (surface, pdf_pattern->gstate_res, mask_resource); - if (status) + if (unlikely (status)) return status; } @@ -2953,7 +2953,7 @@ _cairo_pdf_surface_select_pattern (cairo_pdf_surface_t *surface, surface->current_color_is_stroke != is_stroke) { status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -2977,11 +2977,11 @@ _cairo_pdf_surface_select_pattern (cairo_pdf_surface_t *surface, surface->current_color_alpha != solid_color->alpha) { status = _cairo_pdf_surface_add_alpha (surface, solid_color->alpha, &alpha); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -2993,15 +2993,15 @@ _cairo_pdf_surface_select_pattern (cairo_pdf_surface_t *surface, surface->current_pattern_is_solid_color = TRUE; } else { status = _cairo_pdf_surface_add_alpha (surface, 1.0, &alpha); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_add_pattern (surface, pattern_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; /* fill-stroke calls select_pattern twice. Don't save if the @@ -3035,7 +3035,7 @@ _cairo_pdf_surface_unselect_pattern (cairo_pdf_surface_t *surface) if (surface->select_pattern_gstate_saved) { status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, "Q\n"); @@ -3053,11 +3053,11 @@ _cairo_pdf_surface_show_page (void *abstract_surface) cairo_int_status_t status; status = _cairo_pdf_surface_close_content_stream (surface); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_write_page (surface); - if (status) + if (unlikely (status)) return status; _cairo_pdf_surface_clear (surface); @@ -3096,7 +3096,7 @@ _cairo_pdf_surface_intersect_clip_path (void *abstract_surface, if (path == NULL) { status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, "Q q\n"); @@ -3183,7 +3183,7 @@ _cairo_pdf_surface_emit_unicode_for_glyph (cairo_pdf_surface_t *surface, if (utf8 && *utf8) { status = _cairo_utf8_to_utf16 (utf8, -1, &utf16, &utf16_len); - if (status) + if (unlikely (status)) return status; } @@ -3225,7 +3225,7 @@ _cairo_pdf_surface_emit_to_unicode_stream (cairo_pdf_surface_t *surface, NULL, surface->compress_content, NULL); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -3277,7 +3277,7 @@ _cairo_pdf_surface_emit_to_unicode_stream (cairo_pdf_surface_t *surface, } status = _cairo_pdf_surface_emit_unicode_for_glyph (surface, font_subset->utf8[i + 1]); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -3317,14 +3317,14 @@ _cairo_pdf_surface_emit_cff_font (cairo_pdf_surface_t *surface, NULL, TRUE, " /Subtype /CIDFontType0C\n"); - if (status) + if (unlikely (status)) return status; stream = surface->pdf_stream.self; _cairo_output_stream_write (surface->output, subset->data, subset->data_length); status = _cairo_pdf_surface_close_stream (surface); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_emit_to_unicode_stream (surface, @@ -3432,7 +3432,7 @@ _cairo_pdf_surface_emit_cff_font_subset (cairo_pdf_surface_t *surface, snprintf (name, sizeof name, "CairoFont-%d-%d", font_subset->font_id, font_subset->subset_id); status = _cairo_cff_subset_init (&subset, name, font_subset); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_emit_cff_font (surface, font_subset, &subset); @@ -3453,7 +3453,7 @@ _cairo_pdf_surface_emit_cff_fallback_font (cairo_pdf_surface_t *surface, snprintf (name, sizeof name, "CairoFont-%d-%d", font_subset->font_id, font_subset->subset_id); status = _cairo_cff_fallback_init (&subset, name, font_subset); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_emit_cff_font (surface, font_subset, &subset); @@ -3490,13 +3490,13 @@ _cairo_pdf_surface_emit_type1_font (cairo_pdf_surface_t *surface, " /Length3 0\n", subset->header_length, subset->data_length); - if (status) + if (unlikely (status)) return status; stream = surface->pdf_stream.self; _cairo_output_stream_write (surface->output, subset->data, length); status = _cairo_pdf_surface_close_stream (surface); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_emit_to_unicode_stream (surface, @@ -3584,7 +3584,7 @@ _cairo_pdf_surface_emit_type1_font_subset (cairo_pdf_surface_t *surface, snprintf (name, sizeof name, "CairoFont-%d-%d", font_subset->font_id, font_subset->subset_id); status = _cairo_type1_subset_init (&subset, name, font_subset, FALSE); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_emit_type1_font (surface, font_subset, &subset); @@ -3605,7 +3605,7 @@ _cairo_pdf_surface_emit_type1_fallback_font (cairo_pdf_surface_t *surface, snprintf (name, sizeof name, "CairoFont-%d-%d", font_subset->font_id, font_subset->subset_id); status = _cairo_type1_fallback_init_binary (&subset, name, font_subset); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_emit_type1_font (surface, font_subset, &subset); @@ -3634,7 +3634,7 @@ _cairo_pdf_surface_emit_truetype_font_subset (cairo_pdf_surface_t *surface, return CAIRO_STATUS_SUCCESS; status = _cairo_truetype_subset_init (&subset, font_subset); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_open_stream (surface, @@ -3642,7 +3642,7 @@ _cairo_pdf_surface_emit_truetype_font_subset (cairo_pdf_surface_t *surface, TRUE, " /Length1 %lu\n", subset.data_length); - if (status) { + if (unlikely (status)) { _cairo_truetype_subset_fini (&subset); return status; } @@ -3651,7 +3651,7 @@ _cairo_pdf_surface_emit_truetype_font_subset (cairo_pdf_surface_t *surface, _cairo_output_stream_write (surface->output, subset.data, subset.data_length); status = _cairo_pdf_surface_close_stream (surface); - if (status) { + if (unlikely (status)) { _cairo_truetype_subset_fini (&subset); return status; } @@ -3822,7 +3822,7 @@ _cairo_pdf_surface_analyze_user_font_subset (cairo_scaled_font_subset_t *font_su for (i = 0; i < font_subset->num_glyphs; i++) { status = _cairo_type3_glyph_surface_analyze_glyph (type3_surface, font_subset->glyphs[i]); - if (status) + if (unlikely (status)) break; } @@ -3880,7 +3880,7 @@ _cairo_pdf_surface_emit_type3_font_subset (cairo_pdf_surface_t *surface, NULL, surface->compress_content, NULL); - if (status) + if (unlikely (status)) break; glyphs[i] = surface->pdf_stream.self; @@ -3889,11 +3889,11 @@ _cairo_pdf_surface_emit_type3_font_subset (cairo_pdf_surface_t *surface, font_subset->glyphs[i], &bbox, &widths[i]); - if (status) + if (unlikely (status)) break; status = _cairo_pdf_surface_close_stream (surface); - if (status) + if (unlikely (status)) break; if (i == 0) { @@ -3913,7 +3913,7 @@ _cairo_pdf_surface_emit_type3_font_subset (cairo_pdf_surface_t *surface, } } cairo_surface_destroy (type3_surface); - if (status) { + if (unlikely (status)) { free (glyphs); free (widths); return status; @@ -4072,19 +4072,19 @@ _cairo_pdf_surface_emit_font_subsets (cairo_pdf_surface_t *surface) status = _cairo_scaled_font_subsets_foreach_user (surface->font_subsets, _cairo_pdf_surface_analyze_user_font_subset, surface); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_scaled_font_subsets_foreach_unscaled (surface->font_subsets, _cairo_pdf_surface_emit_unscaled_font_subset, surface); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_scaled_font_subsets_foreach_scaled (surface->font_subsets, _cairo_pdf_surface_emit_scaled_font_subset, surface); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_scaled_font_subsets_foreach_user (surface->font_subsets, @@ -4159,14 +4159,14 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, /* Create mask group */ status = _cairo_pdf_surface_open_group (surface, NULL); - if (status) + if (unlikely (status)) return status; pattern_res.id = 0; gstate_res.id = 0; status = _cairo_pdf_surface_add_pdf_pattern (surface, group->mask, NULL, &pattern_res, &gstate_res); - if (status) + if (unlikely (status)) return status; if (gstate_res.id != 0) { @@ -4178,17 +4178,17 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, smask_group->source = cairo_pattern_reference (group->mask); smask_group->source_res = pattern_res; status = _cairo_pdf_surface_add_smask_group (surface, smask_group); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (smask_group); return status; } status = _cairo_pdf_surface_add_smask (surface, gstate_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_add_xobject (surface, smask_group->group_res); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -4197,7 +4197,7 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, smask_group->group_res.id); } else { status = _cairo_pdf_surface_select_pattern (surface, group->mask, pattern_res, FALSE); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -4205,24 +4205,24 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, surface->width, surface->height); status = _cairo_pdf_surface_unselect_pattern (surface); - if (status) + if (unlikely (status)) return status; } status = _cairo_pdf_surface_close_group (surface, &mask_group); - if (status) + if (unlikely (status)) return status; /* Create source group */ status = _cairo_pdf_surface_open_group (surface, &group->source_res); - if (status) + if (unlikely (status)) return status; pattern_res.id = 0; gstate_res.id = 0; status = _cairo_pdf_surface_add_pdf_pattern (surface, group->source, NULL, &pattern_res, &gstate_res); - if (status) + if (unlikely (status)) return status; if (gstate_res.id != 0) { @@ -4234,17 +4234,17 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, smask_group->source = cairo_pattern_reference (group->source); smask_group->source_res = pattern_res; status = _cairo_pdf_surface_add_smask_group (surface, smask_group); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (smask_group); return status; } status = _cairo_pdf_surface_add_smask (surface, gstate_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_add_xobject (surface, smask_group->group_res); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -4253,7 +4253,7 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, smask_group->group_res.id); } else { status = _cairo_pdf_surface_select_pattern (surface, group->source, pattern_res, FALSE); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -4261,12 +4261,12 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface, surface->width, surface->height); status = _cairo_pdf_surface_unselect_pattern (surface); - if (status) + if (unlikely (status)) return status; } status = _cairo_pdf_surface_close_group (surface, NULL); - if (status) + if (unlikely (status)) return status; /* Create an smask based on the alpha component of mask_group */ @@ -4319,14 +4319,14 @@ _cairo_pdf_surface_write_smask_group (cairo_pdf_surface_t *surface, return _cairo_pdf_surface_write_mask_group (surface, group); status = _cairo_pdf_surface_open_group (surface, &group->group_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_select_pattern (surface, group->source, group->source_res, group->operation == PDF_STROKE); - if (status) + if (unlikely (status)) return status; switch (group->operation) { @@ -4359,11 +4359,11 @@ _cairo_pdf_surface_write_smask_group (cairo_pdf_surface_t *surface, group->scaled_font); break; } - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_unselect_pattern (surface); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_close_group (surface, NULL); @@ -4398,14 +4398,14 @@ _cairo_pdf_surface_write_patterns_and_smask_groups (cairo_pdf_surface_t *surface for (; group_index < _cairo_array_num_elements (&surface->smask_groups); group_index++) { _cairo_array_copy_element (&surface->smask_groups, group_index, &group); status = _cairo_pdf_surface_write_smask_group (surface, group); - if (status) + if (unlikely (status)) return status; } for (; pattern_index < _cairo_array_num_elements (&surface->patterns); pattern_index++) { _cairo_array_copy_element (&surface->patterns, pattern_index, &pattern); status = _cairo_pdf_surface_emit_pattern (surface, &pattern); - if (status) + if (unlikely (status)) return status; } } @@ -4423,7 +4423,7 @@ _cairo_pdf_surface_write_page (cairo_pdf_surface_t *surface) _cairo_pdf_group_resources_clear (&surface->resources); if (surface->has_fallback_images) { status = _cairo_pdf_surface_open_knockout_group (surface); - if (status) + if (unlikely (status)) return status; len = _cairo_array_num_elements (&surface->knockout_group); @@ -4433,34 +4433,34 @@ _cairo_pdf_surface_write_page (cairo_pdf_surface_t *surface) "/x%d Do\n", res.id); status = _cairo_pdf_surface_add_xobject (surface, res); - if (status) + if (unlikely (status)) return status; } _cairo_output_stream_printf (surface->output, "/x%d Do\n", surface->content.id); status = _cairo_pdf_surface_add_xobject (surface, surface->content); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_close_group (surface, &knockout); - if (status) + if (unlikely (status)) return status; _cairo_pdf_group_resources_clear (&surface->resources); status = _cairo_pdf_surface_open_content_stream (surface, FALSE); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, "/x%d Do\n", knockout.id); status = _cairo_pdf_surface_add_xobject (surface, knockout); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_close_content_stream (surface); - if (status) + if (unlikely (status)) return status; } @@ -4490,11 +4490,11 @@ _cairo_pdf_surface_write_page (cairo_pdf_surface_t *surface) surface->content_resources.id); status = _cairo_array_append (&surface->pages, &page); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_write_patterns_and_smask_groups (surface); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -4512,7 +4512,7 @@ _cairo_pdf_surface_analyze_surface_pattern_transparency (cairo_pdf_surface_t status = _cairo_surface_acquire_source_image (pattern->surface, &image, &image_extra); - if (status) + if (unlikely (status)) return status; if (image->base.status) @@ -4697,11 +4697,11 @@ _cairo_pdf_surface_start_fallback (cairo_pdf_surface_t *surface) cairo_status_t status; status = _cairo_pdf_surface_close_content_stream (surface); - if (status) + if (unlikely (status)) return status; status = _cairo_array_append (&surface->knockout_group, &surface->content); - if (status) + if (unlikely (status)) return status; _cairo_pdf_group_resources_clear (&surface->resources); @@ -4723,7 +4723,7 @@ _cairo_pdf_surface_paint (void *abstract_surface, return _cairo_pdf_surface_analyze_operation (surface, op, source); } else if (surface->paginated_mode == CAIRO_PAGINATED_MODE_FALLBACK) { status = _cairo_pdf_surface_start_fallback (surface); - if (status) + if (unlikely (status)) return status; } @@ -4735,7 +4735,7 @@ _cairo_pdf_surface_paint (void *abstract_surface, &pattern_res, &gstate_res); if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; - if (status) + if (unlikely (status)) return status; if (gstate_res.id != 0) { @@ -4745,27 +4745,27 @@ _cairo_pdf_surface_paint (void *abstract_surface, group->operation = PDF_PAINT; status = _cairo_pattern_create_copy (&group->source, source); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } group->source_res = pattern_res; status = _cairo_pdf_surface_add_smask_group (surface, group); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } status = _cairo_pdf_surface_add_smask (surface, gstate_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_add_xobject (surface, group->group_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -4774,7 +4774,7 @@ _cairo_pdf_surface_paint (void *abstract_surface, group->group_res.id); } else { status = _cairo_pdf_surface_select_pattern (surface, source, pattern_res, FALSE); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -4782,7 +4782,7 @@ _cairo_pdf_surface_paint (void *abstract_surface, surface->width, surface->height); status = _cairo_pdf_surface_unselect_pattern (surface); - if (status) + if (unlikely (status)) return status; } @@ -4815,7 +4815,7 @@ _cairo_pdf_surface_mask (void *abstract_surface, mask_status); } else if (surface->paginated_mode == CAIRO_PAGINATED_MODE_FALLBACK) { status = _cairo_pdf_surface_start_fallback (surface); - if (status) + if (unlikely (status)) return status; } @@ -4828,12 +4828,12 @@ _cairo_pdf_surface_mask (void *abstract_surface, group->operation = PDF_MASK; status = _cairo_pattern_create_copy (&group->source, source); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } status = _cairo_pattern_create_copy (&group->mask, mask); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } @@ -4844,21 +4844,21 @@ _cairo_pdf_surface_mask (void *abstract_surface, } status = _cairo_pdf_surface_add_smask_group (surface, group); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } status = _cairo_pdf_surface_add_smask (surface, group->group_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_add_xobject (surface, group->source_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -4897,7 +4897,7 @@ _cairo_pdf_surface_stroke (void *abstract_surface, &pattern_res, &gstate_res); if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; - if (status) + if (unlikely (status)) return status; if (gstate_res.id != 0) { @@ -4907,13 +4907,13 @@ _cairo_pdf_surface_stroke (void *abstract_surface, group->operation = PDF_STROKE; status = _cairo_pattern_create_copy (&group->source, source); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } group->source_res = pattern_res; status = _cairo_path_fixed_init_copy (&group->path, path); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } @@ -4922,21 +4922,21 @@ _cairo_pdf_surface_stroke (void *abstract_surface, group->ctm = *ctm; group->ctm_inverse = *ctm_inverse; status = _cairo_pdf_surface_add_smask_group (surface, group); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } status = _cairo_pdf_surface_add_smask (surface, gstate_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_add_xobject (surface, group->group_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -4945,7 +4945,7 @@ _cairo_pdf_surface_stroke (void *abstract_surface, group->group_res.id); } else { status = _cairo_pdf_surface_select_pattern (surface, source, pattern_res, TRUE); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_stroke (&surface->pdf_operators, @@ -4953,11 +4953,11 @@ _cairo_pdf_surface_stroke (void *abstract_surface, style, ctm, ctm_inverse); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_unselect_pattern (surface); - if (status) + if (unlikely (status)) return status; } @@ -4983,7 +4983,7 @@ _cairo_pdf_surface_fill (void *abstract_surface, return _cairo_pdf_surface_analyze_operation (surface, op, source); } else if (surface->paginated_mode == CAIRO_PAGINATED_MODE_FALLBACK) { status = _cairo_pdf_surface_start_fallback (surface); - if (status) + if (unlikely (status)) return status; } @@ -4995,7 +4995,7 @@ _cairo_pdf_surface_fill (void *abstract_surface, &pattern_res, &gstate_res); if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; - if (status) + if (unlikely (status)) return status; if (gstate_res.id != 0) { @@ -5005,34 +5005,34 @@ _cairo_pdf_surface_fill (void *abstract_surface, group->operation = PDF_FILL; status = _cairo_pattern_create_copy (&group->source, source); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } group->source_res = pattern_res; status = _cairo_path_fixed_init_copy (&group->path, path); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } group->fill_rule = fill_rule; status = _cairo_pdf_surface_add_smask_group (surface, group); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } status = _cairo_pdf_surface_add_smask (surface, gstate_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_add_xobject (surface, group->group_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -5041,17 +5041,17 @@ _cairo_pdf_surface_fill (void *abstract_surface, group->group_res.id); } else { status = _cairo_pdf_surface_select_pattern (surface, source, pattern_res, FALSE); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_fill (&surface->pdf_operators, path, fill_rule); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_unselect_pattern (surface); - if (status) + if (unlikely (status)) return status; } @@ -5104,7 +5104,7 @@ _cairo_pdf_surface_fill_stroke (void *abstract_surface, extents, &fill_pattern_res, &gstate_res); - if (status) + if (unlikely (status)) return status; assert (gstate_res.id == 0); @@ -5116,7 +5116,7 @@ _cairo_pdf_surface_fill_stroke (void *abstract_surface, extents, &stroke_pattern_res, &gstate_res); - if (status) + if (unlikely (status)) return status; assert (gstate_res.id == 0); @@ -5125,12 +5125,12 @@ _cairo_pdf_surface_fill_stroke (void *abstract_surface, * select both at the same time */ status = _cairo_pdf_surface_select_pattern (surface, fill_source, fill_pattern_res, FALSE); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_select_pattern (surface, stroke_source, stroke_pattern_res, TRUE); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_fill_stroke (&surface->pdf_operators, @@ -5139,11 +5139,11 @@ _cairo_pdf_surface_fill_stroke (void *abstract_surface, stroke_style, stroke_ctm, stroke_ctm_inverse); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_unselect_pattern (surface); - if (status) + if (unlikely (status)) return status; return _cairo_output_stream_get_status (surface->output); @@ -5185,7 +5185,7 @@ _cairo_pdf_surface_show_text_glyphs (void *abstract_surface, &pattern_res, &gstate_res); if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; - if (status) + if (unlikely (status)) return status; if (gstate_res.id != 0) { @@ -5195,7 +5195,7 @@ _cairo_pdf_surface_show_text_glyphs (void *abstract_surface, group->operation = PDF_SHOW_GLYPHS; status = _cairo_pattern_create_copy (&group->source, source); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } @@ -5233,21 +5233,21 @@ _cairo_pdf_surface_show_text_glyphs (void *abstract_surface, group->scaled_font = cairo_scaled_font_reference (scaled_font); status = _cairo_pdf_surface_add_smask_group (surface, group); - if (status) { + if (unlikely (status)) { _cairo_pdf_smask_group_destroy (group); return status; } status = _cairo_pdf_surface_add_smask (surface, gstate_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_add_xobject (surface, group->group_res); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->output, @@ -5256,7 +5256,7 @@ _cairo_pdf_surface_show_text_glyphs (void *abstract_surface, group->group_res.id); } else { status = _cairo_pdf_surface_select_pattern (surface, source, pattern_res, FALSE); - if (status) + if (unlikely (status)) return status; /* Each call to show_glyphs() with a transclucent pattern must @@ -5265,7 +5265,7 @@ _cairo_pdf_surface_show_text_glyphs (void *abstract_surface, * each other. */ if (! _cairo_pattern_is_opaque (source)) { status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; } @@ -5275,11 +5275,11 @@ _cairo_pdf_surface_show_text_glyphs (void *abstract_surface, clusters, num_clusters, cluster_flags, scaled_font); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_surface_unselect_pattern (surface); - if (status) + if (unlikely (status)) return status; } diff --git a/src/cairo-pen.c b/src/cairo-pen.c index 43d344a1..21ed8e35 100644 --- a/src/cairo-pen.c +++ b/src/cairo-pen.c @@ -162,7 +162,7 @@ _cairo_pen_add_points (cairo_pen_t *pen, cairo_point_t *point, int num_points) pen->vertices[pen->num_vertices-num_points+i].point = point[i]; status = _cairo_hull_compute (pen->vertices, &pen->num_vertices); - if (status) + if (unlikely (status)) return status; _cairo_pen_compute_slopes (pen); @@ -491,7 +491,7 @@ _cairo_pen_stroke_spline (cairo_pen_stroke_spline_t *stroker, 1); status = _cairo_polygon_status (&stroker->polygon); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_bentley_ottmann_tessellate_polygon (traps, @@ -548,7 +548,7 @@ _cairo_pen_stroke_spline_init (cairo_pen_stroke_spline_t *stroker, } status = _cairo_pen_init_copy (&stroker->pen, pen); - if (status) { + if (unlikely (status)) { _cairo_spline_fini (&stroker->spline); return status; } diff --git a/src/cairo-png.c b/src/cairo-png.c index 5bb658cb..69df0f3e 100644 --- a/src/cairo-png.c +++ b/src/cairo-png.c @@ -159,7 +159,7 @@ write_png (cairo_surface_t *surface, if (status == CAIRO_INT_STATUS_UNSUPPORTED) return _cairo_error (CAIRO_STATUS_SURFACE_TYPE_MISMATCH); - else if (status) + else if (unlikely (status)) return status; /* PNG complains about "Image width or height is zero in IHDR" */ @@ -361,7 +361,7 @@ stream_write_func (png_structp png, png_bytep data, png_size_t size) png_closure = png_get_io_ptr (png); status = png_closure->write_func (png_closure->closure, data, size); - if (status) { + if (unlikely (status)) { cairo_status_t *error = png_get_error_ptr (png); if (*error == CAIRO_STATUS_SUCCESS) *error = status; @@ -486,7 +486,7 @@ stream_read_func (png_structp png, png_bytep data, png_size_t size) png_closure = png_get_io_ptr (png); status = png_closure->read_func (png_closure->closure, data, size); - if (status) { + if (unlikely (status)) { cairo_status_t *error = png_get_error_ptr (png); if (*error == CAIRO_STATUS_SUCCESS) *error = status; @@ -544,7 +544,7 @@ read_png (struct png_read_closure_t *png_closure) png_get_IHDR (png, info, &png_width, &png_height, &depth, &color_type, &interlace, NULL, NULL); - if (status) { /* catch any early warnings */ + if (unlikely (status)) { /* catch any early warnings */ surface = _cairo_surface_create_in_error (status); goto BAIL; } @@ -637,7 +637,7 @@ read_png (struct png_read_closure_t *png_closure) png_read_image (png, row_pointers); png_read_end (png, info); - if (status) { /* catch any late warnings - probably hit an error already */ + if (unlikely (status)) { /* catch any late warnings - probably hit an error already */ surface = _cairo_surface_create_in_error (status); goto BAIL; } @@ -654,7 +654,7 @@ read_png (struct png_read_closure_t *png_closure) status = _cairo_memory_stream_destroy (png_closure->png_data, &mime_data, &mime_data_length); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (surface); surface = _cairo_surface_create_in_error (status); goto BAIL; @@ -666,7 +666,7 @@ read_png (struct png_read_closure_t *png_closure) mime_data_length, free, mime_data); - if (status) { + if (unlikely (status)) { free (mime_data); cairo_surface_destroy (surface); surface = _cairo_surface_create_in_error (status); diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c index 0c9ef7f4..43219e5b 100644 --- a/src/cairo-ps-surface.c +++ b/src/cairo-ps-surface.c @@ -262,7 +262,7 @@ _cairo_ps_surface_emit_type1_font_subset (cairo_ps_surface_t *surface, snprintf (name, sizeof name, "f-%d-%d", font_subset->font_id, font_subset->subset_id); status = _cairo_type1_subset_init (&subset, name, font_subset, TRUE); - if (status) + if (unlikely (status)) return status; /* FIXME: Figure out document structure convention for fonts */ @@ -293,7 +293,7 @@ _cairo_ps_surface_emit_type1_font_fallback (cairo_ps_surface_t *surface, snprintf (name, sizeof name, "f-%d-%d", font_subset->font_id, font_subset->subset_id); status = _cairo_type1_fallback_init_hex (&subset, name, font_subset); - if (status) + if (unlikely (status)) return status; /* FIXME: Figure out document structure convention for fonts */ @@ -322,7 +322,7 @@ _cairo_ps_surface_emit_truetype_font_subset (cairo_ps_surface_t *surface, unsigned int i, begin, end; status = _cairo_truetype_subset_init (&subset, font_subset); - if (status) + if (unlikely (status)) return status; /* FIXME: Figure out document structure convention for fonts */ @@ -463,7 +463,7 @@ _cairo_ps_surface_analyze_user_font_subset (cairo_scaled_font_subset_t *font_sub for (i = 0; i < font_subset->num_glyphs; i++) { status = _cairo_type3_glyph_surface_analyze_glyph (type3_surface, font_subset->glyphs[i]); - if (status) + if (unlikely (status)) break; } @@ -527,7 +527,7 @@ _cairo_ps_surface_emit_type3_font_subset (cairo_ps_surface_t *surface, font_subset->glyphs[i], &bbox, &width); - if (status) + if (unlikely (status)) break; _cairo_output_stream_printf (surface->final_stream, @@ -549,7 +549,7 @@ _cairo_ps_surface_emit_type3_font_subset (cairo_ps_surface_t *surface, } } cairo_surface_destroy (type3_surface); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->final_stream, @@ -635,19 +635,19 @@ _cairo_ps_surface_emit_font_subsets (cairo_ps_surface_t *surface) status = _cairo_scaled_font_subsets_foreach_user (surface->font_subsets, _cairo_ps_surface_analyze_user_font_subset, surface); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_scaled_font_subsets_foreach_unscaled (surface->font_subsets, _cairo_ps_surface_emit_unscaled_font_subset, surface); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_scaled_font_subsets_foreach_scaled (surface->font_subsets, _cairo_ps_surface_emit_scaled_font_subset, surface); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_scaled_font_subsets_foreach_user (surface->font_subsets, @@ -730,7 +730,7 @@ _cairo_ps_surface_create_for_stream_internal (cairo_output_stream_t *stream, surface->stream = _cairo_output_stream_create_for_file (surface->tmpfile); status = _cairo_output_stream_get_status (surface->stream); - if (status) + if (unlikely (status)) goto CLEANUP_OUTPUT_STREAM; surface->font_subsets = _cairo_scaled_font_subsets_create_simple (); @@ -935,7 +935,7 @@ cairo_ps_surface_restrict_to_level (cairo_surface_t *surface, cairo_status_t status; status = _extract_ps_surface (surface, &ps_surface); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (surface, status); return; } @@ -1010,7 +1010,7 @@ cairo_ps_surface_set_eps (cairo_surface_t *surface, cairo_status_t status; status = _extract_ps_surface (surface, &ps_surface); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (surface, status); return; } @@ -1035,7 +1035,7 @@ cairo_ps_surface_get_eps (cairo_surface_t *surface) cairo_status_t status; status = _extract_ps_surface (surface, &ps_surface); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (surface, status); return FALSE; } @@ -1069,7 +1069,7 @@ cairo_ps_surface_set_size (cairo_surface_t *surface, cairo_status_t status; status = _extract_ps_surface (surface, &ps_surface); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (surface, status); return; } @@ -1082,7 +1082,7 @@ cairo_ps_surface_set_size (cairo_surface_t *surface, status = _cairo_paginated_surface_set_size (ps_surface->paginated_surface, width_in_points, height_in_points); - if (status) + if (unlikely (status)) status = _cairo_surface_set_error (surface, status); } @@ -1183,7 +1183,7 @@ cairo_ps_surface_dsc_comment (cairo_surface_t *surface, char *comment_copy; status = _extract_ps_surface (surface, &ps_surface); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (surface, status); return; } @@ -1207,7 +1207,7 @@ cairo_ps_surface_dsc_comment (cairo_surface_t *surface, } status = _cairo_array_append (ps_surface->dsc_comment_target, &comment_copy); - if (status) { + if (unlikely (status)) { free (comment_copy); status = _cairo_surface_set_error (surface, status); return; @@ -1237,7 +1237,7 @@ cairo_ps_surface_dsc_begin_setup (cairo_surface_t *surface) cairo_status_t status; status = _extract_ps_surface (surface, &ps_surface); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (surface, status); return; } @@ -1272,7 +1272,7 @@ cairo_ps_surface_dsc_begin_page_setup (cairo_surface_t *surface) cairo_status_t status; status = _extract_ps_surface (surface, &ps_surface); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (surface, status); return; } @@ -1304,11 +1304,11 @@ _cairo_ps_surface_finish (void *abstract_surface) _cairo_ps_surface_emit_header (surface); status = _cairo_ps_surface_emit_font_subsets (surface); - if (status) + if (unlikely (status)) goto CLEANUP; status = _cairo_ps_surface_emit_body (surface); - if (status) + if (unlikely (status)) goto CLEANUP; _cairo_ps_surface_emit_footer (surface); @@ -1362,7 +1362,7 @@ _cairo_ps_surface_end_page (cairo_ps_surface_t *surface) cairo_int_status_t status; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->stream, @@ -1378,7 +1378,7 @@ _cairo_ps_surface_show_page (void *abstract_surface) cairo_int_status_t status; status = _cairo_ps_surface_end_page (surface); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->stream, "showpage\n"); @@ -1407,7 +1407,7 @@ _cairo_ps_surface_analyze_surface_pattern_transparency (cairo_ps_surface_t status = _cairo_surface_acquire_source_image (pattern->surface, &image, &image_extra); - if (status) + if (unlikely (status)) return status; if (image->base.status) @@ -1809,7 +1809,7 @@ _cairo_ps_surface_flatten_image_transparency (cairo_ps_surface_t *surface, background_color, 0, 0, image->width, image->height); - if (status) + if (unlikely (status)) goto fail; status = _cairo_surface_composite (CAIRO_OPERATOR_OVER, @@ -1821,7 +1821,7 @@ _cairo_ps_surface_flatten_image_transparency (cairo_ps_surface_t *surface, 0, 0, image->width, image->height); - if (status) + if (unlikely (status)) goto fail; _cairo_pattern_fini (&pattern.base); @@ -1851,12 +1851,12 @@ _cairo_ps_surface_emit_base85_string (cairo_ps_surface_t *surface, string_array_stream = _base85_array_stream_create (surface->stream); status = _cairo_output_stream_get_status (string_array_stream); - if (status) + if (unlikely (status)) return _cairo_output_stream_destroy (string_array_stream); base85_stream = _cairo_base85_stream_create (string_array_stream); status = _cairo_output_stream_get_status (base85_stream); - if (status) { + if (unlikely (status)) { status2 = _cairo_output_stream_destroy (string_array_stream); return _cairo_output_stream_destroy (base85_stream); } @@ -1918,7 +1918,7 @@ _cairo_ps_surface_emit_image (cairo_ps_surface_t *surface, status = _cairo_ps_surface_flatten_image_transparency (surface, image, &opaque_image); - if (status) + if (unlikely (status)) return status; use_mask = FALSE; @@ -2004,7 +2004,7 @@ _cairo_ps_surface_emit_image (cairo_ps_surface_t *surface, data_compressed, data_compressed_size, TRUE); - if (status) + if (unlikely (status)) goto bail3; _cairo_output_stream_printf (surface->stream, @@ -2138,7 +2138,7 @@ _cairo_ps_surface_emit_jpeg_image (cairo_ps_surface_t *surface, return CAIRO_INT_STATUS_UNSUPPORTED; status = _cairo_image_info_get_jpeg_info (&info, mime_data, mime_data_length); - if (status) + if (unlikely (status)) return status; if (info.num_components != 1 && info.num_components != 3) @@ -2154,7 +2154,7 @@ _cairo_ps_surface_emit_jpeg_image (cairo_ps_surface_t *surface, mime_data, mime_data_length, TRUE); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->stream, @@ -2219,7 +2219,7 @@ _cairo_ps_surface_emit_meta_surface (cairo_ps_surface_t *surface, cairo_status_t status; status = _cairo_surface_get_extents (meta_surface, &meta_extents); - if (status) + if (unlikely (status)) return status; old_content = surface->content; @@ -2251,11 +2251,11 @@ _cairo_ps_surface_emit_meta_surface (cairo_ps_surface_t *surface, status = _cairo_meta_surface_replay_region (meta_surface, &surface->base, CAIRO_META_REGION_NATIVE); assert (status != CAIRO_INT_STATUS_UNSUPPORTED); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->stream, @@ -2267,7 +2267,7 @@ _cairo_ps_surface_emit_meta_surface (cairo_ps_surface_t *surface, _cairo_pdf_operators_reset (&surface->pdf_operators); surface->cairo_to_ps = old_cairo_to_ps; status = _cairo_surface_set_clip (&surface->base, old_clip); - if (status) + if (unlikely (status)) return status; _cairo_pdf_operators_set_cairo_to_pdf_matrix (&surface->pdf_operators, @@ -2337,7 +2337,7 @@ _cairo_ps_surface_acquire_surface (cairo_ps_surface_t *surface, cairo_rectangle_int_t pattern_extents; status = _cairo_surface_get_extents (meta_surface, &pattern_extents); - if (status) + if (unlikely (status)) return status; *width = pattern_extents.width; @@ -2346,7 +2346,7 @@ _cairo_ps_surface_acquire_surface (cairo_ps_surface_t *surface, status = _cairo_surface_acquire_source_image (pattern->surface, &surface->acquired_image, &surface->image_extra); - if (status) + if (unlikely (status)) return status; pad_image = &surface->acquired_image->base; @@ -2383,7 +2383,7 @@ _cairo_ps_surface_acquire_surface (cairo_ps_surface_t *surface, rect.width, rect.height); _cairo_pattern_fini (&pad_pattern.base); - if (status) + if (unlikely (status)) goto BAIL; } @@ -2458,7 +2458,7 @@ _cairo_ps_surface_paint_surface (cairo_ps_surface_t *surface, extents, &width, &height, &origin_x, &origin_y); - if (status) + if (unlikely (status)) return status; cairo_p2d = pattern->base.matrix; @@ -2540,7 +2540,7 @@ _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t *surface, extents, &pattern_width, &pattern_height, &origin_x, &origin_y); - if (status) + if (unlikely (status)) return status; switch (pattern->base.extend) { @@ -2602,7 +2602,7 @@ _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t *surface, } status = _cairo_ps_surface_emit_surface (surface, pattern, op, pattern_width, pattern_height); - if (status) + if (unlikely (status)) return status; surface->use_string_datasource = old_use_string_datasource; @@ -2649,7 +2649,7 @@ _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t *surface, ">>\n"); status = _cairo_surface_get_extents (&surface->base, &surface_extents); - if (status) + if (unlikely (status)) return status; cairo_p2d = pattern->base.matrix; @@ -2955,7 +2955,7 @@ _cairo_ps_surface_emit_linear_pattern (cairo_ps_surface_t *surface, status = _cairo_ps_surface_emit_pattern_stops (surface, &pattern->base); - if (status) + if (unlikely (status)) return status; if (pattern->base.base.extend == CAIRO_EXTEND_REPEAT || @@ -2964,7 +2964,7 @@ _cairo_ps_surface_emit_linear_pattern (cairo_ps_surface_t *surface, &pattern->base, repeat_begin, repeat_end); - if (status) + if (unlikely (status)) return status; } @@ -3042,7 +3042,7 @@ _cairo_ps_surface_emit_radial_pattern (cairo_ps_surface_t *surface, r2 = _cairo_fixed_to_double (pattern->r2); status = _cairo_ps_surface_emit_pattern_stops (surface, &pattern->base); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->stream, @@ -3092,7 +3092,7 @@ _cairo_ps_surface_emit_pattern (cairo_ps_surface_t *surface, ! _cairo_color_equal (&surface->current_color, &solid->color)) { status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_ps_surface_emit_solid_pattern (surface, (cairo_solid_pattern_t *) pattern); @@ -3106,7 +3106,7 @@ _cairo_ps_surface_emit_pattern (cairo_ps_surface_t *surface, surface->current_pattern_is_solid_color = FALSE; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; switch (pattern->type) { @@ -3120,21 +3120,21 @@ _cairo_ps_surface_emit_pattern (cairo_ps_surface_t *surface, (cairo_surface_pattern_t *) pattern, extents, op); - if (status) + if (unlikely (status)) return status; break; case CAIRO_PATTERN_TYPE_LINEAR: status = _cairo_ps_surface_emit_linear_pattern (surface, (cairo_linear_pattern_t *) pattern); - if (status) + if (unlikely (status)) return status; break; case CAIRO_PATTERN_TYPE_RADIAL: status = _cairo_ps_surface_emit_radial_pattern (surface, (cairo_radial_pattern_t *) pattern); - if (status) + if (unlikely (status)) return status; break; } @@ -3163,7 +3163,7 @@ _cairo_ps_surface_intersect_clip_path (void *abstract_surface, if (path == NULL) { status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (stream, "Q q\n"); @@ -3230,11 +3230,11 @@ _cairo_ps_surface_paint (void *abstract_surface, #endif status = _cairo_surface_get_extents (&surface->base, &extents); - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; if (source->type == CAIRO_PATTERN_TYPE_SURFACE && @@ -3248,7 +3248,7 @@ _cairo_ps_surface_paint (void *abstract_surface, status = _cairo_ps_surface_paint_surface (surface, (cairo_surface_pattern_t *) source, paint_extents, op); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (stream, "Q\n"); @@ -3257,7 +3257,7 @@ _cairo_ps_surface_paint (void *abstract_surface, if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (stream, "0 0 %d %d rectfill\n", @@ -3332,7 +3332,7 @@ _cairo_ps_surface_fill (void *abstract_surface, source->extend == CAIRO_EXTEND_PAD)) { status = _cairo_pdf_operators_flush (&surface->pdf_operators); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->stream, "q\n"); @@ -3340,13 +3340,13 @@ _cairo_ps_surface_fill (void *abstract_surface, status = _cairo_pdf_operators_clip (&surface->pdf_operators, path, fill_rule); - if (status) + if (unlikely (status)) return status; status = _cairo_ps_surface_paint_surface (surface, (cairo_surface_pattern_t *) source, extents, op); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->stream, "Q\n"); @@ -3356,7 +3356,7 @@ _cairo_ps_surface_fill (void *abstract_surface, if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; - if (status) + if (unlikely (status)) return status; status = _cairo_pdf_operators_fill (&surface->pdf_operators, @@ -3397,7 +3397,7 @@ _cairo_ps_surface_show_glyphs (void *abstract_surface, if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; - if (status) + if (unlikely (status)) return status; return _cairo_pdf_operators_show_text_glyphs (&surface->pdf_operators, diff --git a/src/cairo-scaled-font-subsets.c b/src/cairo-scaled-font-subsets.c index d8771bba..a1b4c22c 100644 --- a/src/cairo-scaled-font-subsets.c +++ b/src/cairo-scaled-font-subsets.c @@ -294,7 +294,7 @@ _cairo_sub_font_create (cairo_scaled_font_subsets_t *parent, * Type 3 fonts */ if (! _cairo_font_face_is_user (scaled_font->font_face)) { status = _cairo_sub_font_map_glyph (sub_font, 0, NULL, -1, &subset_glyph); - if (status) { + if (unlikely (status)) { _cairo_hash_table_destroy (sub_font->sub_font_glyphs); free (sub_font); return status; @@ -349,7 +349,7 @@ _cairo_sub_font_glyph_lookup_unicode (cairo_sub_font_glyph_t *sub_font_glyph, status = scaled_font->backend->index_to_ucs4 (scaled_font, scaled_font_glyph_index, &unicode); - if (status) + if (unlikely (status)) return status; } @@ -466,7 +466,7 @@ _cairo_sub_font_map_glyph (cairo_sub_font_t *sub_font, * except for Type 3 fonts */ if (! _cairo_font_face_is_user (sub_font->scaled_font->font_face)) { status = _cairo_sub_font_map_glyph (sub_font, 0, NULL, -1, &tmp_subset_glyph); - if (status) + if (unlikely (status)) return status; } } @@ -477,7 +477,7 @@ _cairo_sub_font_map_glyph (cairo_sub_font_t *sub_font, CAIRO_SCALED_GLYPH_INFO_METRICS, &scaled_glyph); assert (status != CAIRO_INT_STATUS_UNSUPPORTED); - if (status) { + if (unlikely (status)) { _cairo_scaled_font_thaw_cache (sub_font->scaled_font); return status; } @@ -495,13 +495,13 @@ _cairo_sub_font_map_glyph (cairo_sub_font_t *sub_font, status = _cairo_sub_font_glyph_lookup_unicode (sub_font_glyph, sub_font->scaled_font, scaled_font_glyph_index); - if (status) { + if (unlikely (status)) { _cairo_sub_font_glyph_destroy (sub_font_glyph); return status; } status = _cairo_hash_table_insert (sub_font->sub_font_glyphs, &sub_font_glyph->base); - if (status) { + if (unlikely (status)) { _cairo_sub_font_glyph_destroy (sub_font_glyph); return status; } @@ -768,7 +768,7 @@ _cairo_scaled_font_subsets_map_glyph (cairo_scaled_font_subsets_t *subsets, subset_glyph->is_composite, &sub_font); - if (status) { + if (unlikely (status)) { cairo_scaled_font_destroy (unscaled_font); return status; } @@ -776,7 +776,7 @@ _cairo_scaled_font_subsets_map_glyph (cairo_scaled_font_subsets_t *subsets, status = _cairo_hash_table_insert (subsets->unscaled_sub_fonts, &sub_font->base); - if (status) { + if (unlikely (status)) { _cairo_sub_font_destroy (sub_font); return status; } @@ -808,14 +808,14 @@ _cairo_scaled_font_subsets_map_glyph (cairo_scaled_font_subsets_t *subsets, subset_glyph->is_scaled, subset_glyph->is_composite, &sub_font); - if (status) { + if (unlikely (status)) { cairo_scaled_font_destroy (scaled_font); return status; } status = _cairo_hash_table_insert (subsets->scaled_sub_fonts, &sub_font->base); - if (status) { + if (unlikely (status)) { _cairo_sub_font_destroy (sub_font); return status; } @@ -1003,11 +1003,11 @@ _cairo_scaled_font_subset_create_glyph_names (cairo_scaled_font_subset_t *subset } status = create_string_entry (subset->glyph_names[0], &entry); - if (status) + if (unlikely (status)) goto CLEANUP_HASH; status = _cairo_hash_table_insert (names, &entry->base); - if (status) { + if (unlikely (status)) { free (entry); goto CLEANUP_HASH; } @@ -1020,7 +1020,7 @@ _cairo_scaled_font_subset_create_glyph_names (cairo_scaled_font_subset_t *subset utf16_len = 0; if (utf8 && *utf8) { status = _cairo_utf8_to_utf16 (utf8, -1, &utf16, &utf16_len); - if (status) + if (unlikely (status)) return status; /* FIXME */ } @@ -1043,11 +1043,11 @@ _cairo_scaled_font_subset_create_glyph_names (cairo_scaled_font_subset_t *subset } status = create_string_entry (subset->glyph_names[i], &entry); - if (status) + if (unlikely (status)) goto CLEANUP_HASH; status = _cairo_hash_table_insert (names, &entry->base); - if (status) { + if (unlikely (status)) { free (entry); goto CLEANUP_HASH; } diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c index 8b749940..76572a54 100644 --- a/src/cairo-scaled-font.c +++ b/src/cairo-scaled-font.c @@ -425,7 +425,7 @@ _cairo_scaled_font_register_placeholder_and_unlock_font_map (cairo_scaled_font_t assert (CAIRO_MUTEX_IS_LOCKED (_cairo_scaled_font_map_mutex)); status = scaled_font->status; - if (status) + if (unlikely (status)) return status; placeholder_scaled_font = malloc (sizeof (cairo_scaled_font_t)); @@ -439,14 +439,14 @@ _cairo_scaled_font_register_placeholder_and_unlock_font_map (cairo_scaled_font_t &scaled_font->ctm, &scaled_font->options, NULL); - if (status) + if (unlikely (status)) goto FREE_PLACEHOLDER; placeholder_scaled_font->placeholder = TRUE; status = _cairo_hash_table_insert (cairo_scaled_font_map->hash_table, &placeholder_scaled_font->hash_entry); - if (status) + if (unlikely (status)) goto FINI_PLACEHOLDER; CAIRO_MUTEX_UNLOCK (_cairo_scaled_font_map_mutex); @@ -599,7 +599,7 @@ _cairo_scaled_font_init (cairo_scaled_font_t *scaled_font, cairo_status_t status; status = cairo_font_options_status ((cairo_font_options_t *) options); - if (status) + if (unlikely (status)) return status; _cairo_scaled_font_init_key (scaled_font, font_face, @@ -613,7 +613,7 @@ _cairo_scaled_font_init (cairo_scaled_font_t *scaled_font, fabs (scaled_font->scale.yx) + fabs (scaled_font->scale.yy)); scaled_font->scale_inverse = scaled_font->scale; status = cairo_matrix_invert (&scaled_font->scale_inverse); - if (status) { + if (unlikely (status)) { /* If the font scale matrix is rank 0, just using an all-zero inverse matrix * makes everything work correctly. This make font size 0 work without * producing an error. @@ -697,7 +697,7 @@ _cairo_scaled_font_set_metrics (cairo_scaled_font_t *scaled_font, status = _cairo_matrix_compute_basis_scale_factors (&scaled_font->font_matrix, &font_scale_x, &font_scale_y, 1); - if (status) + if (unlikely (status)) return status; /* @@ -782,7 +782,7 @@ cairo_scaled_font_create (cairo_font_face_t *font_face, return _cairo_scaled_font_create_in_error (font_face->status); status = cairo_font_options_status ((cairo_font_options_t *) options); - if (status) + if (unlikely (status)) return _cairo_scaled_font_create_in_error (status); /* Note that degenerate ctm or font_matrix *are* allowed. @@ -791,7 +791,7 @@ cairo_scaled_font_create (cairo_font_face_t *font_face, if (font_face->backend->get_implementation != NULL) { /* indirect implementation, lookup the face that is used for the key */ status = font_face->backend->get_implementation (font_face, &impl_face); - if (status) + if (unlikely (status)) return _cairo_scaled_font_create_in_error (status); } else impl_face = font_face; @@ -889,7 +889,7 @@ cairo_scaled_font_create (cairo_font_face_t *font_face, /* Otherwise create it and insert it into the hash table. */ status = font_face->backend->scaled_font_create (font_face, font_matrix, ctm, options, &scaled_font); - if (status) { + if (unlikely (status)) { _cairo_scaled_font_map_unlock (); status = _cairo_font_face_set_error (font_face, status); return _cairo_scaled_font_create_in_error (status); @@ -905,7 +905,7 @@ cairo_scaled_font_create (cairo_font_face_t *font_face, _cairo_scaled_font_map_unlock (); - if (status) { + if (unlikely (status)) { /* We can't call _cairo_scaled_font_destroy here since it expects * that the font has already been successfully inserted into the * hash table. */ @@ -1221,7 +1221,7 @@ cairo_scaled_font_text_extents (cairo_scaled_font_t *scaled_font, &glyphs, &num_glyphs, NULL, NULL, NULL); - if (status) { + if (unlikely (status)) { status = _cairo_scaled_font_set_error (scaled_font, status); goto ZERO_EXTENTS; } @@ -1304,7 +1304,7 @@ cairo_scaled_font_glyph_extents (cairo_scaled_font_t *scaled_font, glyphs[i].index, CAIRO_SCALED_GLYPH_INFO_METRICS, &scaled_glyph); - if (status) { + if (unlikely (status)) { status = _cairo_scaled_font_set_error (scaled_font, status); goto UNLOCK; } @@ -1521,7 +1521,7 @@ cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, cairo_text_cluster_t *orig_clusters; status = scaled_font->status; - if (status) + if (unlikely (status)) return status; /* A slew of sanity checks */ @@ -1584,7 +1584,7 @@ cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, /* validate input so backend does not have to */ status = _cairo_utf8_to_ucs4 (utf8, utf8_len, NULL, &num_chars); - if (status) + if (unlikely (status)) goto BAIL; _cairo_scaled_font_freeze_cache (scaled_font); @@ -1682,7 +1682,7 @@ cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, (*glyphs)[i].index, CAIRO_SCALED_GLYPH_INFO_METRICS, &scaled_glyph); - if (status) { + if (unlikely (status)) { goto DONE; } @@ -1693,7 +1693,7 @@ cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, DONE: /* error that should be logged on scaled_font happened */ _cairo_scaled_font_thaw_cache (scaled_font); - if (status) { + if (unlikely (status)) { *num_glyphs = 0; if (*glyphs != orig_glyphs) { cairo_glyph_free (*glyphs); @@ -1752,7 +1752,7 @@ _cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t *scaled_font, glyphs[i].index, CAIRO_SCALED_GLYPH_INFO_METRICS, &scaled_glyph); - if (status) + if (unlikely (status)) break; /* XXX glyph images are snapped to pixel locations */ @@ -1771,7 +1771,7 @@ _cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t *scaled_font, } _cairo_scaled_font_thaw_cache (scaled_font); - if (status) + if (unlikely (status)) return _cairo_scaled_font_set_error (scaled_font, status); if (min.x < max.x && min.y < max.y) { @@ -1853,7 +1853,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, CAIRO_SCALED_GLYPH_INFO_SURFACE, &scaled_glyph); - if (status) + if (unlikely (status)) goto CLEANUP_MASK; glyph_surface = scaled_glyph->surface; @@ -1912,7 +1912,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, _cairo_pattern_fini (&mask_pattern.base); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (new_mask); goto CLEANUP_MASK; } @@ -1940,7 +1940,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, _cairo_pattern_fini (&glyph_pattern.base); - if (status) + if (unlikely (status)) goto CLEANUP_MASK; } @@ -2027,29 +2027,29 @@ _add_unit_rectangle_to_path (cairo_path_fixed_t *path, int x, int y) status = _cairo_path_fixed_move_to (path, _cairo_fixed_from_int (x), _cairo_fixed_from_int (y)); - if (status) + if (unlikely (status)) return status; status = _cairo_path_fixed_rel_line_to (path, _cairo_fixed_from_int (1), _cairo_fixed_from_int (0)); - if (status) + if (unlikely (status)) return status; status = _cairo_path_fixed_rel_line_to (path, _cairo_fixed_from_int (0), _cairo_fixed_from_int (1)); - if (status) + if (unlikely (status)) return status; status = _cairo_path_fixed_rel_line_to (path, _cairo_fixed_from_int (-1), _cairo_fixed_from_int (0)); - if (status) + if (unlikely (status)) return status; status = _cairo_path_fixed_close_path (path); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -2089,7 +2089,7 @@ _trace_mask_to_path (cairo_image_surface_t *mask, a1_mask = _cairo_image_surface_clone (mask, CAIRO_FORMAT_A1); status = cairo_surface_status (&a1_mask->base); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (&a1_mask->base); return status; } @@ -2104,7 +2104,7 @@ _trace_mask_to_path (cairo_image_surface_t *mask, if (byte & (1 << bit)) { status = _add_unit_rectangle_to_path (path, x - xoff, y - yoff); - if (status) + if (unlikely (status)) goto BAIL; } } @@ -2129,7 +2129,7 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font, cairo_path_fixed_t *glyph_path; status = scaled_font->status; - if (status) + if (unlikely (status)) return status; closure.path = path; @@ -2153,7 +2153,7 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font, glyphs[i].index, CAIRO_SCALED_GLYPH_INFO_SURFACE, &scaled_glyph); - if (status) + if (unlikely (status)) goto BAIL; glyph_path = _cairo_path_fixed_create (); @@ -2163,7 +2163,7 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font, } status = _trace_mask_to_path (scaled_glyph->surface, glyph_path); - if (status) { + if (unlikely (status)) { _cairo_path_fixed_destroy (glyph_path); goto BAIL; } @@ -2182,7 +2182,7 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font, if (glyph_path != scaled_glyph->path) _cairo_path_fixed_destroy (glyph_path); - if (status) + if (unlikely (status)) goto BAIL; } BAIL: @@ -2377,7 +2377,7 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font, /* ask backend to initialize metrics and shape fields */ status = (*scaled_font->backend-> scaled_glyph_init) (scaled_font, scaled_glyph, info); - if (status) { + if (unlikely (status)) { _cairo_scaled_glyph_destroy (scaled_glyph); goto CLEANUP; } @@ -2385,7 +2385,7 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font, /* on success, the cache takes ownership of the scaled_glyph */ status = _cairo_cache_insert (scaled_font->glyphs, &scaled_glyph->cache_entry); - if (status) { + if (unlikely (status)) { _cairo_scaled_glyph_destroy (scaled_glyph); goto CLEANUP; } @@ -2410,7 +2410,7 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font, if (need_info) { status = (*scaled_font->backend-> scaled_glyph_init) (scaled_font, scaled_glyph, need_info); - if (status) + if (unlikely (status)) goto CLEANUP; /* Don't trust the scaled_glyph_init() return value, the font @@ -2438,7 +2438,7 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font, } CLEANUP: - if (status) { + if (unlikely (status)) { /* It's not an error for the backend to not support the info we want. */ if (status != CAIRO_INT_STATUS_UNSUPPORTED) status = _cairo_scaled_font_set_error (scaled_font, status); diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c index 9118d66d..fc3164d7 100644 --- a/src/cairo-script-surface.c +++ b/src/cairo-script-surface.c @@ -335,7 +335,7 @@ _emit_context (cairo_script_surface_t *surface) status = _bitmap_next_id (&surface->ctx->surface_id, &surface->id); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->ctx->stream, @@ -586,25 +586,25 @@ _emit_stroke_style (cairo_script_surface_t *surface, assert (_cairo_script_surface_owns_context (surface)); status = _emit_line_width (surface, style->line_width, force); - if (status) + if (unlikely (status)) return status; status = _emit_line_cap (surface, style->line_cap); - if (status) + if (unlikely (status)) return status; status = _emit_line_join (surface, style->line_join); - if (status) + if (unlikely (status)) return status; status = _emit_miter_limit (surface, style->miter_limit, force); - if (status) + if (unlikely (status)) return status; status = _emit_dash (surface, style->dash, style->num_dashes, style->dash_offset, force); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -750,13 +750,13 @@ _emit_meta_surface_pattern (cairo_script_surface_t *surface, cairo_surface_destroy (null_surface); status = analysis_surface->status; - if (status) + if (unlikely (status)) return status; status = _cairo_meta_surface_replay (source, analysis_surface); _cairo_analysis_surface_get_bounding_box (analysis_surface, &bbox); cairo_surface_destroy (analysis_surface); - if (status) + if (unlikely (status)) return status; similar = cairo_surface_create_similar (&surface->base, @@ -767,13 +767,13 @@ _emit_meta_surface_pattern (cairo_script_surface_t *surface, return similar->status; status = _cairo_meta_surface_replay (source, similar); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (similar); return status; } status = _emit_context (surface); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (similar); return status; } @@ -936,7 +936,7 @@ _emit_png_surface (cairo_script_surface_t *surface, base85_stream = _cairo_base85_stream_create (surface->ctx->stream); _cairo_output_stream_write (base85_stream, mime_data, mime_data_length); status = _cairo_output_stream_destroy (base85_stream); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, @@ -979,7 +979,7 @@ _emit_image_surface (cairo_script_surface_t *surface, status2 = _cairo_output_stream_destroy (base85_stream); if (status == CAIRO_STATUS_SUCCESS) status = status2; - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, @@ -1006,7 +1006,7 @@ _emit_image_surface (cairo_script_surface_t *surface, base85_stream = _cairo_base85_stream_create (surface->ctx->stream); _cairo_output_stream_write (base85_stream, mime_data, mime_data_length); status = _cairo_output_stream_destroy (base85_stream); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, @@ -1034,7 +1034,7 @@ _emit_image_surface_pattern (cairo_script_surface_t *surface, /* XXX snapshot-cow */ status = _cairo_surface_acquire_source_image (source, &image, &image_extra); - if (status) + if (unlikely (status)) return status; status = _emit_image_surface (surface, image); @@ -1089,7 +1089,7 @@ _emit_pattern (cairo_script_surface_t *surface, ASSERT_NOT_REACHED; status = CAIRO_INT_STATUS_UNSUPPORTED; } - if (status) + if (unlikely (status)) return status; if (! _cairo_matrix_is_identity (&pattern->matrix)) { @@ -1151,15 +1151,15 @@ _emit_source (cairo_script_surface_t *surface, cairo_pattern_destroy (surface->cr.current_source); status = _cairo_pattern_create_copy (&surface->cr.current_source, source); - if (status) + if (unlikely (status)) return status; status = _emit_identity (surface, &matrix_updated); - if (status) + if (unlikely (status)) return status; status = _emit_pattern (surface, source); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, @@ -1242,7 +1242,7 @@ _emit_path (cairo_script_surface_t *surface, double y2 = _cairo_fixed_to_double (box.p2.y); status = _cairo_path_fixed_init_copy (&surface->cr.current_path, path); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->ctx->stream, @@ -1252,7 +1252,7 @@ _emit_path (cairo_script_surface_t *surface, cairo_status_t status; status = _cairo_path_fixed_init_copy (&surface->cr.current_path, path); - if (status) + if (unlikely (status)) return status; status = _cairo_path_fixed_interpret (path, @@ -1262,7 +1262,7 @@ _emit_path (cairo_script_surface_t *surface, _path_curve_to, _path_close, surface->ctx->stream); - if (status) + if (unlikely (status)) return status; } @@ -1356,7 +1356,7 @@ _cairo_script_surface_create_similar (void *abstract_surface, status = _bitmap_next_id (&ctx->surface_id, &other->id); - if (status) + if (unlikely (status)) return _cairo_surface_create_in_error (status); _cairo_output_stream_printf (ctx->stream, @@ -1378,7 +1378,7 @@ _cairo_script_surface_create_similar (void *abstract_surface, status = _bitmap_next_id (&ctx->surface_id, &surface->id); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (&surface->base); return _cairo_surface_create_in_error (status); } @@ -1455,7 +1455,7 @@ _cairo_script_surface_copy_page (void *abstract_surface) cairo_status_t status; status = _emit_context (surface); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, "copy_page\n"); @@ -1470,7 +1470,7 @@ _cairo_script_surface_show_page (void *abstract_surface) cairo_status_t status; status = _emit_context (surface); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, "show_page\n"); @@ -1490,7 +1490,7 @@ _cairo_script_surface_intersect_clip_path (void *abstract_surface, cairo_status_t status; status = _emit_context (surface); - if (status) + if (unlikely (status)) return status; if (path == NULL) { @@ -1499,23 +1499,23 @@ _cairo_script_surface_intersect_clip_path (void *abstract_surface, } status = _emit_identity (surface, &matrix_updated); - if (status) + if (unlikely (status)) return status; status = _emit_fill_rule (surface, fill_rule); - if (status) + if (unlikely (status)) return status; status = _emit_tolerance (surface, tolerance, matrix_updated); - if (status) + if (unlikely (status)) return status; status = _emit_antialias (surface, antialias); - if (status) + if (unlikely (status)) return status; status = _emit_path (surface, path); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, "clip+\n"); @@ -1533,15 +1533,15 @@ _cairo_script_surface_paint (void *abstract_surface, cairo_status_t status; status = _emit_context (surface); - if (status) + if (unlikely (status)) return status; status = _emit_operator (surface, op); - if (status) + if (unlikely (status)) return status; status = _emit_source (surface, op, source); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, @@ -1561,19 +1561,19 @@ _cairo_script_surface_mask (void *abstract_surface, cairo_status_t status; status = _emit_context (surface); - if (status) + if (unlikely (status)) return status; status = _emit_operator (surface, op); - if (status) + if (unlikely (status)) return status; status = _emit_source (surface, op, source); - if (status) + if (unlikely (status)) return status; status = _emit_pattern (surface, mask); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, @@ -1599,39 +1599,39 @@ _cairo_script_surface_stroke (void *abstract_surface, cairo_status_t status; status = _emit_context (surface); - if (status) + if (unlikely (status)) return status; status = _emit_identity (surface, &matrix_updated); - if (status) + if (unlikely (status)) return status; status = _emit_path (surface, path); - if (status) + if (unlikely (status)) return status; status = _emit_source (surface, op, source); - if (status) + if (unlikely (status)) return status; status = _emit_matrix (surface, ctm, &matrix_updated); - if (status) + if (unlikely (status)) return status; status = _emit_operator (surface, op); - if (status) + if (unlikely (status)) return status; status = _emit_stroke_style (surface, style, matrix_updated); - if (status) + if (unlikely (status)) return status; status = _emit_tolerance (surface, tolerance, matrix_updated); - if (status) + if (unlikely (status)) return status; status = _emit_antialias (surface, antialias); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, "stroke+\n"); @@ -1654,35 +1654,35 @@ _cairo_script_surface_fill (void *abstract_surface, cairo_status_t status; status = _emit_context (surface); - if (status) + if (unlikely (status)) return status; status = _emit_operator (surface, op); - if (status) + if (unlikely (status)) return status; status = _emit_identity (surface, &matrix_updated); - if (status) + if (unlikely (status)) return status; status = _emit_source (surface, op, source); - if (status) + if (unlikely (status)) return status; status = _emit_fill_rule (surface, fill_rule); - if (status) + if (unlikely (status)) return status; status = _emit_tolerance (surface, tolerance, matrix_updated); - if (status) + if (unlikely (status)) return status; status = _emit_antialias (surface, antialias); - if (status) + if (unlikely (status)) return status; status = _emit_path (surface, path); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_puts (surface->ctx->stream, "fill+\n"); @@ -1828,7 +1828,7 @@ _emit_type42_font (cairo_script_surface_t *surface, size = 0; status = backend->load_truetype_table (scaled_font, 0, 0, NULL, &size); - if (status) + if (unlikely (status)) return status; buf = malloc (size); @@ -1836,7 +1836,7 @@ _emit_type42_font (cairo_script_surface_t *surface, return _cairo_error (CAIRO_STATUS_NO_MEMORY); status = backend->load_truetype_table (scaled_font, 0, 0, buf, NULL); - if (status) { + if (unlikely (status)) { free (buf); return status; } @@ -1898,7 +1898,7 @@ _emit_scaled_font_init (cairo_script_surface_t *surface, status = _bitmap_next_id (&surface->ctx->font_id, &font_private->id); - if (status) { + if (unlikely (status)) { free (font_private); return status; } @@ -1907,7 +1907,7 @@ _emit_scaled_font_init (cairo_script_surface_t *surface, scaled_font->surface_backend = &_cairo_script_surface_backend; status = _emit_context (surface); - if (status) + if (unlikely (status)) return status; status = _emit_type42_font (surface, scaled_font); @@ -1943,7 +1943,7 @@ _emit_scaled_font (cairo_script_surface_t *surface, cairo_scaled_font_get_ctm (scaled_font, &matrix); status = _emit_matrix (surface, &matrix, &matrix_updated); - if (status) + if (unlikely (status)) return status; if (! matrix_updated && surface->cr.current_scaled_font == scaled_font) @@ -1951,12 +1951,12 @@ _emit_scaled_font (cairo_script_surface_t *surface, cairo_scaled_font_get_font_matrix (scaled_font, &matrix); status = _emit_font_matrix (surface, &matrix); - if (status) + if (unlikely (status)) return status; cairo_scaled_font_get_font_options (scaled_font, &options); status = _emit_font_options (surface, &options); - if (status) + if (unlikely (status)) return status; surface->cr.current_scaled_font = scaled_font; @@ -1967,11 +1967,11 @@ _emit_scaled_font (cairo_script_surface_t *surface, font_private = scaled_font->surface_private; if (font_private == NULL) { status = _emit_scaled_font_init (surface, scaled_font); - if (status) + if (unlikely (status)) return status; } else { status = _emit_context (surface); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->ctx->stream, @@ -2059,7 +2059,7 @@ _emit_scaled_glyph_bitmap (cairo_script_surface_t *surface, scaled_glyph->fs_metrics.y_bearing); status = _emit_image_surface (surface, scaled_glyph->surface); - if (status) + if (unlikely (status)) return status; if (! _cairo_matrix_is_identity (&scaled_font->font_matrix)) { @@ -2121,7 +2121,7 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface, glyphs[n].index, CAIRO_SCALED_GLYPH_INFO_METRICS, &scaled_glyph); - if (status) + if (unlikely (status)) break; if (scaled_glyph->surface_private != NULL) @@ -2137,7 +2137,7 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface, if (status == CAIRO_STATUS_SUCCESS) { if (! have_glyph_prologue) { status = _emit_scaled_glyph_prologue (surface, scaled_font); - if (status) + if (unlikely (status)) break; have_glyph_prologue = TRUE; @@ -2146,7 +2146,7 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface, status = _emit_scaled_glyph_vector (surface, scaled_font, scaled_glyph); - if (status) + if (unlikely (status)) break; continue; @@ -2162,7 +2162,7 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface, if (status == CAIRO_STATUS_SUCCESS) { if (! have_glyph_prologue) { status = _emit_scaled_glyph_prologue (surface, scaled_font); - if (status) + if (unlikely (status)) break; have_glyph_prologue = TRUE; @@ -2171,7 +2171,7 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface, status = _emit_scaled_glyph_bitmap (surface, scaled_font, scaled_glyph); - if (status) + if (unlikely (status)) break; continue; @@ -2210,23 +2210,23 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface, cairo_output_stream_t *base85_stream = NULL; status = _emit_context (surface); - if (status) + if (unlikely (status)) return status; status = _emit_operator (surface, op); - if (status) + if (unlikely (status)) return status; status = _emit_source (surface, op, source); - if (status) + if (unlikely (status)) return status; status = _emit_scaled_font (surface, scaled_font); - if (status) + if (unlikely (status)) return status; status = _emit_scaled_glyphs (surface, scaled_font, glyphs, num_glyphs); - if (status) + if (unlikely (status)) return status; /* (utf8) [cx cy [glyphs]] [clusters] backward show_text_glyphs */ @@ -2264,7 +2264,7 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface, glyphs[n].index, CAIRO_SCALED_GLYPH_INFO_METRICS, &scaled_glyph); - if (status) { + if (unlikely (status)) { _cairo_scaled_font_thaw_cache (scaled_font); return status; } @@ -2284,7 +2284,7 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface, glyphs[n].index, CAIRO_SCALED_GLYPH_INFO_METRICS, &scaled_glyph); - if (status) + if (unlikely (status)) break; if (fabs (glyphs[n].x - x) > 1e-5 || fabs (glyphs[n].y - y) > 1e-5) { @@ -2295,7 +2295,7 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface, iy -= scaled_font->font_matrix.y0; if (base85_stream != NULL) { status = _cairo_output_stream_destroy (base85_stream); - if (status) { + if (unlikely (status)) { base85_stream = NULL; break; } @@ -2345,7 +2345,7 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface, } else { _cairo_output_stream_puts (surface->ctx->stream, " ]"); } - if (status) + if (unlikely (status)) return status; if (utf8 != NULL && clusters != NULL) { @@ -2378,7 +2378,7 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface, _cairo_output_stream_write (base85_stream, c, 2); } status = _cairo_output_stream_destroy (base85_stream); - if (status) + if (unlikely (status)) return status; } diff --git a/src/cairo-sdl-surface.c b/src/cairo-sdl-surface.c index 18f13eaf..800ad83a 100644 --- a/src/cairo-sdl-surface.c +++ b/src/cairo-sdl-surface.c @@ -240,7 +240,7 @@ _cairo_sdl_surface_composite (cairo_operator_t op, src_x, src_y, width, height, (cairo_surface_t **) &src, &src_attr); - if (status) + if (unlikely (status)) return status; is_integer_translation = @@ -324,7 +324,7 @@ _cairo_sdl_surface_flush (void *abstract_surface) n_boxes = 0; status = _cairo_region_get_boxes (&surface->update, &n_boxes, &boxes); - if (status) + if (unlikely (status)) return status; if (n_boxes == 0) return CAIRO_STATUS_SUCCESS; diff --git a/src/cairo-surface-fallback.c b/src/cairo-surface-fallback.c index 2dcaa58e..bb80538f 100644 --- a/src/cairo-surface-fallback.c +++ b/src/cairo-surface-fallback.c @@ -79,7 +79,7 @@ _fallback_init (fallback_state_t *state, status = _cairo_surface_acquire_dest_image (dst, &state->extents, &state->image, &state->image_rect, &state->image_extra); - if (status) + if (unlikely (status)) return status; /* XXX: This NULL value tucked away in state->image is a rather @@ -131,7 +131,7 @@ _create_composite_mask_pattern (cairo_surface_pattern_t *mask_pattern, NULL, mask, extents->x, extents->y, extents); - if (status) + if (unlikely (status)) goto CLEANUP_SURFACE; if (clip && clip->surface) @@ -139,7 +139,7 @@ _create_composite_mask_pattern (cairo_surface_pattern_t *mask_pattern, mask, extents->x, extents->y, extents); - if (status) + if (unlikely (status)) goto CLEANUP_SURFACE; _cairo_pattern_init_for_surface (mask_pattern, mask); @@ -169,7 +169,7 @@ _clip_and_composite_with_mask (cairo_clip_t *clip, clip, draw_func, draw_closure, dst, extents); - if (status) + if (unlikely (status)) return status; status = _cairo_surface_composite (op, @@ -226,14 +226,14 @@ _clip_and_composite_combine (cairo_clip_t *clip, _cairo_pattern_fini (&dst_pattern.base); - if (status) + if (unlikely (status)) goto CLEANUP_SURFACE; status = (*draw_func) (draw_closure, op, src, intermediate, extents->x, extents->y, extents); - if (status) + if (unlikely (status)) goto CLEANUP_SURFACE; /* Combine that with the clip @@ -242,7 +242,7 @@ _clip_and_composite_combine (cairo_clip_t *clip, intermediate, extents->x, extents->y, extents); - if (status) + if (unlikely (status)) goto CLEANUP_SURFACE; /* Punch the clip out of the destination @@ -251,7 +251,7 @@ _clip_and_composite_combine (cairo_clip_t *clip, dst, 0, 0, extents); - if (status) + if (unlikely (status)) goto CLEANUP_SURFACE; /* Now add the two results together @@ -293,7 +293,7 @@ _clip_and_composite_source (cairo_clip_t *clip, clip, draw_func, draw_closure, dst, extents); - if (status) + if (unlikely (status)) return status; /* Compute dest' = dest OUT (mask IN clip) @@ -305,7 +305,7 @@ _clip_and_composite_source (cairo_clip_t *clip, extents->x, extents->y, extents->width, extents->height); - if (status) + if (unlikely (status)) goto CLEANUP_MASK_PATTERN; /* Now compute (src IN (mask IN clip)) ADD dest' @@ -439,7 +439,7 @@ _composite_trap_region (cairo_clip_t *clip, status = _cairo_surface_set_clip_region (dst, trap_region, clip_serial); - if (status) + if (unlikely (status)) return status; } @@ -531,7 +531,7 @@ _clip_and_composite_trapezoids (const cairo_pattern_t *src, return CAIRO_STATUS_SUCCESS; status = _cairo_surface_get_extents (dst, &extents); - if (status) + if (unlikely (status)) return status; status = _cairo_traps_extract_region (traps, &trap_region); @@ -548,7 +548,7 @@ _clip_and_composite_trapezoids (const cairo_pattern_t *src, if (has_trap_region) { status = _cairo_clip_intersect_to_region (clip, &trap_region); - if (status) + if (unlikely (status)) goto out; _cairo_region_get_extents (&trap_region, &trap_extents); @@ -564,7 +564,7 @@ _clip_and_composite_trapezoids (const cairo_pattern_t *src, } status = _cairo_clip_intersect_to_rectangle (clip, &extents); - if (status) + if (unlikely (status)) goto out; } else { cairo_surface_t *clip_surface = clip ? clip->surface : NULL; @@ -579,13 +579,13 @@ _clip_and_composite_trapezoids (const cairo_pattern_t *src, has_clear_region = TRUE; status = _cairo_clip_intersect_to_region (clip, &clear_region); - if (status) + if (unlikely (status)) goto out; _cairo_region_get_extents (&clear_region, &extents); status = _cairo_region_subtract (&clear_region, &clear_region, &trap_region); - if (status) + if (unlikely (status)) goto out; if (!_cairo_region_not_empty (&clear_region)) { @@ -597,7 +597,7 @@ _clip_and_composite_trapezoids (const cairo_pattern_t *src, } } - if (status) + if (unlikely (status)) goto out; if (has_trap_region) { @@ -681,14 +681,14 @@ _cairo_surface_fallback_paint (cairo_surface_t *surface, cairo_traps_t traps; status = _cairo_surface_get_extents (surface, &extents); - if (status) + if (unlikely (status)) return status; if (_cairo_operator_bounded_by_source (op)) { cairo_rectangle_int_t source_extents; status = _cairo_pattern_get_extents (source, &source_extents); - if (status) + if (unlikely (status)) return status; if (! _cairo_rectangle_intersect (&extents, &source_extents)) @@ -696,7 +696,7 @@ _cairo_surface_fallback_paint (cairo_surface_t *surface, } status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents); - if (status) + if (unlikely (status)) return status; _cairo_box_from_rectangle (&box, &extents); @@ -752,12 +752,12 @@ _cairo_surface_fallback_mask (cairo_surface_t *surface, cairo_rectangle_int_t extents, source_extents, mask_extents; status = _cairo_surface_get_extents (surface, &extents); - if (status) + if (unlikely (status)) return status; if (_cairo_operator_bounded_by_source (op)) { status = _cairo_pattern_get_extents (source, &source_extents); - if (status) + if (unlikely (status)) return status; if (! _cairo_rectangle_intersect (&extents, &source_extents)) @@ -766,7 +766,7 @@ _cairo_surface_fallback_mask (cairo_surface_t *surface, if (_cairo_operator_bounded_by_mask (op)) { status = _cairo_pattern_get_extents (mask, &mask_extents); - if (status) + if (unlikely (status)) return status; if (! _cairo_rectangle_intersect (&extents, &mask_extents)) @@ -774,7 +774,7 @@ _cairo_surface_fallback_mask (cairo_surface_t *surface, } status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents); - if (status) + if (unlikely (status)) return status; status = _clip_and_composite (surface->clip, op, @@ -804,13 +804,13 @@ _cairo_surface_fallback_stroke (cairo_surface_t *surface, cairo_rectangle_int_t extents; status = _cairo_surface_get_extents (surface, &extents); - if (status) + if (unlikely (status)) return status; if (_cairo_operator_bounded_by_source (op)) { cairo_rectangle_int_t source_extents; status = _cairo_pattern_get_extents (source, &source_extents); - if (status) + if (unlikely (status)) return status; if (! _cairo_rectangle_intersect (&extents, &source_extents)) @@ -818,7 +818,7 @@ _cairo_surface_fallback_stroke (cairo_surface_t *surface, } status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents); - if (status) + if (unlikely (status)) return status; if (extents.width == 0 || extents.height == 0) @@ -834,7 +834,7 @@ _cairo_surface_fallback_stroke (cairo_surface_t *surface, ctm, ctm_inverse, tolerance, &traps); - if (status) + if (unlikely (status)) goto FAIL; status = _clip_and_composite_trapezoids (source, @@ -865,14 +865,14 @@ _cairo_surface_fallback_fill (cairo_surface_t *surface, cairo_rectangle_int_t extents; status = _cairo_surface_get_extents (surface, &extents); - if (status) + if (unlikely (status)) return status; if (_cairo_operator_bounded_by_source (op)) { cairo_rectangle_int_t source_extents; status = _cairo_pattern_get_extents (source, &source_extents); - if (status) + if (unlikely (status)) return status; if (! _cairo_rectangle_intersect (&extents, &source_extents)) @@ -880,7 +880,7 @@ _cairo_surface_fallback_fill (cairo_surface_t *surface, } status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents); - if (status) + if (unlikely (status)) return status; if (extents.width == 0 || extents.height == 0) @@ -895,7 +895,7 @@ _cairo_surface_fallback_fill (cairo_surface_t *surface, fill_rule, tolerance, &traps); - if (status) { + if (unlikely (status)) { _cairo_traps_fini (&traps); return status; } @@ -992,7 +992,7 @@ _cairo_surface_fallback_show_glyphs (cairo_surface_t *surface, cairo_show_glyphs_info_t glyph_info; status = _cairo_surface_get_extents (surface, &extents); - if (status) + if (unlikely (status)) return status; if (_cairo_operator_bounded_by_mask (op)) { @@ -1002,7 +1002,7 @@ _cairo_surface_fallback_show_glyphs (cairo_surface_t *surface, glyphs, num_glyphs, &glyph_extents); - if (status) + if (unlikely (status)) return status; if (! _cairo_rectangle_intersect (&extents, &glyph_extents)) @@ -1010,7 +1010,7 @@ _cairo_surface_fallback_show_glyphs (cairo_surface_t *surface, } status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents); - if (status) + if (unlikely (status)) return status; glyph_info.font = scaled_font; @@ -1045,7 +1045,7 @@ _cairo_surface_fallback_snapshot (cairo_surface_t *surface) status = _cairo_surface_acquire_source_image (surface, &image, &image_extra); - if (status) + if (unlikely (status)) return _cairo_surface_create_in_error (status); snapshot = cairo_image_surface_create (image->format, @@ -1073,7 +1073,7 @@ _cairo_surface_fallback_snapshot (cairo_surface_t *surface) _cairo_surface_release_source_image (surface, image, image_extra); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (snapshot); return _cairo_surface_create_in_error (status); } @@ -1083,7 +1083,7 @@ _cairo_surface_fallback_snapshot (cairo_surface_t *surface) for (mime_type = mime_types; *mime_type; mime_type++) { status = _cairo_surface_copy_mime_data (snapshot, surface, *mime_type); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (snapshot); return _cairo_surface_create_in_error (status); } @@ -1112,7 +1112,7 @@ _cairo_surface_fallback_composite (cairo_operator_t op, cairo_status_t status; status = _fallback_init (&state, dst, dst_x, dst_y, width, height); - if (status) { + if (unlikely (status)) { if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; return status; @@ -1173,7 +1173,7 @@ _cairo_surface_fallback_fill_rectangles (cairo_surface_t *surface, } status = _fallback_init (&state, surface, x1, y1, x2 - x1, y2 - y1); - if (status) { + if (unlikely (status)) { if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; return status; @@ -1229,7 +1229,7 @@ _cairo_surface_fallback_composite_trapezoids (cairo_operator_t op, cairo_status_t status; status = _fallback_init (&state, dst, dst_x, dst_y, width, height); - if (status) { + if (unlikely (status)) { if (status == CAIRO_INT_STATUS_NOTHING_TO_DO) return CAIRO_STATUS_SUCCESS; return status; diff --git a/src/cairo-surface.c b/src/cairo-surface.c index 4c10f958..a6c97f23 100644 --- a/src/cairo-surface.c +++ b/src/cairo-surface.c @@ -322,7 +322,7 @@ _cairo_surface_create_similar_solid (cairo_surface_t *other, _cairo_pattern_fini (&solid_pattern.base); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (surface); return _cairo_surface_create_in_error (status); } @@ -455,7 +455,7 @@ _cairo_surface_reset (cairo_surface_t *surface) if (surface->backend->reset != NULL) { cairo_status_t status = surface->backend->reset (surface); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); } @@ -523,7 +523,7 @@ cairo_surface_finish (cairo_surface_t *surface) /* call finish even if in error mode */ if (surface->backend->finish) { status = surface->backend->finish (surface); - if (status) + if (unlikely (status)) status = _cairo_surface_set_error (surface, status); } @@ -608,7 +608,7 @@ cairo_surface_get_mime_data (cairo_surface_t *surface, return; status = _cairo_intern_string (&mime_type, -1); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (surface, status); return; } @@ -672,7 +672,7 @@ cairo_surface_set_mime_data (cairo_surface_t *surface, return surface->status; status = _cairo_intern_string (&mime_type, -1); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); if (data != NULL) { @@ -693,7 +693,7 @@ cairo_surface_set_mime_data (cairo_surface_t *surface, (cairo_user_data_key_t *) mime_type, mime_data, _cairo_mime_data_destroy); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); return CAIRO_STATUS_SUCCESS; @@ -715,7 +715,7 @@ _cairo_surface_copy_mime_data (cairo_surface_t *dst, return _cairo_surface_set_error (dst, src->status); status = _cairo_intern_string (&mime_type, -1); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (dst, status); mime_data = _cairo_user_data_array_get_data (&src->user_data, @@ -729,7 +729,7 @@ _cairo_surface_copy_mime_data (cairo_surface_t *dst, (cairo_user_data_key_t *) mime_type, mime_data, _cairo_mime_data_destroy); - if (status) { + if (unlikely (status)) { _cairo_mime_data_destroy (mime_data); return _cairo_surface_set_error (dst, status); } @@ -839,7 +839,7 @@ cairo_surface_flush (cairo_surface_t *surface) if (surface->backend->flush) { status = surface->backend->flush (surface); - if (status) + if (unlikely (status)) status = _cairo_surface_set_error (surface, status); } } @@ -917,7 +917,7 @@ cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface, y + surface->device_transform.y0, width, height); - if (status) + if (unlikely (status)) status = _cairo_surface_set_error (surface, status); } } @@ -1355,7 +1355,7 @@ _cairo_surface_clone_similar (cairo_surface_t *surface, clone_out); /* We should never get UNSUPPORTED here, so if we have an error, bail. */ - if (status) + if (unlikely (status)) return status; /* Update the clone's device_transform (which the underlying surface @@ -1562,7 +1562,7 @@ _cairo_surface_fill_region (cairo_surface_t *surface, if (num_boxes > 1) { num_boxes = sizeof (stack_rects) / sizeof (cairo_box_int_t); status = _cairo_region_get_boxes (region, &num_boxes, &boxes); - if (status) + if (unlikely (status)) return status; if (num_boxes > ARRAY_LENGTH (stack_rects)) { @@ -1661,7 +1661,7 @@ _cairo_surface_paint (cairo_surface_t *surface, status = _cairo_surface_copy_pattern_for_destination (&source, surface, &dev_source.base); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); if (surface->backend->paint) { @@ -1698,13 +1698,13 @@ _cairo_surface_mask (cairo_surface_t *surface, status = _cairo_surface_copy_pattern_for_destination (&source, surface, &dev_source.base); - if (status) + if (unlikely (status)) goto FINISH; status = _cairo_surface_copy_pattern_for_destination (&mask, surface, &dev_mask.base); - if (status) + if (unlikely (status)) goto CLEANUP_SOURCE; if (surface->backend->mask) { @@ -1757,13 +1757,13 @@ _cairo_surface_fill_stroke (cairo_surface_t *surface, status = _cairo_surface_copy_pattern_for_destination (&stroke_source, surface, &dev_stroke_source.base); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); status = _cairo_surface_copy_pattern_for_destination (&fill_source, surface, &dev_fill_source.base); - if (status) { + if (unlikely (status)) { if (stroke_source == &dev_stroke_source.base) _cairo_pattern_fini (&dev_stroke_source.base); @@ -1792,13 +1792,13 @@ _cairo_surface_fill_stroke (cairo_surface_t *surface, status = _cairo_surface_fill (surface, fill_op, fill_source, path, fill_rule, fill_tolerance, fill_antialias, NULL); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); status = _cairo_surface_stroke (surface, stroke_op, stroke_source, path, stroke_style, stroke_ctm, stroke_ctm_inverse, stroke_tolerance, stroke_antialias, NULL); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); return CAIRO_STATUS_SUCCESS; @@ -1831,7 +1831,7 @@ _cairo_surface_stroke (cairo_surface_t *surface, status = _cairo_surface_copy_pattern_for_destination (&source, surface, &dev_source.base); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); if (surface->backend->stroke) { @@ -1880,7 +1880,7 @@ _cairo_surface_fill (cairo_surface_t *surface, status = _cairo_surface_copy_pattern_for_destination (&source, surface, &dev_source.base); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); if (surface->backend->fill) { @@ -2097,13 +2097,13 @@ _cairo_surface_reset_clip (cairo_surface_t *surface) CAIRO_FILL_RULE_WINDING, 0, CAIRO_ANTIALIAS_DEFAULT); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); } if (surface->backend->set_clip_region != NULL) { status = surface->backend->set_clip_region (surface, NULL); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); } @@ -2181,7 +2181,7 @@ _cairo_surface_set_clip_path_recursive (cairo_surface_t *surface, return CAIRO_STATUS_SUCCESS; status = _cairo_surface_set_clip_path_recursive (surface, clip_path->prev); - if (status) + if (unlikely (status)) return status; return _cairo_surface_intersect_clip_path (surface, @@ -2220,11 +2220,11 @@ _cairo_surface_set_clip_path (cairo_surface_t *surface, CAIRO_FILL_RULE_WINDING, 0, CAIRO_ANTIALIAS_DEFAULT); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); status = _cairo_surface_set_clip_path_recursive (surface, clip_path); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); surface->current_clip_serial = serial; @@ -2458,7 +2458,7 @@ _cairo_surface_show_text_glyphs (cairo_surface_t *surface, status = _cairo_surface_copy_pattern_for_destination (&source, surface, &dev_source.base); - if (status) + if (unlikely (status)) return _cairo_surface_set_error (surface, status); if (_cairo_surface_has_device_transform (surface) && @@ -2477,7 +2477,7 @@ _cairo_surface_show_text_glyphs (cairo_surface_t *surface, &font_options); } status = cairo_scaled_font_status (dev_scaled_font); - if (status) { + if (unlikely (status)) { if (source == &dev_source.base) _cairo_pattern_fini (&dev_source.base); @@ -2644,7 +2644,7 @@ _cairo_surface_composite_fixup_unbounded_internal (cairo_surface_t *dst, status = _cairo_region_subtract (&clear_region, &clear_region, &drawn_region); - if (status) + if (unlikely (status)) goto CLEANUP_REGIONS; EMPTY: @@ -2833,7 +2833,7 @@ _cairo_surface_copy_pattern_for_destination (const cairo_pattern_t **pattern, return CAIRO_STATUS_SUCCESS; status = _cairo_pattern_init_copy (pattern_copy, *pattern); - if (status) + if (unlikely (status)) return status; _cairo_pattern_transform (pattern_copy, diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c index ab2e4b94..35e256fd 100644 --- a/src/cairo-svg-surface.c +++ b/src/cairo-svg-surface.c @@ -285,7 +285,7 @@ cairo_svg_surface_restrict_to_version (cairo_surface_t *abstract_surface, cairo_status_t status; status = _extract_svg_surface (abstract_surface, &surface); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (abstract_surface, status); return; } @@ -366,7 +366,7 @@ _cairo_svg_surface_create_for_document (cairo_svg_document_t *document, surface->xml_node = _cairo_memory_stream_create (); status = _cairo_output_stream_get_status (surface->xml_node); - if (status) + if (unlikely (status)) goto CLEANUP; _cairo_array_init (&surface->page_set, sizeof (cairo_svg_page_t)); @@ -378,7 +378,7 @@ _cairo_svg_surface_create_for_document (cairo_svg_document_t *document, "fill:rgb(0,0,0);\"/>\n", width, height); status = _cairo_output_stream_get_status (surface->xml_node); - if (status) + if (unlikely (status)) goto CLEANUP; } @@ -421,7 +421,7 @@ _cairo_svg_surface_create_for_stream_internal (cairo_output_stream_t *stream, status = _cairo_svg_document_create (stream, width, height, version, &document); - if (status) { + if (unlikely (status)) { surface = _cairo_surface_create_in_error (status); /* consume the output stream on behalf of caller */ status = _cairo_output_stream_destroy (stream); @@ -614,7 +614,7 @@ _cairo_svg_surface_emit_path (cairo_output_stream_t *output, _cairo_svg_path_curve_to, _cairo_svg_path_close_path, &info); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (output, "\""); @@ -635,14 +635,14 @@ _cairo_svg_document_emit_outline_glyph_data (cairo_svg_document_t *document, CAIRO_SCALED_GLYPH_INFO_METRICS| CAIRO_SCALED_GLYPH_INFO_PATH, &scaled_glyph); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (document->xml_node_glyphs, "<path style=\"stroke:none;\" "); status = _cairo_svg_surface_emit_path (document->xml_node_glyphs, scaled_glyph->path, NULL); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (document->xml_node_glyphs, @@ -668,7 +668,7 @@ _cairo_svg_document_emit_bitmap_glyph_data (cairo_svg_document_t *document, CAIRO_SCALED_GLYPH_INFO_METRICS| CAIRO_SCALED_GLYPH_INFO_SURFACE, &scaled_glyph); - if (status) + if (unlikely (status)) return status; image = scaled_glyph->surface; @@ -724,7 +724,7 @@ _cairo_svg_document_emit_glyph (cairo_svg_document_t *document, status = _cairo_svg_document_emit_bitmap_glyph_data (document, scaled_font, scaled_font_glyph_index); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (document->xml_node_glyphs, "</symbol>\n"); @@ -746,7 +746,7 @@ _cairo_svg_document_emit_font_subset (cairo_scaled_font_subset_t *font_subset, font_subset->scaled_font, font_subset->glyphs[i], font_subset->font_id, i); - if (status) + if (unlikely (status)) break; } _cairo_scaled_font_thaw_cache (font_subset->scaled_font); @@ -762,7 +762,7 @@ _cairo_svg_document_emit_font_subsets (cairo_svg_document_t *document) status = _cairo_scaled_font_subsets_foreach_scaled (document->font_subsets, _cairo_svg_document_emit_font_subset, document); - if (status) + if (unlikely (status)) goto FAIL; status = _cairo_scaled_font_subsets_foreach_user (document->font_subsets, @@ -992,7 +992,7 @@ _cairo_surface_base64_encode_jpeg (cairo_surface_t *surface, return CAIRO_INT_STATUS_UNSUPPORTED; status = _cairo_image_info_get_jpeg_info (&image_info, mime_data, mime_data_length); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (output, "data:image/jpeg;base64,"); @@ -1002,7 +1002,7 @@ _cairo_surface_base64_encode_jpeg (cairo_surface_t *surface, info.trailing = 0; status = base64_write_func (&info, mime_data, mime_data_length); - if (status) + if (unlikely (status)) return status; if (info.in_mem > 0) { @@ -1036,7 +1036,7 @@ _cairo_surface_base64_encode_png (cairo_surface_t *surface, info.trailing = 0; status = base64_write_func (&info, mime_data, mime_data_length); - if (status) + if (unlikely (status)) return status; if (info.in_mem > 0) { @@ -1073,7 +1073,7 @@ _cairo_surface_base64_encode (cairo_surface_t *surface, status = cairo_surface_write_to_png_stream (surface, base64_write_func, (void *) &info); - if (status) + if (unlikely (status)) return status; if (info.in_mem > 0) { @@ -1126,7 +1126,7 @@ _cairo_svg_surface_emit_composite_image_pattern (cairo_output_stream_t *output cairo_matrix_t p2u; status = _cairo_surface_get_extents (pattern->surface, &extents); - if (status) + if (unlikely (status)) return status; p2u = pattern->base.matrix; @@ -1214,7 +1214,7 @@ _cairo_svg_surface_emit_meta_surface (cairo_svg_document_t *document, document->owner->y_fallback_resolution); status = _cairo_meta_surface_replay (&meta->base, paginated_surface); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (&meta->base); cairo_surface_destroy (paginated_surface); return status; @@ -1222,7 +1222,7 @@ _cairo_svg_surface_emit_meta_surface (cairo_svg_document_t *document, cairo_surface_show_page (paginated_surface); status = cairo_surface_status (paginated_surface); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (&meta->base); cairo_surface_destroy (paginated_surface); return status; @@ -1231,7 +1231,7 @@ _cairo_svg_surface_emit_meta_surface (cairo_svg_document_t *document, new_snapshot.meta = meta; new_snapshot.id = svg_surface->id; status = _cairo_array_append (&document->meta_snapshots, &new_snapshot); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (&meta->base); cairo_surface_destroy (paginated_surface); return status; @@ -1321,7 +1321,7 @@ _cairo_svg_surface_emit_composite_meta_pattern (cairo_output_stream_t *output, meta_surface = (cairo_meta_surface_t *) pattern->surface; status = _cairo_svg_surface_emit_meta_surface (document, meta_surface, &id); - if (status) + if (unlikely (status)) return status; if (pattern_id != invalid_pattern_id) { @@ -1407,7 +1407,7 @@ _cairo_svg_surface_emit_surface_pattern (cairo_svg_surface_t *surface, status = _cairo_svg_surface_emit_composite_pattern (document->xml_node_defs, surface, CAIRO_OPERATOR_SOURCE, pattern, pattern_id, parent_matrix, NULL); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (style, @@ -1634,7 +1634,7 @@ _cairo_svg_surface_emit_linear_pattern (cairo_svg_surface_t *surface, status = _cairo_svg_surface_emit_pattern_stops (document->xml_node_defs, &pattern->base, 0.0, FALSE, FALSE); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (document->xml_node_defs, @@ -1812,7 +1812,7 @@ _cairo_svg_surface_emit_radial_pattern (cairo_svg_surface_t *surface, &pattern->base, offset, reverse_stops, emulate_reflect); - if (status) + if (unlikely (status)) return status; if (pattern->base.base.extend == CAIRO_EXTEND_NONE) @@ -1927,7 +1927,7 @@ _cairo_svg_surface_emit_stroke_style (cairo_output_stream_t *output, line_join); status = _cairo_svg_surface_emit_pattern (surface, source, output, TRUE, parent_matrix); - if (status) + if (unlikely (status)) return status; _cairo_svg_surface_emit_operator_for_style (output, surface, op); @@ -1979,18 +1979,18 @@ _cairo_svg_surface_fill_stroke (void *abstract_surface, _cairo_output_stream_printf (surface->xml_node, "<path style=\""); status = _cairo_svg_surface_emit_fill_style (surface->xml_node, surface, fill_op, fill_source, fill_rule, stroke_ctm_inverse); - if (status) + if (unlikely (status)) return status; status = _cairo_svg_surface_emit_stroke_style (surface->xml_node, surface, stroke_op, stroke_source, stroke_style, stroke_ctm_inverse); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->xml_node, "\" "); status = _cairo_svg_surface_emit_path (surface->xml_node, path, stroke_ctm_inverse); - if (status) + if (unlikely (status)) return status; _cairo_svg_surface_emit_transform (surface->xml_node, " transform", stroke_ctm, NULL); @@ -2019,13 +2019,13 @@ _cairo_svg_surface_fill (void *abstract_surface, _cairo_output_stream_printf (surface->xml_node, "<path style=\" stroke:none;"); status = _cairo_svg_surface_emit_fill_style (surface->xml_node, surface, op, source, fill_rule, NULL); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->xml_node, "\" "); status = _cairo_svg_surface_emit_path (surface->xml_node, path, NULL); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->xml_node, "/>\n"); @@ -2079,7 +2079,7 @@ _cairo_svg_surface_emit_paint (cairo_output_stream_t *output, surface->width, surface->height); _cairo_svg_surface_emit_operator_for_style (output, surface, op); status = _cairo_svg_surface_emit_pattern (surface, source, output, FALSE, NULL); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (output, "stroke:none;\""); @@ -2116,7 +2116,7 @@ _cairo_svg_surface_paint (void *abstract_surface, * and an optimization in meta surface. */ if (surface->clip_level == 0 && op == CAIRO_OPERATOR_CLEAR) { status = _cairo_output_stream_destroy (surface->xml_node); - if (status) { + if (unlikely (status)) { surface->xml_node = NULL; return status; } @@ -2204,7 +2204,7 @@ _cairo_svg_surface_mask (void *abstract_surface, mask_id, discard_filter ? "" : " <g filter=\"url(#alpha)\">\n"); status = _cairo_svg_surface_emit_paint (mask_stream, surface, CAIRO_OPERATOR_OVER, mask, source, NULL); - if (status) { + if (unlikely (status)) { cairo_status_t ignore = _cairo_output_stream_destroy (mask_stream); return status; (void) ignore; @@ -2217,13 +2217,13 @@ _cairo_svg_surface_mask (void *abstract_surface, _cairo_memory_stream_copy (mask_stream, document->xml_node_defs); status = _cairo_output_stream_destroy (mask_stream); - if (status) + if (unlikely (status)) return status; snprintf (buffer, sizeof buffer, "mask=\"url(#mask%d)\"", mask_id); status = _cairo_svg_surface_emit_paint (surface->xml_node, surface, op, source, 0, buffer); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -2252,13 +2252,13 @@ _cairo_svg_surface_stroke (void *abstract_dst, _cairo_output_stream_printf (surface->xml_node, "<path style=\"fill:none;"); status = _cairo_svg_surface_emit_stroke_style (surface->xml_node, surface, op, source, stroke_style, ctm_inverse); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->xml_node, "\" "); status = _cairo_svg_surface_emit_path (surface->xml_node, path, ctm_inverse); - if (status) + if (unlikely (status)) return status; _cairo_svg_surface_emit_transform (surface->xml_node, " transform", ctm, NULL); @@ -2301,7 +2301,7 @@ _cairo_svg_surface_show_glyphs (void *abstract_surface, _cairo_output_stream_printf (surface->xml_node, "<g style=\""); status = _cairo_svg_surface_emit_pattern (surface, pattern, surface->xml_node, FALSE, NULL); - if (status) + if (unlikely (status)) return status; _cairo_svg_surface_emit_operator_for_style (surface->xml_node, surface, op); @@ -2321,7 +2321,7 @@ _cairo_svg_surface_show_glyphs (void *abstract_surface, goto FALLBACK; } - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (surface->xml_node, @@ -2341,7 +2341,7 @@ FALLBACK: status = _cairo_scaled_font_glyph_path (scaled_font,(cairo_glyph_t *) glyphs, num_glyphs, &path); - if (status) { + if (unlikely (status)) { _cairo_path_fixed_fini (&path); return status; } @@ -2379,7 +2379,7 @@ _cairo_svg_surface_intersect_clip_path (void *dst, " <path ", document->clip_id); status = _cairo_svg_surface_emit_path (document->xml_node_defs, path, NULL); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_printf (document->xml_node_defs, @@ -2485,12 +2485,12 @@ _cairo_svg_document_create (cairo_output_stream_t *output_stream, document->xml_node_defs = _cairo_memory_stream_create (); status = _cairo_output_stream_get_status (document->xml_node_defs); - if (status) + if (unlikely (status)) goto CLEANUP_NODE_DEFS; document->xml_node_glyphs = _cairo_memory_stream_create (); status = _cairo_output_stream_get_status (document->xml_node_glyphs); - if (status) + if (unlikely (status)) goto CLEANUP_NODE_GLYPHS; document->alpha_filter = FALSE; diff --git a/src/cairo-traps.c b/src/cairo-traps.c index 4fa3656a..a8717029 100644 --- a/src/cairo-traps.c +++ b/src/cairo-traps.c @@ -666,7 +666,7 @@ _cairo_traps_extract_region (const cairo_traps_t *traps, if (boxes != stack_boxes) free (boxes); - if (status) + if (unlikely (status)) _cairo_region_fini (region); return status; @@ -705,15 +705,15 @@ _cairo_traps_path (const cairo_traps_t *traps, _sanitize_trap (&trap); status = _cairo_path_fixed_move_to (path, trap.left.p1.x, trap.top); - if (status) return status; + if (unlikely (status)) return status; status = _cairo_path_fixed_line_to (path, trap.right.p1.x, trap.top); - if (status) return status; + if (unlikely (status)) return status; status = _cairo_path_fixed_line_to (path, trap.right.p2.x, trap.bottom); - if (status) return status; + if (unlikely (status)) return status; status = _cairo_path_fixed_line_to (path, trap.left.p2.x, trap.bottom); - if (status) return status; + if (unlikely (status)) return status; status = _cairo_path_fixed_close_path (path); - if (status) return status; + if (unlikely (status)) return status; } return CAIRO_STATUS_SUCCESS; diff --git a/src/cairo-truetype-subset.c b/src/cairo-truetype-subset.c index e8be4b44..b3a48151 100644 --- a/src/cairo-truetype-subset.c +++ b/src/cairo-truetype-subset.c @@ -146,7 +146,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset, TT_TAG_head, 0, (unsigned char *) &head, &size); - if (status) + if (unlikely (status)) return status; size = sizeof (tt_maxp_t); @@ -154,7 +154,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset, TT_TAG_maxp, 0, (unsigned char *) &maxp, &size); - if (status) + if (unlikely (status)) return status; size = sizeof (tt_hhea_t); @@ -162,7 +162,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset, TT_TAG_hhea, 0, (unsigned char *) &hhea, &size); - if (status) + if (unlikely (status)) return status; size = 0; @@ -170,7 +170,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset, TT_TAG_name, 0, NULL, &size); - if (status) + if (unlikely (status)) return status; name = malloc(size); @@ -181,7 +181,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset, TT_TAG_name, 0, (unsigned char *) name, &size); - if (status) + if (unlikely (status)) goto fail0; font = malloc (sizeof (cairo_truetype_font_t)); @@ -198,7 +198,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset, font->last_boundary = 0; _cairo_array_init (&font->output, sizeof (char)); status = _cairo_array_grow_by (&font->output, 4096); - if (status) + if (unlikely (status)) goto fail1; font->glyphs = calloc (font->num_glyphs_in_face + 1, sizeof (subset_glyph_t)); @@ -277,7 +277,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset, _cairo_array_init (&font->string_offsets, sizeof (unsigned long)); status = _cairo_array_grow_by (&font->string_offsets, 10); - if (status) + if (unlikely (status)) goto fail5; font->status = CAIRO_STATUS_SUCCESS; @@ -328,7 +328,7 @@ cairo_truetype_font_allocate_write_buffer (cairo_truetype_font_t *font, return font->status; status = _cairo_array_allocate (&font->output, length, (void **) buffer); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); return CAIRO_STATUS_SUCCESS; @@ -345,7 +345,7 @@ cairo_truetype_font_write (cairo_truetype_font_t *font, return; status = _cairo_array_append_multiple (&font->output, data, length); - if (status) + if (unlikely (status)) status = _cairo_truetype_font_set_error (font, status); } @@ -391,7 +391,7 @@ cairo_truetype_font_align_output (cairo_truetype_font_t *font, status = cairo_truetype_font_allocate_write_buffer (font, pad, &padding); - if (status) + if (unlikely (status)) return status; memset (padding, 0, pad); @@ -413,7 +413,7 @@ cairo_truetype_font_check_boundary (cairo_truetype_font_t *font, { status = _cairo_array_append (&font->string_offsets, &font->last_boundary); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); font->last_offset = font->last_boundary; @@ -486,16 +486,16 @@ cairo_truetype_font_write_generic_table (cairo_truetype_font_t *font, size = 0; status = font->backend->load_truetype_table(font->scaled_font_subset->scaled_font, tag, 0, NULL, &size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); status = cairo_truetype_font_allocate_write_buffer (font, size, &buffer); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, tag, 0, buffer, &size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); return CAIRO_STATUS_SUCCESS; @@ -533,7 +533,7 @@ cairo_truetype_font_remap_composite_glyph (cairo_truetype_font_t *font, flags = be16_to_cpu (composite_glyph->flags); has_more_components = flags & TT_MORE_COMPONENTS; status = cairo_truetype_font_use_glyph (font, be16_to_cpu (composite_glyph->index), &index); - if (status) + if (unlikely (status)) return status; composite_glyph->index = cpu_to_be16 (index); @@ -575,7 +575,7 @@ cairo_truetype_font_write_glyf_table (cairo_truetype_font_t *font, status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, TT_TAG_head, 0, (unsigned char*) &header, &size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); if (be16_to_cpu (header.index_to_loc_format) == 0) @@ -589,7 +589,7 @@ cairo_truetype_font_write_glyf_table (cairo_truetype_font_t *font, status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, TT_TAG_loca, 0, u.bytes, &size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); start_offset = _cairo_array_num_elements (&font->output); @@ -612,33 +612,33 @@ cairo_truetype_font_write_glyf_table (cairo_truetype_font_t *font, size = end - begin; status = cairo_truetype_font_align_output (font, &next); - if (status) + if (unlikely (status)) goto FAIL; status = cairo_truetype_font_check_boundary (font, next); - if (status) + if (unlikely (status)) goto FAIL; font->glyphs[i].location = next - start_offset; status = cairo_truetype_font_allocate_write_buffer (font, size, &buffer); - if (status) + if (unlikely (status)) goto FAIL; if (size != 0) { status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, TT_TAG_glyf, begin, buffer, &size); - if (status) + if (unlikely (status)) goto FAIL; status = cairo_truetype_font_remap_composite_glyph (font, buffer, size); - if (status) + if (unlikely (status)) goto FAIL; } } status = cairo_truetype_font_align_output (font, &next); - if (status) + if (unlikely (status)) goto FAIL; font->glyphs[i].location = next - start_offset; @@ -664,17 +664,17 @@ cairo_truetype_font_write_head_table (cairo_truetype_font_t *font, size = 0; status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, tag, 0, NULL, &size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); font->checksum_index = _cairo_array_num_elements (&font->output) + 8; status = cairo_truetype_font_allocate_write_buffer (font, size, &buffer); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, tag, 0, buffer, &size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); /* set checkSumAdjustment to 0 for table checksum calcualtion */ @@ -695,12 +695,12 @@ cairo_truetype_font_write_hhea_table (cairo_truetype_font_t *font, unsigned long size = sizeof (tt_hhea_t); status = cairo_truetype_font_allocate_write_buffer (font, size, (unsigned char **) &hhea); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, tag, 0, (unsigned char *) hhea, &size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); hhea->num_hmetrics = cpu_to_be16 ((uint16_t)(font->base.num_glyphs)); @@ -728,7 +728,7 @@ cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t *font, status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, TT_TAG_hhea, 0, (unsigned char*) &hhea, &size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); num_hmetrics = be16_to_cpu(hhea.num_hmetrics); @@ -739,7 +739,7 @@ cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t *font, status = cairo_truetype_font_allocate_write_buffer (font, long_entry_size, (unsigned char **) &p); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); if (font->glyphs[i].parent_index < num_hmetrics) { @@ -747,7 +747,7 @@ cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t *font, TT_TAG_hmtx, font->glyphs[i].parent_index * long_entry_size, (unsigned char *) p, &long_entry_size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); } else @@ -756,7 +756,7 @@ cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t *font, TT_TAG_hmtx, (num_hmetrics - 1) * long_entry_size, (unsigned char *) p, &short_entry_size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, @@ -764,7 +764,7 @@ cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t *font, num_hmetrics * long_entry_size + (font->glyphs[i].parent_index - num_hmetrics) * short_entry_size, (unsigned char *) (p + 1), &short_entry_size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); } font->base.widths[i] = be16_to_cpu (p[0]); @@ -789,7 +789,7 @@ cairo_truetype_font_write_loca_table (cairo_truetype_font_t *font, status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, TT_TAG_head, 0, (unsigned char*) &header, &size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); if (be16_to_cpu (header.index_to_loc_format) == 0) @@ -817,12 +817,12 @@ cairo_truetype_font_write_maxp_table (cairo_truetype_font_t *font, size = sizeof (tt_maxp_t); status = cairo_truetype_font_allocate_write_buffer (font, size, (unsigned char **) &maxp); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font, tag, 0, (unsigned char *) maxp, &size); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); maxp->num_glyphs = cpu_to_be16 (font->base.num_glyphs); @@ -862,7 +862,7 @@ cairo_truetype_font_write_offset_table (cairo_truetype_font_t *font) table_buffer_length = font->num_tables * 16; status = cairo_truetype_font_allocate_write_buffer (font, table_buffer_length, &table_buffer); - if (status) + if (unlikely (status)) return _cairo_truetype_font_set_error (font, status); return CAIRO_STATUS_SUCCESS; @@ -920,28 +920,28 @@ cairo_truetype_font_generate (cairo_truetype_font_t *font, return font->status; status = cairo_truetype_font_write_offset_table (font); - if (status) + if (unlikely (status)) goto FAIL; status = cairo_truetype_font_align_output (font, &start); - if (status) + if (unlikely (status)) goto FAIL; end = 0; for (i = 0; i < font->num_tables; i++) { status = font->truetype_tables[i].write (font, font->truetype_tables[i].tag); - if (status) + if (unlikely (status)) goto FAIL; end = _cairo_array_num_elements (&font->output); status = cairo_truetype_font_align_output (font, &next); - if (status) + if (unlikely (status)) goto FAIL; cairo_truetype_font_update_entry (font, font->truetype_tables[i].pos, font->truetype_tables[i].tag, start, end); status = cairo_truetype_font_check_boundary (font, next); - if (status) + if (unlikely (status)) goto FAIL; start = next; @@ -1081,20 +1081,20 @@ _cairo_truetype_subset_init (cairo_truetype_subset_t *truetype_subset, unsigned long num_strings = 0; status = _cairo_truetype_font_create (font_subset, &font); - if (status) + if (unlikely (status)) return status; for (i = 0; i < font->scaled_font_subset->num_glyphs; i++) { unsigned short parent_glyph = font->scaled_font_subset->glyphs[i]; status = cairo_truetype_font_use_glyph (font, parent_glyph, &parent_glyph); - if (status) + if (unlikely (status)) goto fail1; } cairo_truetype_font_create_truetype_table_list (font); status = cairo_truetype_font_generate (font, &data, &length, &string_offsets, &num_strings); - if (status) + if (unlikely (status)) goto fail1; truetype_subset->base_font = strdup (font->base.base_font); @@ -1199,7 +1199,7 @@ _cairo_truetype_reverse_cmap (cairo_scaled_font_t *scaled_font, TT_TAG_cmap, table_offset, (unsigned char *) &buf, &size); - if (status) + if (unlikely (status)) return status; /* All table formats have the same first two words */ @@ -1216,7 +1216,7 @@ _cairo_truetype_reverse_cmap (cairo_scaled_font_t *scaled_font, TT_TAG_cmap, table_offset, (unsigned char *) map, &size); - if (status) + if (unlikely (status)) goto fail; num_segments = be16_to_cpu (map->segCountX2)/2; @@ -1299,7 +1299,7 @@ _cairo_truetype_index_to_ucs4 (cairo_scaled_font_t *scaled_font, TT_TAG_cmap, 0, (unsigned char *) &buf, &size); - if (status) + if (unlikely (status)) return status; cmap = (tt_cmap_t *) buf; @@ -1313,7 +1313,7 @@ _cairo_truetype_index_to_ucs4 (cairo_scaled_font_t *scaled_font, TT_TAG_cmap, 0, (unsigned char *) cmap, &size); - if (status) + if (unlikely (status)) goto cleanup; /* Find a table with Unicode mapping */ diff --git a/src/cairo-type1-fallback.c b/src/cairo-type1-fallback.c index 1f39a3f0..d54215de 100644 --- a/src/cairo-type1-fallback.c +++ b/src/cairo-type1-fallback.c @@ -112,7 +112,7 @@ cairo_type1_font_create (cairo_scaled_font_subset_t *scaled_font_subset, &ctm, &font_options); status = font->type1_scaled_font->status; - if (status) + if (unlikely (status)) goto fail; _cairo_array_init (&font->contents, sizeof (unsigned char)); @@ -227,7 +227,7 @@ _charstring_move_to (void *closure, cairo_status_t status; status = _cairo_array_grow_by (path_info->data, 12); - if (status) + if (unlikely (status)) return status; dx = _cairo_fixed_integer_part (point->x) - path_info->current_x; @@ -251,7 +251,7 @@ _charstring_line_to (void *closure, cairo_status_t status; status = _cairo_array_grow_by (path_info->data, 12); - if (status) + if (unlikely (status)) return status; dx = _cairo_fixed_integer_part (point->x) - path_info->current_x; @@ -277,7 +277,7 @@ _charstring_curve_to (void *closure, cairo_status_t status; status = _cairo_array_grow_by (path_info->data, 32); - if (status) + if (unlikely (status)) return status; dx1 = _cairo_fixed_integer_part (point1->x) - path_info->current_x; @@ -309,7 +309,7 @@ _charstring_close_path (void *closure) return CAIRO_STATUS_SUCCESS; status = _cairo_array_grow_by (path_info->data, 2); - if (status) + if (unlikely (status)) return status; charstring_encode_command (path_info->data, CHARSTRING_closepath); @@ -363,7 +363,7 @@ cairo_type1_font_create_charstring (cairo_type1_font_t *font, CAIRO_SCALED_GLYPH_INFO_METRICS, &scaled_glyph); } - if (status) + if (unlikely (status)) return status; metrics = &scaled_glyph->metrics; @@ -385,7 +385,7 @@ cairo_type1_font_create_charstring (cairo_type1_font_t *font, font->widths[subset_index] = metrics->x_advance; status = _cairo_array_grow_by (data, 30); - if (status) + if (unlikely (status)) return status; if (type == CAIRO_CHARSTRING_TYPE1) { @@ -413,12 +413,12 @@ cairo_type1_font_create_charstring (cairo_type1_font_t *font, _charstring_curve_to, _charstring_close_path, &path_info); - if (status) + if (unlikely (status)) return status; } status = _cairo_array_grow_by (data, 1); - if (status) + if (unlikely (status)) return status; charstring_encode_command (path_info.data, CHARSTRING_endchar); @@ -437,7 +437,7 @@ cairo_type1_font_write_charstrings (cairo_type1_font_t *font, _cairo_array_init (&data, sizeof (unsigned char)); status = _cairo_array_grow_by (&data, 1024); - if (status) + if (unlikely (status)) goto fail; _cairo_output_stream_printf (encrypted_output, @@ -449,14 +449,14 @@ cairo_type1_font_write_charstrings (cairo_type1_font_t *font, _cairo_array_truncate (&data, 0); /* four "random" bytes required by encryption algorithm */ status = _cairo_array_append_multiple (&data, zeros, 4); - if (status) + if (unlikely (status)) goto fail; status = cairo_type1_font_create_charstring (font, i, font->scaled_font_subset->glyphs[i], CAIRO_CHARSTRING_TYPE1, &data); - if (status) + if (unlikely (status)) goto fail; charstring_encrypt (&data); @@ -599,7 +599,7 @@ cairo_type1_font_write_private_dict (cairo_type1_font_t *font, "/password 5839 def\n"); status = cairo_type1_font_write_charstrings (font, encrypted_output); - if (status) + if (unlikely (status)) goto fail; _cairo_output_stream_printf (encrypted_output, @@ -651,7 +651,7 @@ cairo_type1_font_write (cairo_type1_font_t *font, font->header_size = _cairo_output_stream_get_position (font->output); status = cairo_type1_font_write_private_dict (font, name); - if (status) + if (unlikely (status)) return status; font->data_size = _cairo_output_stream_get_position (font->output) - @@ -671,7 +671,7 @@ cairo_type1_font_generate (cairo_type1_font_t *font, const char *name) cairo_int_status_t status; status = _cairo_array_grow_by (&font->contents, 4096); - if (status) + if (unlikely (status)) return status; font->output = _cairo_output_stream_create (cairo_type1_write_stream, NULL, font); @@ -679,7 +679,7 @@ cairo_type1_font_generate (cairo_type1_font_t *font, const char *name) return _cairo_output_stream_destroy (font->output); status = cairo_type1_font_write (font, name); - if (status) + if (unlikely (status)) return status; font->data = _cairo_array_index (&font->contents, 0); @@ -714,11 +714,11 @@ _cairo_type1_fallback_init_internal (cairo_type1_subset_t *type1_subset, unsigned int i, len; status = cairo_type1_font_create (scaled_font_subset, &font, hex_encode); - if (status) + if (unlikely (status)) return status; status = cairo_type1_font_generate (font, name); - if (status) + if (unlikely (status)) goto fail1; type1_subset->base_font = strdup (name); @@ -816,7 +816,7 @@ _cairo_type2_charstrings_init (cairo_type2_charstrings_t *type2_subset, cairo_array_t charstring; status = cairo_type1_font_create (scaled_font_subset, &font, FALSE); - if (status) + if (unlikely (status)) return status; _cairo_array_init (&type2_subset->charstrings, sizeof (cairo_array_t)); @@ -831,18 +831,18 @@ _cairo_type2_charstrings_init (cairo_type2_charstrings_t *type2_subset, for (i = 0; i < font->scaled_font_subset->num_glyphs; i++) { _cairo_array_init (&charstring, sizeof (unsigned char)); status = _cairo_array_grow_by (&charstring, 32); - if (status) + if (unlikely (status)) goto fail2; status = cairo_type1_font_create_charstring (font, i, font->scaled_font_subset->glyphs[i], CAIRO_CHARSTRING_TYPE2, &charstring); - if (status) + if (unlikely (status)) goto fail2; status = _cairo_array_append (&type2_subset->charstrings, &charstring); - if (status) + if (unlikely (status)) goto fail2; } _cairo_scaled_font_thaw_cache (font->type1_scaled_font); diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c index e5557585..a62a2613 100644 --- a/src/cairo-type1-subset.c +++ b/src/cairo-type1-subset.c @@ -866,11 +866,11 @@ cairo_type1_font_subset_look_for_seac(cairo_type1_font_subset_t *font, * make sure those glyphs are present in the subset * under their standard names. */ status = use_standard_encoding_glyph (font, stack[3]); - if (status) + if (unlikely (status)) return status; status = use_standard_encoding_glyph (font, stack[4]); - if (status) + if (unlikely (status)) return status; sp = 0; @@ -906,18 +906,18 @@ write_used_glyphs (cairo_type1_font_subset_t *font, "/%.*s %d %s ", name_length, name, charstring_length, font->rd); status = cairo_type1_font_subset_write_encrypted (font, buffer, length); - if (status) + if (unlikely (status)) return status; status = cairo_type1_font_subset_write_encrypted (font, charstring, charstring_length); - if (status) + if (unlikely (status)) return status; length = snprintf (buffer, sizeof buffer, "%s\n", font->nd); status = cairo_type1_font_subset_write_encrypted (font, buffer, length); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -983,7 +983,7 @@ cairo_type1_font_subset_for_each_glyph (cairo_type1_font_subset_t *font, cairo_status_t status = func (font, name, name_length, charstring, charstring_length); - if (status) + if (unlikely (status)) return status; } } @@ -1040,7 +1040,7 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font, dict_start = p; status = cairo_type1_font_subset_get_glyph_names_and_widths (font); - if (status) + if (unlikely (status)) return status; /* Now that we have the private dictionary broken down in @@ -1052,7 +1052,7 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font, font->cleartext_end, cairo_type1_font_subset_look_for_seac, &p); - if (status) + if (unlikely (status)) return status; closefile_token = find_token (p, font->cleartext_end, "closefile"); @@ -1060,13 +1060,13 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font, return CAIRO_INT_STATUS_UNSUPPORTED; status = cairo_type1_font_subset_get_glyph_names_and_widths (font); - if (status) + if (unlikely (status)) return status; /* We're ready to start outputting. First write the header, * i.e. the public part of the font dict.*/ status = cairo_type1_font_subset_write_header (font, name); - if (status) + if (unlikely (status)) return status; font->base.header_size = _cairo_output_stream_get_position (font->output); @@ -1076,21 +1076,21 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font, * to the /CharStrings token. */ status = cairo_type1_font_subset_write_encrypted (font, font->cleartext, charstrings - font->cleartext); - if (status) + if (unlikely (status)) return status; /* Write out new charstring count */ length = snprintf (buffer, sizeof buffer, "/CharStrings %d", font->num_glyphs); status = cairo_type1_font_subset_write_encrypted (font, buffer, length); - if (status) + if (unlikely (status)) return status; /* Write out text between the charstring count and the first * charstring definition */ status = cairo_type1_font_subset_write_encrypted (font, glyph_count_end, dict_start - glyph_count_end); - if (status) + if (unlikely (status)) return status; /* Write out the charstring definitions for each of the glyphs in @@ -1100,14 +1100,14 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font, font->cleartext_end, write_used_glyphs, &p); - if (status) + if (unlikely (status)) return status; /* Output what's left between the end of the glyph definitions and * the end of the private dict to the output. */ status = cairo_type1_font_subset_write_encrypted (font, p, closefile_token - p + strlen ("closefile") + 1); - if (status) + if (unlikely (status)) return status; _cairo_output_stream_write (font->output, "\n", 1); @@ -1158,11 +1158,11 @@ cairo_type1_font_subset_write (cairo_type1_font_subset_t *font, cairo_status_t status; status = cairo_type1_font_subset_find_segments (font); - if (status) + if (unlikely (status)) return status; status = cairo_type1_font_subset_decrypt_eexec_segment (font); - if (status) + if (unlikely (status)) return status; /* Determine which glyph definition delimiters to use. */ @@ -1181,14 +1181,14 @@ cairo_type1_font_subset_write (cairo_type1_font_subset_t *font, font->hex_column = 0; status = cairo_type1_font_subset_write_private_dict (font, name); - if (status) + if (unlikely (status)) return status; font->base.data_size = _cairo_output_stream_get_position (font->output) - font->base.header_size; status = cairo_type1_font_subset_write_trailer (font); - if (status) + if (unlikely (status)) return status; font->base.trailer_size = @@ -1239,7 +1239,7 @@ cairo_type1_font_subset_generate (void *abstract_font, } status = _cairo_array_grow_by (&font->contents, 4096); - if (status) + if (unlikely (status)) goto fail; font->output = _cairo_output_stream_create (type1_font_write, NULL, font); @@ -1249,7 +1249,7 @@ cairo_type1_font_subset_generate (void *abstract_font, } status = cairo_type1_font_subset_write (font, name); - if (status) + if (unlikely (status)) goto fail; font->base.data = _cairo_array_index (&font->contents, 0); @@ -1306,7 +1306,7 @@ _cairo_type1_subset_init (cairo_type1_subset_t *type1_subset, unscaled_font = _cairo_ft_scaled_font_get_unscaled_font (scaled_font_subset->scaled_font); status = _cairo_type1_font_subset_init (&font, unscaled_font, hex_encode); - if (status) + if (unlikely (status)) return status; for (i = 0; i < scaled_font_subset->num_glyphs; i++) { @@ -1315,7 +1315,7 @@ _cairo_type1_subset_init (cairo_type1_subset_t *type1_subset, } status = cairo_type1_font_subset_generate (&font, name); - if (status) + if (unlikely (status)) goto fail1; if (font.base.base_font) { diff --git a/src/cairo-type3-glyph-surface.c b/src/cairo-type3-glyph-surface.c index 6f9eb43e..7106040f 100644 --- a/src/cairo-type3-glyph-surface.c +++ b/src/cairo-type3-glyph-surface.c @@ -96,7 +96,7 @@ _cairo_type3_glyph_surface_emit_image (cairo_type3_glyph_surface_t *surface, } else { image_mask = _cairo_image_surface_clone (image, CAIRO_FORMAT_A1); status = cairo_surface_status (&image->base); - if (status) + if (unlikely (status)) return status; } @@ -196,7 +196,7 @@ _cairo_type3_glyph_surface_paint (void *abstract_surface, pattern = (const cairo_surface_pattern_t *) source; status = _cairo_surface_acquire_source_image (pattern->surface, &image, &image_extra); - if (status) + if (unlikely (status)) goto fail; status = _cairo_type3_glyph_surface_emit_image_pattern (surface, @@ -282,7 +282,7 @@ _cairo_type3_glyph_surface_show_glyphs (void *abstract_surface, /* We require the matrix to be invertable. */ ctm_inverse = scaled_font->ctm; status = cairo_matrix_invert (&ctm_inverse); - if (status) + if (unlikely (status)) return CAIRO_INT_STATUS_IMAGE_FALLBACK; cairo_matrix_multiply (&new_ctm, &scaled_font->ctm, &ctm_inverse); @@ -357,7 +357,7 @@ _cairo_type3_glyph_surface_emit_fallback_image (cairo_type3_glyph_surface_t *sur CAIRO_SCALED_GLYPH_INFO_METRICS | CAIRO_SCALED_GLYPH_INFO_SURFACE, &scaled_glyph); - if (status) + if (unlikely (status)) return status; image = scaled_glyph->surface; @@ -419,7 +419,7 @@ _cairo_type3_glyph_surface_analyze_glyph (void *abstract_surface, status = _cairo_meta_surface_replay (scaled_glyph->meta_surface, &surface->base); - if (status) + if (unlikely (status)) goto cleanup; status2 = _cairo_pdf_operators_flush (&surface->pdf_operators); diff --git a/src/cairo-user-font.c b/src/cairo-user-font.c index c272966a..5e2077f3 100644 --- a/src/cairo-user-font.c +++ b/src/cairo-user-font.c @@ -127,7 +127,7 @@ _cairo_user_scaled_glyph_init (void *abstract_font, cairo_destroy (cr); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (meta_surface); return status; } @@ -152,7 +152,7 @@ _cairo_user_scaled_glyph_init (void *abstract_font, analysis_surface = _cairo_analysis_surface_create (null_surface, -1, -1); cairo_surface_destroy (null_surface); status = analysis_surface->status; - if (status) + if (unlikely (status)) return status; _cairo_analysis_surface_set_ctm (analysis_surface, @@ -162,7 +162,7 @@ _cairo_user_scaled_glyph_init (void *abstract_font, _cairo_analysis_surface_get_bounding_box (analysis_surface, &bbox); cairo_surface_destroy (analysis_surface); - if (status) + if (unlikely (status)) return status; _cairo_box_to_doubles (&bbox, &x1, &y1, &x2, &y2); @@ -215,7 +215,7 @@ _cairo_user_scaled_glyph_init (void *abstract_font, - _cairo_fixed_integer_floor (scaled_glyph->bbox.p1.y)); status = _cairo_meta_surface_replay (meta_surface, surface); - if (status) { + if (unlikely (status)) { cairo_surface_destroy(surface); return status; } @@ -232,7 +232,7 @@ _cairo_user_scaled_glyph_init (void *abstract_font, status = _cairo_meta_surface_get_path (meta_surface, path); - if (status) { + if (unlikely (status)) { _cairo_path_fixed_destroy (path); return status; } @@ -355,7 +355,7 @@ _cairo_user_scaled_font_get_implementation (cairo_toy_font_face_t *toy_face, face, (cairo_destroy_func_t) cairo_font_face_destroy); - if (status) { + if (unlikely (status)) { cairo_font_face_destroy (face); return status; } @@ -376,7 +376,7 @@ _cairo_user_scaled_font_create_toy (cairo_toy_font_face_t *toy_face, cairo_status_t status; status = _cairo_user_scaled_font_get_implementation (toy_face, &face); - if (status) + if (unlikely (status)) return status; status = _cairo_user_font_face_scaled_font_create (face, @@ -384,7 +384,7 @@ _cairo_user_scaled_font_create_toy (cairo_toy_font_face_t *toy_face, ctm, font_options, font); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -428,7 +428,7 @@ _cairo_user_font_face_scaled_font_create (void *abstract_ font_matrix, ctm, options, &_cairo_user_scaled_font_backend); - if (status) { + if (unlikely (status)) { free (user_scaled_font); return status; } diff --git a/src/cairo-xlib-screen.c b/src/cairo-xlib-screen.c index 9dd411ed..1878f8e7 100644 --- a/src/cairo-xlib-screen.c +++ b/src/cairo-xlib-screen.c @@ -485,7 +485,7 @@ _cairo_xlib_screen_get_visual_info (cairo_xlib_screen_info_t *info, XScreenNumberOfScreen (info->screen), visual->visualid, &ret); - if (status) + if (unlikely (status)) return status; CAIRO_MUTEX_LOCK (info->mutex); @@ -506,7 +506,7 @@ _cairo_xlib_screen_get_visual_info (cairo_xlib_screen_info_t *info, status = _cairo_array_append (&info->visuals, &ret); CAIRO_MUTEX_UNLOCK (info->mutex); - if (status) { + if (unlikely (status)) { _cairo_xlib_visual_info_destroy (dpy, ret); return status; } diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c index 136e5546..75d4de3f 100644 --- a/src/cairo-xlib-surface.c +++ b/src/cairo-xlib-surface.c @@ -672,7 +672,7 @@ _get_image_surface (cairo_xlib_surface_t *surface, Pixmap pixmap; status = _cairo_xlib_surface_ensure_gc (surface); - if (status) + if (unlikely (status)) return status; pixmap = XCreatePixmap (surface->dpy, @@ -717,7 +717,7 @@ _get_image_surface (cairo_xlib_surface_t *surface, ximage->height, ximage->bytes_per_line); status = image->base.status; - if (status) + if (unlikely (status)) goto BAIL; /* Let the surface take ownership of the data */ @@ -778,14 +778,14 @@ _get_image_surface (cairo_xlib_surface_t *surface, status = _cairo_xlib_screen_get_visual_info (surface->screen_info, surface->visual, &visual_info); - if (status) + if (unlikely (status)) goto BAIL; } image = (cairo_image_surface_t *) cairo_image_surface_create (format, ximage->width, ximage->height); status = image->base.status; - if (status) + if (unlikely (status)) goto BAIL; data = cairo_image_surface_get_data (&image->base); @@ -822,7 +822,7 @@ _get_image_surface (cairo_xlib_surface_t *surface, BAIL: XDestroyImage (ximage); - if (status) { + if (unlikely (status)) { if (image) { cairo_surface_destroy (&image->base); image = NULL; @@ -1014,7 +1014,7 @@ _draw_image_surface (cairo_xlib_surface_t *surface, status = _cairo_xlib_screen_get_visual_info (surface->screen_info, surface->visual, &visual_info); - if (status) + if (unlikely (status)) goto BAIL; } @@ -1071,7 +1071,7 @@ _draw_image_surface (cairo_xlib_surface_t *surface, } status = _cairo_xlib_surface_ensure_gc (surface); - if (status) + if (unlikely (status)) goto BAIL; XPutImage(surface->dpy, surface->drawable, surface->gc, @@ -1097,7 +1097,7 @@ _cairo_xlib_surface_acquire_source_image (void *abstract_surf _cairo_xlib_display_notify (surface->display); status = _get_image_surface (surface, NULL, &image, NULL); - if (status) + if (unlikely (status)) return status; *image_out = image; @@ -1128,7 +1128,7 @@ _cairo_xlib_surface_acquire_dest_image (void *abstract_surfac _cairo_xlib_display_notify (surface->display); status = _get_image_surface (surface, interest_rect, &image, image_rect_out); - if (status) + if (unlikely (status)) return status; *image_out = image; @@ -1217,7 +1217,7 @@ _cairo_xlib_surface_clone_similar (void *abstract_surface, src_x, src_y, width, height, 0, 0); - if (status) { + if (unlikely (status)) { cairo_surface_destroy (&clone->base); return status; } @@ -1264,7 +1264,7 @@ _cairo_xlib_surface_create_solid_pattern_surface (void *abstrac _cairo_image_surface_create_with_content (solid_pattern->content, width, height); status = image->base.status; - if (status) + if (unlikely (status)) goto BAIL; pixmap = XCreatePixmap (other->dpy, @@ -1280,26 +1280,26 @@ _cairo_xlib_surface_create_solid_pattern_surface (void *abstrac width, height, other->depth); status = surface->base.status; - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_surface_paint (&image->base, CAIRO_OPERATOR_SOURCE, &solid_pattern->base, NULL); - if (status) + if (unlikely (status)) goto BAIL; status = _draw_image_surface (surface, image, 0, 0, width, height, 0, 0); - if (status) + if (unlikely (status)) goto BAIL; BAIL: cairo_surface_destroy (&image->base); - if (status) { + if (unlikely (status)) { if (pixmap != None) XFreePixmap (other->dpy, pixmap); cairo_surface_destroy (&surface->base); @@ -1426,7 +1426,7 @@ _cairo_xlib_surface_set_attributes (cairo_xlib_surface_t *surface, status = _cairo_xlib_surface_set_matrix (surface, &attributes->matrix, xc, yc); - if (status) + if (unlikely (status)) return status; switch (attributes->extend) { @@ -1443,7 +1443,7 @@ _cairo_xlib_surface_set_attributes (cairo_xlib_surface_t *surface, } status = _cairo_xlib_surface_set_filter (surface, attributes->filter); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -1728,7 +1728,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op, (cairo_surface_t **) &src, (cairo_surface_t **) &mask, &src_attr, &mask_attr); - if (status) + if (unlikely (status)) return status; /* check for fallback surfaces that we cannot handle ... */ @@ -1757,7 +1757,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op, status = _cairo_xlib_surface_set_attributes (src, &src_attr, dst_x + width / 2., dst_y + height / 2.); - if (status) + if (unlikely (status)) goto BAIL; _cairo_xlib_surface_ensure_dst_picture (dst); @@ -1765,7 +1765,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op, status = _cairo_xlib_surface_set_attributes (mask, &mask_attr, dst_x + width / 2., dst_y + height/ 2.); - if (status) + if (unlikely (status)) goto BAIL; XRenderComposite (dst->dpy, @@ -1796,7 +1796,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op, case DO_XCOPYAREA: status = _cairo_xlib_surface_ensure_gc (dst); - if (status) + if (unlikely (status)) goto BAIL; is_integer_translation = _cairo_matrix_is_integer_translation (&src_attr.matrix, @@ -1824,7 +1824,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op, */ status = _cairo_xlib_surface_ensure_gc (dst); - if (status) + if (unlikely (status)) goto BAIL; is_integer_translation = _cairo_matrix_is_integer_translation (&src_attr.matrix, &itx, &ity); @@ -1879,7 +1879,7 @@ _cairo_xlib_surface_solid_fill_rectangles (cairo_xlib_surface_t *surface, _cairo_pattern_init_solid (&solid, color, CAIRO_CONTENT_COLOR); status = _cairo_xlib_surface_ensure_gc (surface); - if (status) + if (unlikely (status)) return status; status = _cairo_pattern_acquire_surface (&solid.base, &surface->base, @@ -1888,7 +1888,7 @@ _cairo_xlib_surface_solid_fill_rectangles (cairo_xlib_surface_t *surface, ARRAY_LENGTH (dither_pattern), &solid_surface, &attrs); - if (status) + if (unlikely (status)) return status; if (! _cairo_surface_is_xlib (solid_surface)) { @@ -2136,7 +2136,7 @@ _cairo_xlib_surface_composite_trapezoids (cairo_operator_t op, src_x, src_y, width, height, (cairo_surface_t **) &src, &attributes); - if (status) + if (unlikely (status)) return status; operation = _recategorize_composite_operation (dst, op, src, @@ -2177,7 +2177,7 @@ _cairo_xlib_surface_composite_trapezoids (cairo_operator_t op, status = _cairo_xlib_surface_set_attributes (src, &attributes, dst_x + width / 2., dst_y + height / 2.); - if (status) + if (unlikely (status)) goto BAIL; if (!_cairo_operator_bounded_by_mask (op)) { @@ -2300,7 +2300,7 @@ _cairo_xlib_surface_set_clip_region (void *abstract_surface, _cairo_region_init_rect (&bound, &rect); _cairo_region_init (&bounded); status = _cairo_region_intersect (&bounded, &bound, region); - if (status) { + if (unlikely (status)) { _cairo_region_fini (&bound); _cairo_region_fini (&bounded); return status; @@ -2309,7 +2309,7 @@ _cairo_xlib_surface_set_clip_region (void *abstract_surface, n_boxes = sizeof (surface->embedded_clip_rects) / sizeof (cairo_box_int_t); boxes = (cairo_box_int_t *) surface->embedded_clip_rects; status = _cairo_region_get_boxes (&bounded, &n_boxes, &boxes); - if (status) { + if (unlikely (status)) { _cairo_region_fini (&bound); _cairo_region_fini (&bounded); return status; @@ -2429,7 +2429,7 @@ _cairo_xlib_surface_reset (void *abstract_surface) cairo_status_t status; status = _cairo_xlib_surface_set_clip_region (surface, NULL); - if (status) + if (unlikely (status)) return status; return CAIRO_STATUS_SUCCESS; @@ -2564,11 +2564,11 @@ _cairo_xlib_surface_create_internal (Display *dpy, return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_VISUAL)); status = _cairo_xlib_display_get (dpy, &display); - if (status) + if (unlikely (status)) return _cairo_surface_create_in_error (status); status = _cairo_xlib_screen_info_get (display, screen, &screen_info); - if (status) { + if (unlikely (status)) { _cairo_xlib_display_destroy (display); return _cairo_surface_create_in_error (status); } @@ -2903,7 +2903,7 @@ cairo_xlib_surface_set_drawable (cairo_surface_t *abstract_surface, surface->display, XRenderFreePicture, surface->dst_picture); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (&surface->base, status); return; } @@ -2916,7 +2916,7 @@ cairo_xlib_surface_set_drawable (cairo_surface_t *abstract_surface, surface->display, XRenderFreePicture, surface->src_picture); - if (status) { + if (unlikely (status)) { status = _cairo_surface_set_error (&surface->base, status); return; } @@ -3173,7 +3173,7 @@ _cairo_xlib_surface_font_init (Display *dpy, font_private->scaled_font = scaled_font; status = _cairo_xlib_display_get (dpy, &font_private->display); - if (status) { + if (unlikely (status)) { free (font_private); return status; } @@ -3289,7 +3289,7 @@ _cairo_xlib_surface_scaled_glyph_fini (cairo_scaled_glyph_t *scaled_glyph, to_free, free); /* XXX cannot propagate failure */ - if (status) + if (unlikely (status)) free (to_free); to_free = glyphset_info->pending_free_glyphs = NULL; @@ -3445,7 +3445,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, CAIRO_SCALED_GLYPH_INFO_METRICS | CAIRO_SCALED_GLYPH_INFO_SURFACE, pscaled_glyph); - if (status) + if (unlikely (status)) return status; scaled_glyph = *pscaled_glyph; @@ -3457,7 +3457,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, if (scaled_font->surface_private == NULL) { status = _cairo_xlib_surface_font_init (dpy, scaled_font); - if (status) + if (unlikely (status)) return status; } @@ -3484,7 +3484,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, tmp_surface = cairo_image_surface_create (glyphset_info->format, 1, 1); status = tmp_surface->status; - if (status) + if (unlikely (status)) goto BAIL; cr = cairo_create (tmp_surface); @@ -3498,7 +3498,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, glyph_surface = (cairo_image_surface_t *) tmp_surface; - if (status) + if (unlikely (status)) goto BAIL; } @@ -3514,7 +3514,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, glyph_surface->width, glyph_surface->height); status = tmp_surface->status; - if (status) + if (unlikely (status)) goto BAIL; tmp_surface->device_transform = glyph_surface->base.device_transform; @@ -3529,7 +3529,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy, glyph_surface = (cairo_image_surface_t *) tmp_surface; - if (status) + if (unlikely (status)) goto BAIL; } @@ -3864,7 +3864,7 @@ _cairo_xlib_surface_emit_glyphs (cairo_xlib_surface_t *dst, status = _cairo_xlib_surface_add_glyph (dst->dpy, scaled_font, &scaled_glyph); - if (status) { + if (unlikely (status)) { if (status == CAIRO_INT_STATUS_UNSUPPORTED) /* Break so we flush glyphs so far and let fallback code * handle the rest */ @@ -4055,7 +4055,7 @@ _cairo_xlib_surface_show_glyphs (void *abstract_dst, 0, 0, 1, 1, (cairo_surface_t **) &src, &attributes); - if (status) + if (unlikely (status)) goto BAIL0; } else { cairo_rectangle_int_t glyph_extents; @@ -4064,7 +4064,7 @@ _cairo_xlib_surface_show_glyphs (void *abstract_dst, glyphs, num_glyphs, &glyph_extents); - if (status) + if (unlikely (status)) goto BAIL0; status = _cairo_pattern_acquire_surface (src_pattern, &dst->base, @@ -4072,7 +4072,7 @@ _cairo_xlib_surface_show_glyphs (void *abstract_dst, glyph_extents.width, glyph_extents.height, (cairo_surface_t **) &src, &attributes); - if (status) + if (unlikely (status)) goto BAIL0; } @@ -4084,7 +4084,7 @@ _cairo_xlib_surface_show_glyphs (void *abstract_dst, } status = _cairo_xlib_surface_set_attributes (src, &attributes, 0, 0); - if (status) + if (unlikely (status)) goto BAIL1; _cairo_scaled_font_freeze_cache (scaled_font); diff --git a/src/cairo.c b/src/cairo.c index 3dc30014..924f7caa 100644 --- a/src/cairo.c +++ b/src/cairo.c @@ -168,7 +168,7 @@ cairo_create (cairo_surface_t *target) cr->gstate_freelist = NULL; status = _cairo_gstate_init (cr->gstate, target); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); return cr; @@ -349,7 +349,7 @@ cairo_save (cairo_t *cr) return; status = _cairo_gstate_save (&cr->gstate, &cr->gstate_freelist); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def(cairo_save); @@ -371,7 +371,7 @@ cairo_restore (cairo_t *cr) return; status = _cairo_gstate_restore (&cr->gstate, &cr->gstate_freelist); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def(cairo_restore); @@ -458,10 +458,10 @@ cairo_push_group_with_content (cairo_t *cr, cairo_content_t content) parent_surface = _cairo_gstate_get_target (cr->gstate); /* Get the extents that we'll use in creating our new group surface */ status = _cairo_surface_get_extents (parent_surface, &extents); - if (status) + if (unlikely (status)) goto bail; status = _cairo_clip_intersect_to_rectangle (_cairo_gstate_get_clip (cr->gstate), &extents); - if (status) + if (unlikely (status)) goto bail; group_surface = cairo_surface_create_similar (_cairo_gstate_get_target (cr->gstate), @@ -469,7 +469,7 @@ cairo_push_group_with_content (cairo_t *cr, cairo_content_t content) extents.width, extents.height); status = cairo_surface_status (group_surface); - if (status) + if (unlikely (status)) goto bail; /* Set device offsets on the new surface so that logically it appears at @@ -490,7 +490,7 @@ cairo_push_group_with_content (cairo_t *cr, cairo_content_t content) bail: cairo_surface_destroy (group_surface); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def(cairo_push_group_with_content); @@ -628,7 +628,7 @@ cairo_set_operator (cairo_t *cr, cairo_operator_t op) return; status = _cairo_gstate_set_operator (cr->gstate, op); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_set_operator); @@ -790,7 +790,7 @@ cairo_set_source (cairo_t *cr, cairo_pattern_t *source) } status = _cairo_gstate_set_source (cr->gstate, source); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_set_source); @@ -838,7 +838,7 @@ cairo_set_tolerance (cairo_t *cr, double tolerance) _cairo_restrict_value (&tolerance, CAIRO_TOLERANCE_MINIMUM, tolerance); status = _cairo_gstate_set_tolerance (cr->gstate, tolerance); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_set_tolerance); @@ -865,7 +865,7 @@ cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias) return; status = _cairo_gstate_set_antialias (cr->gstate, antialias); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -891,7 +891,7 @@ cairo_set_fill_rule (cairo_t *cr, cairo_fill_rule_t fill_rule) return; status = _cairo_gstate_set_fill_rule (cr->gstate, fill_rule); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -932,7 +932,7 @@ cairo_set_line_width (cairo_t *cr, double width) _cairo_restrict_value (&width, 0.0, width); status = _cairo_gstate_set_line_width (cr->gstate, width); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_set_line_width); @@ -962,7 +962,7 @@ cairo_set_line_cap (cairo_t *cr, cairo_line_cap_t line_cap) return; status = _cairo_gstate_set_line_cap (cr->gstate, line_cap); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_set_line_cap); @@ -992,7 +992,7 @@ cairo_set_line_join (cairo_t *cr, cairo_line_join_t line_join) return; status = _cairo_gstate_set_line_join (cr->gstate, line_join); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_set_line_join); @@ -1042,7 +1042,7 @@ cairo_set_dash (cairo_t *cr, status = _cairo_gstate_set_dash (cr->gstate, dashes, num_dashes, offset); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -1132,7 +1132,7 @@ cairo_set_miter_limit (cairo_t *cr, double limit) return; status = _cairo_gstate_set_miter_limit (cr->gstate, limit); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -1157,7 +1157,7 @@ cairo_translate (cairo_t *cr, double tx, double ty) return; status = _cairo_gstate_translate (cr->gstate, tx, ty); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -1181,7 +1181,7 @@ cairo_scale (cairo_t *cr, double sx, double sy) return; status = _cairo_gstate_scale (cr->gstate, sx, sy); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_scale); @@ -1207,7 +1207,7 @@ cairo_rotate (cairo_t *cr, double angle) return; status = _cairo_gstate_rotate (cr->gstate, angle); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -1230,7 +1230,7 @@ cairo_transform (cairo_t *cr, return; status = _cairo_gstate_transform (cr->gstate, matrix); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -1252,7 +1252,7 @@ cairo_set_matrix (cairo_t *cr, return; status = _cairo_gstate_set_matrix (cr->gstate, matrix); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_set_matrix); @@ -1393,7 +1393,7 @@ cairo_move_to (cairo_t *cr, double x, double y) y_fixed = _cairo_fixed_from_double (y); status = _cairo_path_fixed_move_to (cr->path, x_fixed, y_fixed); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def(cairo_move_to); @@ -1452,7 +1452,7 @@ cairo_line_to (cairo_t *cr, double x, double y) y_fixed = _cairo_fixed_from_double (y); status = _cairo_path_fixed_line_to (cr->path, x_fixed, y_fixed); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_line_to); @@ -1507,7 +1507,7 @@ cairo_curve_to (cairo_t *cr, x1_fixed, y1_fixed, x2_fixed, y2_fixed, x3_fixed, y3_fixed); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_curve_to); @@ -1641,7 +1641,7 @@ cairo_arc_to (cairo_t *cr, x1, y1, x2, y2, radius); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } */ @@ -1677,7 +1677,7 @@ cairo_rel_move_to (cairo_t *cr, double dx, double dy) dy_fixed = _cairo_fixed_from_double (dy); status = _cairo_path_fixed_rel_move_to (cr->path, dx_fixed, dy_fixed); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -1714,7 +1714,7 @@ cairo_rel_line_to (cairo_t *cr, double dx, double dy) dy_fixed = _cairo_fixed_from_double (dy); status = _cairo_path_fixed_rel_line_to (cr->path, dx_fixed, dy_fixed); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def(cairo_rel_line_to); @@ -1775,7 +1775,7 @@ cairo_rel_curve_to (cairo_t *cr, dx1_fixed, dy1_fixed, dx2_fixed, dy2_fixed, dx3_fixed, dy3_fixed); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -1827,7 +1827,7 @@ cairo_stroke_to_path (cairo_t *cr) /* The code in _cairo_meta_surface_get_path has a poorman's stroke_to_path */ status = _cairo_gstate_stroke_path (cr->gstate); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } #endif @@ -1867,7 +1867,7 @@ cairo_close_path (cairo_t *cr) return; status = _cairo_path_fixed_close_path (cr->path); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def(cairo_close_path); @@ -1941,7 +1941,7 @@ cairo_paint (cairo_t *cr) return; status = _cairo_gstate_paint (cr->gstate); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_paint); @@ -1980,7 +1980,7 @@ cairo_paint_with_alpha (cairo_t *cr, _cairo_pattern_init_solid (&pattern, &color, CAIRO_CONTENT_ALPHA); status = _cairo_gstate_mask (cr->gstate, &pattern.base); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); _cairo_pattern_fini (&pattern.base); @@ -2016,7 +2016,7 @@ cairo_mask (cairo_t *cr, } status = _cairo_gstate_mask (cr->gstate, pattern); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_mask); @@ -2118,7 +2118,7 @@ cairo_stroke_preserve (cairo_t *cr) return; status = _cairo_gstate_stroke (cr->gstate, cr->path); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def(cairo_stroke_preserve); @@ -2161,7 +2161,7 @@ cairo_fill_preserve (cairo_t *cr) return; status = _cairo_gstate_fill (cr->gstate, cr->path); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def(cairo_fill_preserve); @@ -2187,7 +2187,7 @@ cairo_copy_page (cairo_t *cr) return; status = _cairo_gstate_copy_page (cr->gstate); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -2210,7 +2210,7 @@ cairo_show_page (cairo_t *cr) return; status = _cairo_gstate_show_page (cr->gstate); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -2244,7 +2244,7 @@ cairo_in_stroke (cairo_t *cr, double x, double y) status = _cairo_gstate_in_stroke (cr->gstate, cr->path, x, y, &inside); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); return inside; @@ -2332,7 +2332,7 @@ cairo_stroke_extents (cairo_t *cr, status = _cairo_gstate_stroke_extents (cr->gstate, cr->path, x1, y1, x2, y2); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -2383,7 +2383,7 @@ cairo_fill_extents (cairo_t *cr, status = _cairo_gstate_fill_extents (cr->gstate, cr->path, x1, y1, x2, y2); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -2448,7 +2448,7 @@ cairo_clip_preserve (cairo_t *cr) return; status = _cairo_gstate_clip (cr->gstate, cr->path); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def(cairo_clip_preserve); @@ -2478,7 +2478,7 @@ cairo_reset_clip (cairo_t *cr) return; status = _cairo_gstate_reset_clip (cr->gstate); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -2516,7 +2516,7 @@ cairo_clip_extents (cairo_t *cr, } status = _cairo_gstate_clip_extents (cr->gstate, x1, y1, x2, y2); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -2622,7 +2622,7 @@ cairo_select_font_face (cairo_t *cr, return; status = _cairo_gstate_select_font_face (cr->gstate, family, slant, weight); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -2650,7 +2650,7 @@ cairo_font_extents (cairo_t *cr, return; status = _cairo_gstate_get_font_extents (cr->gstate, extents); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -2673,7 +2673,7 @@ cairo_set_font_face (cairo_t *cr, return; status = _cairo_gstate_set_font_face (cr->gstate, font_face); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -2705,7 +2705,7 @@ cairo_get_font_face (cairo_t *cr) return (cairo_font_face_t*) &_cairo_font_face_nil; status = _cairo_gstate_get_font_face (cr->gstate, &font_face); - if (status) { + if (unlikely (status)) { _cairo_set_error (cr, status); return (cairo_font_face_t*) &_cairo_font_face_nil; } @@ -2737,7 +2737,7 @@ cairo_set_font_size (cairo_t *cr, double size) return; status = _cairo_gstate_set_font_size (cr->gstate, size); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } slim_hidden_def (cairo_set_font_size); @@ -2765,7 +2765,7 @@ cairo_set_font_matrix (cairo_t *cr, return; status = _cairo_gstate_set_font_matrix (cr->gstate, matrix); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -2809,7 +2809,7 @@ cairo_set_font_options (cairo_t *cr, return; status = cairo_font_options_status ((cairo_font_options_t *) options); - if (status) { + if (unlikely (status)) { _cairo_set_error (cr, status); return; } @@ -2873,15 +2873,15 @@ cairo_set_scaled_font (cairo_t *cr, } status = scaled_font->status; - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_gstate_set_font_face (cr->gstate, scaled_font->font_face); - if (status) + if (unlikely (status)) goto BAIL; status = _cairo_gstate_set_font_matrix (cr->gstate, &scaled_font->font_matrix); - if (status) + if (unlikely (status)) goto BAIL; _cairo_gstate_set_font_options (cr->gstate, &scaled_font->options); @@ -2922,7 +2922,7 @@ cairo_get_scaled_font (cairo_t *cr) return _cairo_scaled_font_create_in_error (cr->status); status = _cairo_gstate_get_scaled_font (cr->gstate, &scaled_font); - if (status) { + if (unlikely (status)) { _cairo_set_error (cr, status); return _cairo_scaled_font_create_in_error (status); } @@ -2988,7 +2988,7 @@ cairo_text_extents (cairo_t *cr, extents); cairo_glyph_free (glyphs); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -3043,7 +3043,7 @@ cairo_glyph_extents (cairo_t *cr, status = _cairo_gstate_glyph_extents (cr->gstate, glyphs, num_glyphs, extents); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -3113,7 +3113,7 @@ cairo_show_text (cairo_t *cr, const char *utf8) &glyphs, &num_glyphs, has_show_text_glyphs ? &clusters : NULL, &num_clusters, &cluster_flags); - if (status) + if (unlikely (status)) goto BAIL; if (num_glyphs == 0) @@ -3124,14 +3124,14 @@ cairo_show_text (cairo_t *cr, const char *utf8) glyphs, num_glyphs, clusters, num_clusters, cluster_flags); - if (status) + if (unlikely (status)) goto BAIL; last_glyph = &glyphs[num_glyphs - 1]; status = _cairo_gstate_glyph_extents (cr->gstate, last_glyph, 1, &extents); - if (status) + if (unlikely (status)) goto BAIL; x = last_glyph->x + extents.x_advance; @@ -3144,7 +3144,7 @@ cairo_show_text (cairo_t *cr, const char *utf8) if (clusters != stack_clusters) cairo_text_cluster_free (clusters); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -3184,7 +3184,7 @@ cairo_show_glyphs (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs) glyphs, num_glyphs, NULL, 0, FALSE); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -3287,7 +3287,7 @@ cairo_show_text_glyphs (cairo_t *cr, utf8, utf8_len, glyphs, num_glyphs, clusters, num_clusters, cluster_flags); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -3339,7 +3339,7 @@ cairo_text_path (cairo_t *cr, const char *utf8) NULL, NULL, NULL); - if (status) + if (unlikely (status)) goto BAIL; if (num_glyphs == 0) @@ -3349,7 +3349,7 @@ cairo_text_path (cairo_t *cr, const char *utf8) glyphs, num_glyphs, cr->path); - if (status) + if (unlikely (status)) goto BAIL; last_glyph = &glyphs[num_glyphs - 1]; @@ -3357,7 +3357,7 @@ cairo_text_path (cairo_t *cr, const char *utf8) last_glyph, 1, &extents); - if (status) + if (unlikely (status)) goto BAIL; x = last_glyph->x + extents.x_advance; @@ -3367,7 +3367,7 @@ cairo_text_path (cairo_t *cr, const char *utf8) BAIL: cairo_glyph_free (glyphs); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -3405,7 +3405,7 @@ cairo_glyph_path (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs) status = _cairo_gstate_glyph_path (cr->gstate, glyphs, num_glyphs, cr->path); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } @@ -3825,7 +3825,7 @@ cairo_append_path (cairo_t *cr, } status = _cairo_path_append_to_context (path, cr); - if (status) + if (unlikely (status)) _cairo_set_error (cr, status); } |