Subject: [Ffc] New patch fixing bug in adaptive pydolfin

From: Johan Hake <[email-masked]>
Date: Tue, 17 Aug 2010 08:44:49 -0700

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [email-masked]
# target_branch: bzr+ssh://bazaar.launchpad.net/~ffc-core/ffc/main/
# testament_sha1: 13da0d569a1185a940b900e2f36301f011b8f12f
# timestamp: 2010-08-17 08:42:45 -0700
# base_revision_id: [email-masked]
# 
# Begin patch
=== modified file 'ffc/jitcompiler.py'
--- ffc/jitcompiler.py	2010-08-17 03:10:45 +0000
+++ ffc/jitcompiler.py	2010-08-17 15:41:20 +0000
@@ -85,13 +85,15 @@
         preprocessed_form = form
 
     # Second check memory cache
-    elif _memory_cache.has_key(id(form)):
-        preprocessed_form = _memory_cache[id(form)]
+    # Check both for memory id and repr. The last because some algorithm
+    # might have changed the form, while keeping its id.
+    elif _memory_cache.has_key((id(form), repr(form))):
+        preprocessed_form = _memory_cache[(id(form), repr(form))]
 
     # Else preprocess form and store in memory cache
     else:
         preprocessed_form = preprocess(form, common_cell=common_cell)
-        _memory_cache[id(form)] = preprocessed_form
+        _memory_cache[(id(form), repr(form))] = preprocessed_form
 
         # For each 10th time the refcount of the cached form are checked
         # and superflous forms are poped

# Begin bundle

---

From: Anders Logg <[email-masked]>
Date: Tue, 17 Aug 2010 18:26:51 +0200

Applied, thanks.

--
Anders

On Tue, Aug 17, 2010 at 08:44:49AM -0700, Johan Hake wrote:

> IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWUceUOMAAaFfgEQQWGf/91tQ
> BAq////wUAPN3m9odvKC9dASSTRqZKfppkMCaap6ntCnoj1GmQaGgSkUxowlPymNTSbU0AHqAAA0
> BkjQk09CaJsoyYAjJoHqNMTAGmkUbUyGRoNNAAGgANAASSBGTVPQKe1T8VPAp6h6IYgGgNIkU3HL
> y8/QsssaPZXgy2Sa0HywlkfhpjifSknIdt8cGEQbrDxV8qMnDmtGVJ6L1WGN/70dFksp/rOruSb1
> Y51EGQDp3iQ/6ilUw6kcwPBVBpNU3JaeCTJ3popQaRRqpAk050uw9rIYWx3YdLh4jpXT0Mc9/cER
> T12vP0kXgn2mqlscIJVu8BP2QEPXIZzCGY7QzHg/qbY6kFR5iv1MxFo2yIBXsWYsjFpSUZXAhdkg
> FQr8rVEVpgJSVtYy/yIpg24TvHEUmIZ5ZQngsgPMycqRLVkwi/LREuM9V5bLaWaWBsizJY1GYucE
> mL8ZjTxE6sxpPZL7CMxT0ytEuLoyCduyw1i9brQ3AxyGQQdocJxCQS+vhwyL4C7KqFhUokQLJOur
> jUjCPGEJaoBtUIyuaNWmoSLy+RJtyxCnRLEtdQ9bpAojiX2PQs071ClSoY8Ym1tYn4JzaZsS5wpl
> 9lKC6nrDFQvFocBRcd8JIkdJaukLLz0X0QNfKETwMwKSo2nVXF/ZHvYLD6v7pEDebtARDC7HmYqz
> ziKbw6u0YlHYLUj1oSKfGTdtj0SOM50OM9Koi0c+nMj5RXDyq24I0+isbWLllFxRC/VO6/fD+qKG
> n21xfgwxlIBoaLukacfgekI2Tc4YNnHAgQxJJpJ1YKJb70nZxvSJ5GRLVw7tnx4sMbGjSGintY0n
> 35zUyFrpSWAOy3u4vKygs1XV06HNV8L7acGPyx52Iq6F6ZRsKyy+6uffpqGgkShBVPk2nezVLuyO
> hiQ4Ys5jvynP1lzybqN6CZQPjHQhiX1SOF2Hg3AJg8ikZ1PaQo8Gm9meEP5/k/58C0MnmZX7i5N3
> wTSWTGeCRj2GOsCY6hrfPdufvDsH3XooaP9LX5C48jxOCwBUyR7EjcGgqFXhKIrGpTqfTgQgaCRk
> JDDBqSiY1RDb7+InIkgF1AvEjpOiYCYnEgD2HHKSHsmXHsXngkbWIh4xJcwjVAmKJpIKOGyEoGVw
> laMlGBtBYqUigPTqHTJYAkDCYVKbaLBpre0QlJFQkXbnlmdolI1vdCHgDATkeTnZzs0PKrTXMGtX
> Wc1RnWoqQpw7bjvCL+RIi6tDnRxG1/GpMKBIg5Ovw4SkG4VOAONaRqCFyeF6rrKEFRYuYci0kQ/4
> u5IpwoSCOPKHGA==

> _______________________________________________
> Mailing list: https://launchpad.net/~ffc
> Post to     : [email-masked]
> Unsubscribe : https://launchpad.net/~ffc
> More help   : https://help.launchpad.net/ListHelp

---

From: Anders Logg <[email-masked]>
Date: Tue, 17 Aug 2010 18:28:22 +0200

> Applied, thanks.

Twice! :-)

--
Anders