aboutsummaryrefslogtreecommitdiffstats
path: root/main/cairo/musl-stacksize.patch
blob: d10469e170e8c09c2218d5779e354b2196dc4081 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Reduce the footprint of stack frame usage by turning
some large(r) structures as `static __thread` instead.

--- a/src/cairo-rectangular-scan-converter.c	2015-10-27 22:04:21.000000000 +0100
+++ b/src/cairo-rectangular-scan-converter.c	2016-05-07 04:25:26.640851782 +0200
@@ -489,7 +489,7 @@
 	  cairo_span_renderer_t	*renderer,
 	  rectangle_t **rectangles)
 {
-    sweep_line_t sweep_line;
+    static __thread sweep_line_t sweep_line;
     rectangle_t *start, *stop;
     cairo_status_t status;
 
@@ -656,7 +656,7 @@
 					    cairo_span_renderer_t	*renderer)
 {
     cairo_rectangular_scan_converter_t *self = converter;
-    rectangle_t *rectangles_stack[CAIRO_STACK_ARRAY_LENGTH (rectangle_t *)];
+    static __thread rectangle_t *rectangles_stack[CAIRO_STACK_ARRAY_LENGTH (rectangle_t *)];
     rectangle_t **rectangles;
     struct _cairo_rectangular_scan_converter_chunk *chunk;
     cairo_status_t status;