aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2015-02-22 16:32:33 +0100
committerMs2ger <ms2ger@gmail.com>2015-02-22 16:32:36 +0100
commitc12b4029aa7df8748c097ebae71c654212fed72d (patch)
tree1e5eceec981ac876d0f710d70e026a0ad526b171
parenta5f52bf086fcb4ec4c3d22917b928ebd0997ff84 (diff)
downloadservo-c12b4029aa7df8748c097ebae71c654212fed72d.tar.gz
servo-c12b4029aa7df8748c097ebae71c654212fed72d.zip
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.
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index 29a81f771af..a3f9b6fd1d5 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -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):