开发者

psyco complains about unsupported opcode 54, what is it?

The Psyco log output look like this:

21:08:47.56  Logging started, 10/29/09                  %%%%%%%%%%%%%%%%%%%%
21:08:47.56  unsupported opcode 54 at create_l0:124                      % %
21:08:47.56  unsupported opcode 54 at create_lx:228                      % %

the lines in question

class File:
    def __init__(self, path, header):
        self.path = path
        self.header = header
        self.file = path + '/' + header.to_filename()
        self开发者_运维技巧.pfile = None

    def add_entry(self, entry):                        # line 124
        self.pfile.write(entry.to_binary())

    def open(self):
        self.pfile = open(self.file, 'wb')
        self.pfile.write(self.header.to_binary())

    def close(self):
        self.pfile.close()

    def write(self, data):
        self.pfile.write(data)

next one:

nat_file = File(target + '/' + name, nat_header)
nat_file.open()
# add first value
nat_file.add_entry(DataBlock(t, q, 0.0, 1, v))
# add all others
while True:
    try:
        t, v, q = f.next()
    except StopIteration:
        break
    nat_file.add_entry(DataBlock(t, q, 0.0, 1, v))
nat_file.close()                                     # line 228

I'm a bit at loss what the problem may be. Any ideas?


Finding the name of the opcode using the number is actually pretty easy (below uses Python 2.6.2 on Ubuntu, you may get different results):

>>> import dis
>>> dis.opname[54]
'STORE_MAP'

Of course, finding out what exactly this means is another question entirely. :-)


Did you compile with another Psyco version than you are running the script with?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜