summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2008-11-18 15:38:37 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2008-11-29 11:20:33 +0000
commitd1801c23fae3777c7c59e084894a3410f7a1f932 (patch)
tree263906b86120ed712a9e02590871734d3bc888a8 /src
parentf0804d4856496a46d0b2270d5815856bf63b4cf8 (diff)
Mark if(status) as being unlikely.
The error paths should be hit very rarely during normal operation, so mark them as being unlikely so gcc may emit better code.
Diffstat (limited to 'src')
-rw-r--r--src/cairo-analysis-surface.c24
-rw-r--r--src/cairo-array.c6
-rw-r--r--src/cairo-cache.c4
-rw-r--r--src/cairo-cff-subset.c208
-rw-r--r--src/cairo-clip.c23
-rw-r--r--src/cairo-font-face.c14
-rw-r--r--src/cairo-ft-font.c44
-rw-r--r--src/cairo-gstate.c66
-rw-r--r--src/cairo-image-surface.c16
-rw-r--r--src/cairo-lzw.c4
-rw-r--r--src/cairo-meta-surface.c42
-rw-r--r--src/cairo-misc.c6
-rw-r--r--src/cairo-output-stream.c2
-rw-r--r--src/cairo-paginated-surface.c38
-rw-r--r--src/cairo-path-fill.c6
-rw-r--r--src/cairo-path-fixed.c14
-rw-r--r--src/cairo-path-stroke.c56
-rw-r--r--src/cairo-path.c6
-rw-r--r--src/cairo-pattern.c34
-rw-r--r--src/cairo-pdf-operators.c60
-rw-r--r--src/cairo-pdf-surface.c334
-rw-r--r--src/cairo-pen.c6
-rw-r--r--src/cairo-png.c14
-rw-r--r--src/cairo-ps-surface.c122
-rw-r--r--src/cairo-scaled-font-subsets.c30
-rw-r--r--src/cairo-scaled-font.c72
-rw-r--r--src/cairo-script-surface.c160
-rw-r--r--src/cairo-sdl-surface.c4
-rw-r--r--src/cairo-surface-fallback.c82
-rw-r--r--src/cairo-surface.c60
-rw-r--r--src/cairo-svg-surface.c84
-rw-r--r--src/cairo-traps.c12
-rw-r--r--src/cairo-truetype-subset.c98
-rw-r--r--src/cairo-type1-fallback.c44
-rw-r--r--src/cairo-type1-subset.c46
-rw-r--r--src/cairo-type3-glyph-surface.c10
-rw-r--r--src/cairo-user-font.c18
-rw-r--r--src/cairo-xlib-screen.c4
-rw-r--r--src/cairo-xlib-surface.c92
-rw-r--r--src/cairo.c138
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, &region);
-
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);
}