diff options
author | Ms2ger <ms2ger@gmail.com> | 2015-02-22 16:32:33 +0100 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2015-02-22 16:32:36 +0100 |
commit | c12b4029aa7df8748c097ebae71c654212fed72d (patch) | |
tree | 1e5eceec981ac876d0f710d70e026a0ad526b171 /components/script | |
parent | a5f52bf086fcb4ec4c3d22917b928ebd0997ff84 (diff) | |
download | servo-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.
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 5 |
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): |