Only unwrap the object once when finalizing.

Previously, we had 'value' and 'this' locals, both storing a pointer to the
DOM object, for no good reason.
This commit is contained in:
Ms2ger 2015-02-22 16:32:33 +01:00
parent a5f52bf086
commit c12b4029aa

View file

@ -4040,10 +4040,9 @@ let this: *const %s = unwrap::<%s>(obj);
def finalizeHook(descriptor, hookName, context):
release = """\
let value = unwrap::<%s>(obj);
let _ = Box::from_raw(value as *mut %s);
let _ = Box::from_raw(this as *mut %s);
debug!("%s finalize: {:p}", this);\
""" % (descriptor.concreteType, descriptor.concreteType, descriptor.concreteType)
""" % (descriptor.concreteType, descriptor.concreteType)
return release
class CGClassTraceHook(CGAbstractClassHook):