mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
alignment: set alignment on structs
This uses an alternate idea for setting the structure alignments. Lets see if this silents the ARM builder cast alignment issues. GSlice (which is what is used for GObjects) guarantees a 2-pointer size allocation, which means we can be ensured that the alignment is at least 8 bytes.
This commit is contained in:
@ -34,7 +34,7 @@ struct _SpVisualizerTicks
|
||||
gint64 epoch;
|
||||
gint64 begin_time;
|
||||
gint64 end_time;
|
||||
} __attribute__((aligned(8)));
|
||||
};
|
||||
|
||||
enum {
|
||||
TICK_MINUTES,
|
||||
|
||||
@ -25,6 +25,8 @@ G_BEGIN_DECLS
|
||||
|
||||
#define SP_TYPE_VISUALIZER_TICKS (sp_visualizer_ticks_get_type())
|
||||
|
||||
typedef struct _SpVisualizerTicks SpVisualizerTicks __attribute__((aligned(8)));
|
||||
|
||||
G_DECLARE_FINAL_TYPE (SpVisualizerTicks, sp_visualizer_ticks, SP, VISUALIZER_TICKS, GtkDrawingArea)
|
||||
|
||||
GtkWidget *sp_visualizer_ticks_new (void);
|
||||
|
||||
@ -32,7 +32,7 @@ struct _SpZoomManager
|
||||
gdouble min_zoom;
|
||||
gdouble max_zoom;
|
||||
gdouble zoom;
|
||||
} __attribute__((aligned(8)));
|
||||
};
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
@ -108,7 +108,7 @@ sp_zoom_manager_get_property (GObject *object,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
SpZoomManager *self = (SpZoomManager *)object;
|
||||
SpZoomManager *self = SP_ZOOM_MANAGER (object);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
@ -143,7 +143,7 @@ sp_zoom_manager_set_property (GObject *object,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
SpZoomManager *self = (SpZoomManager *)object;
|
||||
SpZoomManager *self = SP_ZOOM_MANAGER (object);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
|
||||
@ -25,6 +25,8 @@ G_BEGIN_DECLS
|
||||
|
||||
#define SP_TYPE_ZOOM_MANAGER (sp_zoom_manager_get_type())
|
||||
|
||||
typedef struct _SpZoomManager SpZoomManager __attribute__((aligned(8)));
|
||||
|
||||
G_DECLARE_FINAL_TYPE (SpZoomManager, sp_zoom_manager, SP, ZOOM_MANAGER, GObject)
|
||||
|
||||
SpZoomManager *sp_zoom_manager_new (void);
|
||||
|
||||
Reference in New Issue
Block a user