From d70ee633e3cd9112064cb1258108fc66b54b42f4 Mon Sep 17 00:00:00 2001 From: log2 <logtwo2@gmail.com> Date: Sat, 15 Nov 2014 18:45:41 +0100 Subject: [PATCH] Fixed references to the wrong Local/Constant annotations (we were mistakenly pointing at OpenCL.Local and OpenCL.Constant, aimed at parameters, rather than Kernel.Local and Kernel.Constant, aimed at fields) --- .../aparapi/internal/writer/KernelWriter.java | 42 +++++++++---------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/com.amd.aparapi/src/java/com/amd/aparapi/internal/writer/KernelWriter.java b/com.amd.aparapi/src/java/com/amd/aparapi/internal/writer/KernelWriter.java index 613b091f..40929ff1 100644 --- a/com.amd.aparapi/src/java/com/amd/aparapi/internal/writer/KernelWriter.java +++ b/com.amd.aparapi/src/java/com/amd/aparapi/internal/writer/KernelWriter.java @@ -47,9 +47,6 @@ import com.amd.aparapi.internal.model.ClassModel.AttributePool.*; import com.amd.aparapi.internal.model.ClassModel.AttributePool.RuntimeAnnotationsEntry.*; import com.amd.aparapi.internal.model.ClassModel.*; import com.amd.aparapi.internal.model.ClassModel.ConstantPool.*; -import com.amd.aparapi.opencl.OpenCL.Constant; -import com.amd.aparapi.opencl.OpenCL.*; - import java.util.*; public abstract class KernelWriter extends BlockWriter{ @@ -199,14 +196,15 @@ public abstract class KernelWriter extends BlockWriter{ getterField = m.getAccessorVariableFieldEntry(); } if (getterField != null) { - String fieldName = getterField.getNameAndTypeEntry().getNameUTF8Entry().getUTF8(); - write("this->"); - write(fieldName); - return; + String fieldName = getterField.getNameAndTypeEntry().getNameUTF8Entry().getUTF8(); + write("this->"); + write(fieldName); + return; } - boolean noCL = _methodEntry.getOwnerClassModel().getNoCLMethods().contains(_methodEntry.getNameAndTypeEntry().getNameUTF8Entry().getUTF8()); + boolean noCL = _methodEntry.getOwnerClassModel().getNoCLMethods() + .contains(_methodEntry.getNameAndTypeEntry().getNameUTF8Entry().getUTF8()); if (noCL) { - return; + return; } final String intrinsicMapping = Kernel.getMappedMethodName(_methodEntry); // System.out.println("getMappedMethodName for " + methodName + " returned " + mapping); @@ -273,9 +271,10 @@ public abstract class KernelWriter extends BlockWriter{ public final static String __private = "__private"; - public final static String LOCAL_ANNOTATION_NAME = "L" + Local.class.getName().replace('.', '/') + ";"; + public final static String LOCAL_ANNOTATION_NAME = "L" + com.amd.aparapi.Kernel.Local.class.getName().replace('.', '/') + ";"; - public final static String CONSTANT_ANNOTATION_NAME = "L" + Constant.class.getName().replace('.', '/') + ";"; + public final static String CONSTANT_ANNOTATION_NAME = "L" + com.amd.aparapi.Kernel.Constant.class.getName().replace('.', '/') + + ";"; @Override public void write(Entrypoint _entryPoint) throws CodeGenException { final List<String> thisStruct = new ArrayList<String>(); @@ -307,8 +306,8 @@ public abstract class KernelWriter extends BlockWriter{ throw new CodeGenException(e); } - if (privateMemorySize != null) { - type = __private; + if (privateMemorySize != null) { + type = __private; } final RuntimeAnnotationsEntry visibleAnnotations = field.getAttributePool().getRuntimeVisibleAnnotationsEntry(); @@ -328,7 +327,7 @@ public abstract class KernelWriter extends BlockWriter{ //if we have a an array we want to mark the object as a pointer //if we have a multiple dimensional array we want to remember the number of dimensions while (signature.startsWith("[")) { - if(isPointer == false) { + if (isPointer == false) { argLine.append(argType + " "); thisStructLine.append(type + " "); } @@ -382,10 +381,9 @@ public abstract class KernelWriter extends BlockWriter{ // Add int field into "this" struct for supporting java arraylength op // named like foo__javaArrayLength - if (isPointer && _entryPoint.getArrayFieldArrayLengthUsed().contains(field.getName()) || - isPointer && numDimensions > 1) { - - for(int i = 0; i < numDimensions; i++) { + if (isPointer && _entryPoint.getArrayFieldArrayLengthUsed().contains(field.getName()) || isPointer && numDimensions > 1) { + + for (int i = 0; i < numDimensions; i++) { final StringBuilder lenStructLine = new StringBuilder(); final StringBuilder lenArgLine = new StringBuilder(); final StringBuilder lenAssignLine = new StringBuilder(); @@ -393,8 +391,7 @@ public abstract class KernelWriter extends BlockWriter{ final StringBuilder dimArgLine = new StringBuilder(); final StringBuilder dimAssignLine = new StringBuilder(); - String lenName = field.getName() + BlockWriter.arrayLengthMangleSuffix + - Integer.toString(i); + String lenName = field.getName() + BlockWriter.arrayLengthMangleSuffix + Integer.toString(i); lenStructLine.append("int " + lenName); @@ -409,8 +406,7 @@ public abstract class KernelWriter extends BlockWriter{ argLines.add(lenArgLine.toString()); thisStruct.add(lenStructLine.toString()); - String dimName = field.getName() + BlockWriter.arrayDimMangleSuffix + - Integer.toString(i); + String dimName = field.getName() + BlockWriter.arrayDimMangleSuffix + Integer.toString(i); dimStructLine.append("int " + dimName); @@ -704,7 +700,7 @@ public abstract class KernelWriter extends BlockWriter{ throw codeGenException; }/* catch (final Throwable t) { throw new CodeGenException(t); - }*/ + }*/ return (openCLStringBuilder.toString()); } -- GitLab