deleteStructSig(str);
} else if (type == pointerType) {
ApiPointer apiPtr = var.value<ApiPointer>();
- //writer.beginArray(1);
- //writer.beginElement();
- writer.writeOpaque((const void*)apiPtr.value());
- //writer.endElement();
- //writer.endArray();
+ writer.writePointer(apiPtr.value());
} else if (type == enumType) {
ApiEnum apiEnum = var.value<ApiEnum>();
trace::EnumSig *sig = createEnumSig(apiEnum, ++id);
print ' }'
def visitIntPointer(self, pointer, instance):
- print ' trace::localWriter.writeOpaque((const void *)%s);' % instance
+ print ' trace::localWriter.writePointer((uintptr_t)%s);' % instance
def visitObjPointer(self, pointer, instance):
- print ' trace::localWriter.writeOpaque((const void *)%s);' % instance
+ print ' trace::localWriter.writePointer((uintptr_t)%s);' % instance
def visitLinearPointer(self, pointer, instance):
- print ' trace::localWriter.writeOpaque((const void *)%s);' % instance
+ print ' trace::localWriter.writePointer((uintptr_t)%s);' % instance
def visitReference(self, reference, instance):
self.visit(reference.type, instance)
self.visit(alias.type, instance)
def visitOpaque(self, opaque, instance):
- print ' trace::localWriter.writeOpaque((const void *)%s);' % instance
+ print ' trace::localWriter.writePointer((uintptr_t)%s);' % instance
def visitInterface(self, interface, instance):
- print ' trace::localWriter.writeOpaque((const void *)&%s);' % instance
+ assert False
def visitPolymorphic(self, polymorphic, instance):
print ' _write__%s(%s, %s);' % (polymorphic.tag, polymorphic.switchExpr, instance)
print ' static const trace::FunctionSig __sig = {%u, "%s", %u, __args};' % (method.id, interface.name + '::' + method.name, len(method.args) + 1)
print ' unsigned __call = trace::localWriter.beginEnter(&__sig);'
print ' trace::localWriter.beginArg(0);'
- print ' trace::localWriter.writeOpaque((const void *)m_pInstance);'
+ print ' trace::localWriter.writePointer((uintptr_t)m_pInstance);'
print ' trace::localWriter.endArg();'
for arg in method.args:
if not arg.output:
def emit_memcpy(self, dest, src, length):
print ' unsigned __call = trace::localWriter.beginEnter(&trace::memcpy_sig);'
print ' trace::localWriter.beginArg(0);'
- print ' trace::localWriter.writeOpaque(%s);' % dest
+ print ' trace::localWriter.writePointer((uintptr_t)%s);' % dest
print ' trace::localWriter.endArg();'
print ' trace::localWriter.beginArg(1);'
print ' trace::localWriter.writeBlob(%s, %s);' % (src, length)