public void addMethod(final SootMethod soot_method) { SootClass soot_class = soot_method.getDeclaringClass(); OpenCLClass ocl_class = getOpenCLClass(soot_class); ocl_class.addMethod(new OpenCLMethod(soot_method, soot_class)); // add the method m_methodHierarchies.addMethod(soot_method); m_methods.add(soot_method); }
private void cloneRefType(StringBuilder ret, String key, OpenCLClass ocl_class) { SootClass soot_class = Scene.v().getSootClass(key); String address_qual = Tweaks.v().getGlobalAddressSpaceQualifier(); int type = RootbeerClassLoader.v().getDfsInfo().getClassNumber(soot_class); ret.append(" else if(type == " + type + "){\n"); ret.append(" int size = " + ocl_class.getSize() + ";\n"); ret.append(" long long new_ref = edu_syr_pcpratts_gc_malloc(gc_info, size);\n"); ret.append(" if(new_ref == -1){\n"); ret.append(" *exception = -1;\n"); ret.append(" return -1;\n"); ret.append(" }\n"); ret.append( " " + address_qual + " char * dest_deref = edu_syr_pcpratts_gc_deref(gc_info, new_ref);\n"); ret.append(" edu_syr_pcpratts_gc_memcpy(dest_deref, src_deref, size);\n"); ret.append(" edu_syr_pcpratts_gc_set_ctor_used(dest_deref, 1);\n"); ret.append(" return new_ref;\n"); ret.append(" }\n"); }
private String getRuntimeBasicBlockClassName() { SootClass soot_class = m_rootSootClass; OpenCLClass ocl_class = getOpenCLClass(soot_class); return ocl_class.getName(); }