This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients Philipp.Mölders, Ramchandra Apte, pitrou, r.david.murray, serhiy.storchaka
Date 2013-02-17.22:27:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1361140053.47.0.872513736116.issue12596@psf.upfronthosting.co.za>
In-reply-to
Content
Here is a minimal reproducer. Results:

pickle.dumps('spam', 2)
    0: \x80 PROTO      2
    2: U    SHORT_BINSTRING 'spam'
    8: q    BINPUT     0
   10: .    STOP
highest protocol among opcodes = 2

pickle.dumps('spam1'[:-1], 2)
    0: \x80 PROTO      2
    2: U    SHORT_BINSTRING 'spam'
    8: q    BINPUT     0
   10: .    STOP
highest protocol among opcodes = 2

cPickle.dumps('spam', 2)
    0: \x80 PROTO      2
    2: U    SHORT_BINSTRING 'spam'
    8: q    BINPUT     1
   10: .    STOP
highest protocol among opcodes = 2

cPickle.dumps('spam1'[:-1], 2)
    0: \x80 PROTO      2
    2: U    SHORT_BINSTRING 'spam'
    8: .    STOP
highest protocol among opcodes = 2

The difference between 3rd and 4th examples is "BINPUT 1". In the last case the string has refcount=1 and BINPUT doesn't emitted due to optimization. Note that Python implementation emits BINPUT with different number.
History
Date User Action Args
2013-02-17 22:27:33serhiy.storchakasetrecipients: + serhiy.storchaka, pitrou, r.david.murray, Philipp.Mölders, Ramchandra Apte
2013-02-17 22:27:33serhiy.storchakasetmessageid: <1361140053.47.0.872513736116.issue12596@psf.upfronthosting.co.za>
2013-02-17 22:27:33serhiy.storchakalinkissue12596 messages
2013-02-17 22:27:33serhiy.storchakacreate