[prev in list] [next in list] [prev in thread] [next in thread] 

List:       monetdb-checkins
Subject:    MonetDB: default - MergeState: make sure tempstorage[ht] are ali...
From:       Fabian Groffen <fabian () cwi ! nl>
Date:       2012-03-30 13:51:04
Message-ID: hg.9cde8b75c924.1333115464.6315528441665844383 () monetdb2 ! cwi-incubator ! nl
[Download RAW message or body]

Changeset: 9cde8b75c924 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9cde8b75c924
Modified Files:
	gdk/gdk_ssort.mx
Branch: default
Log Message:

MergeState: make sure tempstorage[ht] are aligned as lngs

Jacqueline revealed a alignment problem in ssort with a lng BAT.  The
tempstorage fields were chars, and hence not aligned on 8-byte
boundaries.  Define both fields as lngs such that the compiler will make
sure they are properly aligned.


diffs (14 lines):

diff --git a/gdk/gdk_ssort.mx b/gdk/gdk_ssort.mx
--- a/gdk/gdk_ssort.mx
+++ b/gdk/gdk_ssort.mx
@@ -64,8 +64,8 @@ typedef struct {
 	   most 2 lng's, we don't need to allocate anything. */
 	void *th;
 	void *tt;
-	char tempstorageh[16];	/* 16 bytes should be wide enough ... */
-	char tempstoraget[16];	/* ... for all our fixed-sized data */
+	lng tempstorageh[2];	/* 16 bytes should be wide enough ... */
+	lng tempstoraget[2];	/* ... for all our fixed-sized data */
 
 	/* This controls when we get *into* galloping mode.  It's
 	   initialized to MIN_GALLOP.  merge_lo and merge_hi tend to
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic