From a394a86151fda092567ad9833720de1d9b56235b Mon Sep 17 00:00:00 2001 From: =?utf8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?= =?utf8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= Date: Sat, 9 Jun 2018 14:05:49 +0000 Subject: [PATCH] Use aligned allocators for GskRenderNode Any data that is later fed to graphene must be allocated with proper alignment, if graphene uses SSE2 or GCC vector instructions. --- gsk/gskrendernode.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gsk/gskrendernode.c b/gsk/gskrendernode.c index 343fd4b8ce..3b3c71a713 100644 --- a/gsk/gskrendernode.c +++ b/gsk/gskrendernode.c @@ -42,6 +42,7 @@ #include "gskdebugprivate.h" #include "gskrendererprivate.h" +#include "gskallocprivate.h" #include @@ -66,7 +67,7 @@ gsk_render_node_finalize (GskRenderNode *self) { self->node_class->finalize (self); - g_free (self); + gsk_aligned_free (self); } /*< private > @@ -83,7 +84,7 @@ gsk_render_node_new (const GskRenderNodeClass *node_class, gsize extra_size) g_return_val_if_fail (node_class != NULL, NULL); g_return_val_if_fail (node_class->node_type != GSK_NOT_A_RENDER_NODE, NULL); - self = g_malloc0 (node_class->struct_size + extra_size); + self = gsk_aligned_alloc0 (node_class->struct_size + extra_size, 1, 16); self->node_class = node_class; -- 2.30.2