Changeset: 6dd120b9153e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6dd120b9153e
Modified Files:
        monetdb5/extras/bwd/bwd.c
        monetdb5/extras/bwd/cl_program_utilities.c
        monetdb5/extras/bwd/operations.c
        monetdb5/extras/bwd/optimizer.c
        monetdb5/extras/bwd/pusher.c
        monetdb5/extras/bwd/utilities.c
Branch: bwd
Log Message:

* using malloc instead of alloca to make the (super bitchy) monetdb build 
system happy


Unterschiede (113 Zeilen):

diff --git a/monetdb5/extras/bwd/bwd.c b/monetdb5/extras/bwd/bwd.c
--- a/monetdb5/extras/bwd/bwd.c
+++ b/monetdb5/extras/bwd/bwd.c
@@ -81,7 +81,7 @@ str deviceInfo(bat * resPlatform, bat * 
                                {
                                        size_t platformVersionBufferSize;
                                        clGetPlatformInfo(platforms[i], 
CL_PLATFORM_VERSION, 0, NULL, &platformVersionBufferSize);
-                                       platformVersionBuffer = 
alloca(platformVersionBufferSize);
+                                       platformVersionBuffer = 
malloc(platformVersionBufferSize);
                                        clGetPlatformInfo(platforms[i], 
CL_PLATFORM_VERSION, platformVersionBufferSize, platformVersionBuffer, NULL);
                                }
 
@@ -89,6 +89,7 @@ str deviceInfo(bat * resPlatform, bat * 
                                BUNappend(resultDevice, &j, FALSE);
                                BUNappend(resultDesc, deviceNameBuffer, 0);
                                BUNappend(resultPlatformDescription, 
platformVersionBuffer, 0);
+                               free(platformVersionBuffer);
                        }
                }
 
diff --git a/monetdb5/extras/bwd/cl_program_utilities.c 
b/monetdb5/extras/bwd/cl_program_utilities.c
--- a/monetdb5/extras/bwd/cl_program_utilities.c
+++ b/monetdb5/extras/bwd/cl_program_utilities.c
@@ -44,8 +44,9 @@ cl_program compileProgram(const char* so
 
                printf("#%s, clBuildProgram: %s;\n", __func__, clError(err));
                clGetProgramBuildInfo(program, getDeviceID(), 
CL_PROGRAM_BUILD_LOG, 0, NULL, &bufferSize);
-               clGetProgramBuildInfo(program, getDeviceID(), 
CL_PROGRAM_BUILD_LOG, bufferSize, (buffer = alloca(bufferSize)), NULL);
+               clGetProgramBuildInfo(program, getDeviceID(), 
CL_PROGRAM_BUILD_LOG, bufferSize, (buffer = malloc(bufferSize)), NULL);
                printf("#%s, clBuildProgram log: %s;\n", __func__, buffer);
+               free(buffer);
        }
        /* clock_gettime(CLOCK_THREAD_CPUTIME_ID, &after); */
        /* printf ("compilation took %ld 
nanoseconds\n",(after.tv_sec*1000000000+after.tv_nsec)-(before.tv_sec*1000000000+before.tv_nsec));
 */
diff --git a/monetdb5/extras/bwd/operations.c b/monetdb5/extras/bwd/operations.c
--- a/monetdb5/extras/bwd/operations.c
+++ b/monetdb5/extras/bwd/operations.c
@@ -273,7 +273,7 @@ str BWDLeftJoinRefine(bat * res, bat * l
        } else {
                BAT* left = BATdescriptor(*l);
                BAT* right = BATdescriptor(*r);
-               BAT* refinement;
+               BAT* refinement = NULL;
                BAT* approximation = BATdescriptor(*approx);
                const size_t approximationBits = 
batTailApproximationBits(right);
                const size_t offsetBits = batTailOffsetBits(right);
diff --git a/monetdb5/extras/bwd/optimizer.c b/monetdb5/extras/bwd/optimizer.c
--- a/monetdb5/extras/bwd/optimizer.c
+++ b/monetdb5/extras/bwd/optimizer.c
@@ -23,10 +23,10 @@ static inline const char* deoperatify(ch
 
 static inline int OPTBWDImplementation(Client client, MalBlkPtr malBlock, 
MalStkPtr stack, InstrPtr instruction){
        int actions = 0;
-       InstrPtr* oldProgram = malBlock->stmt;
        size_t instructionCount = malBlock->stop;
        size_t initialNumberOfVariables = malBlock->vtop;
-       int* approximations = alloca(initialNumberOfVariables*sizeof(int));
+       int* approximations = malloc(initialNumberOfVariables*sizeof(int));
+       InstrPtr* oldProgram = malBlock->stmt;
        uint i;
        for (i = 0; i < initialNumberOfVariables; ++i) 
     approximations[i] = 0;
@@ -140,6 +140,7 @@ static inline int OPTBWDImplementation(C
                        
        }
        printf ("rewriting plan for bwd\n");
+       free(approximations);
        return actions;
 }
 
diff --git a/monetdb5/extras/bwd/pusher.c b/monetdb5/extras/bwd/pusher.c
--- a/monetdb5/extras/bwd/pusher.c
+++ b/monetdb5/extras/bwd/pusher.c
@@ -19,7 +19,7 @@ static inline int OPTBWDPusherImplementa
 
        const size_t instructionCount = malBlock->stop;
        char* pushedInstructionCursors = malloc(sizeof(char)*instructionCount);
-       unsigned int* mapping = alloca(sizeof(unsigned int)*malBlock->vsize);
+       unsigned int* mapping = malloc(sizeof(unsigned int)*malBlock->vsize);
        for (i = 0; i < (uint) malBlock->vsize; ++i) 
     mapping[i] = i;
        for (i = 0; i < instructionCount; ++i) 
@@ -37,7 +37,7 @@ static inline int OPTBWDPusherImplementa
        {
                uint firstUselectStatement = i;
                int filterPathTop = getDestVar(oldProgram[i]);
-               int selectionAttribute;
+               int selectionAttribute = 0;
                int* variableProducers = 
malloc(sizeof(InstrPtr)*malBlock->vsize);
                
                {
@@ -104,7 +104,8 @@ static inline int OPTBWDPusherImplementa
                }
                i++;
        }
-               
+
+       free(mapping);
        
        return actions;
 }
diff --git a/monetdb5/extras/bwd/utilities.c b/monetdb5/extras/bwd/utilities.c
--- a/monetdb5/extras/bwd/utilities.c
+++ b/monetdb5/extras/bwd/utilities.c
@@ -357,7 +357,7 @@ unsigned int decomposeIntArray(const int
                
                
        
-       printf ("using %s for approximation and %s for residuals \n", 
humanreadablesize(approximationSize, alloca(64), 64), 
humanreadablesize(ceil(size*residualBits/8.0) + 8, alloca(64), 64));
+       printf ("using %s for approximation and %s for residuals \n", 
humanreadablesize(approximationSize, (char[64]){}, 64), 
humanreadablesize(ceil(size*residualBits/8.0) + 8, (char[64]){}, 64));
        slot->residuals = calloc(ceil(size*residualBits/8.0) + 8, sizeof(char));
        approximation->base = subjectBounds.min;
        slot->tailOffsetValue = approximation->base;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to