← Back to team overview

ffc team mailing list archive

New patch fixing bug in adaptive pydolfin

 

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: hake.dev@xxxxxxxxx-20100817154120-qj9p39muqn57dabp
# 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: hake.dev@xxxxxxxxx-20100817031045-q3ruq4t6cv4va0b8
# 
# 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
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==

Follow ups