Mercurial > cpython-lru_cache-weakref
view Python/frozen.c @ 18065:889db6d55506 legacy-trunk
SF bug 430991: wrong co_lnotab
Armin Rigo pointed out that the way the line-# table got built didn't work
for lines generating more than 255 bytes of bytecode. Fixed as he
suggested, plus corresponding changes to pyassem.py, plus added some
long overdue docs about this subtle table to compile.c.
Bugfix candidate (line numbers may be off in tracebacks under -O).
| author | Tim Peters <tim.peters@gmail.com> |
|---|---|
| date | Sat, 09 Jun 2001 09:26:21 +0000 |
| parents | 6f6f965c5e2d |
| children | 1f3c1e831f21 |
line wrap: on
line source
/* Dummy frozen modules initializer */ #include "Python.h" /* In order to test the support for frozen modules, by default we define a single frozen module, __hello__. Loading it will print some famous words... */ static unsigned char M___hello__[] = { 99,0,0,0,0,1,0,0,0,115,15,0,0,0,127,0, 0,127,1,0,100,0,0,71,72,100,1,0,83,40,2,0, 0,0,115,14,0,0,0,72,101,108,108,111,32,119,111,114, 108,100,46,46,46,78,40,0,0,0,0,40,0,0,0,0, 115,8,0,0,0,104,101,108,108,111,46,112,121,115,1,0, 0,0,63,1,0,115,0,0,0,0, }; static struct _frozen _PyImport_FrozenModules[] = { /* Test module */ {"__hello__", M___hello__, 90}, /* Test package (negative size indicates package-ness) */ {"__phello__", M___hello__, -90}, {"__phello__.spam", M___hello__, 90}, {0, 0, 0} /* sentinel */ }; /* Embedding apps may change this pointer to point to their favorite collection of frozen modules: */ struct _frozen *PyImport_FrozenModules = _PyImport_FrozenModules;
