tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1565Shell 203Rust 109Markdown 993728 Definitions

⎇ 5e4dd7ab9d9fe9dbddb0e532e85260b81f12d1f0 recipes/incoming-clib/musl-stacksize.patch 23 lines · 915 B History raw

Etapa G: siembra 24 libs C de toolkit en incoming-clib (zlib/freetype/fontconfig/harfbuzz/cairo/pango/glib/...) — llenador de horas + ladrillos GUI 031535823 · sergio ·

1Reduce the footprint of stack frame usage by turning
2some large(r) structures as `static __thread` instead.
3
4--- a/src/cairo-rectangular-scan-converter.c	2015-10-27 22:04:21.000000000 +0100
5+++ b/src/cairo-rectangular-scan-converter.c	2016-05-07 04:25:26.640851782 +0200
6@@ -489,7 +489,7 @@
7 	  cairo_span_renderer_t	*renderer,
8 	  rectangle_t **rectangles)
9 {
10-    sweep_line_t sweep_line;
11+    static __thread sweep_line_t sweep_line;
12     rectangle_t *start, *stop;
13     cairo_status_t status;
14 
15@@ -656,7 +656,7 @@
16 					    cairo_span_renderer_t	*renderer)
17 {
18     cairo_rectangular_scan_converter_t *self = converter;
19-    rectangle_t *rectangles_stack[CAIRO_STACK_ARRAY_LENGTH (rectangle_t *)];
20+    static __thread rectangle_t *rectangles_stack[CAIRO_STACK_ARRAY_LENGTH (rectangle_t *)];
21     rectangle_t **rectangles;
22     struct _cairo_rectangular_scan_converter_chunk *chunk;
23     cairo_status_t status;