Constant pool overflow
strk <[email protected]> Wed, 17 Sep 2003 17:58:40 +0200
| Newsgroups | gmane.comp.web.ming.general |
|---|---|
| Message-ID | <[email protected]> |
Hello, I'm having a constant pool overflow problems with Ming (latest CVS). The problem seems to be exactly described here: from: http://www.nowrap.de/flasm.html --8<--------------------------------- While it's good practice to keep scripts smaller than 64k (compiled) per frame, it's possible to get larger. But the sole action record - constants, push, function and other is limited to 64k because of 2 bytes length field size. Since flash will create (in 99% of cases) the constant pool for all variables and methods, overflow is possible. It's a pity flash itself doesn't tell you the script is too big. Instead flash compiler writes overflowed value to the length field without errors or warnings. If you try to execute the swf, flash player crashes, or actions are omitted. flasm will stop disassembling with an error message if such overflowed constant pool definition is encountered in swf. --8<--------------------------------- I know this is the problem because flasm (as in the last statement) stops and dumps the error: Too many constants. The output of course is corrupted (action scrambled don't know how - missing variables), while the same actionscript file compiled with MX gives successful result. This document refers to the flash authoring environment prior to MX. MX corrects this. What about Ming ? --strk;