Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package
- {
- import flash.display.Sprite;
- import flash.system.Capabilities;
- /**
- * ...
- * @author wvxvw
- */
- public class StackUnderflowTest extends Sprite
- {
- public function StackUnderflowTest()
- {
- super();
- this.test();
- }
- private function test():void
- {
- var problematic:Object = { "a" : 1, "b" : 2, "c" : 3 };
- var i:String;
- for (i in problematic)
- {
- for (var j:String in problematic) { }
- delete problematic[i];
- }
- for (i in problematic) trace(i);
- trace(Capabilities.version);
- }
- /**
- debugfile C:\projects\class\src;;StackUnderflowTest.as
- debugline 19
- // private function test():void
- getlocal0
- pushscope
- pushnull
- coerce_s
- setlocal2
- pushnull
- coerce_s
- setlocal3
- debug 1,problematic,0,21
- debug 1,i,1,22
- pushstring a
- debugline 21
- // var problematic:Object = { "a" : 1, "b" : 2, "c" : 3 };
- convert_s
- pushbyte 1
- pushstring b
- convert_s
- pushbyte 2
- pushstring c
- convert_s
- pushbyte 3
- newobject 3
- coerce Object
- setlocal1 // problematic
- debugline 24
- // for (i in problematic)
- pushbyte 0
- setlocal 4
- getlocal1 // problematic
- coerce_a
- setlocal 5
- jump LOC_1:
- label
- getlocal 5
- getlocal 4
- nextname
- coerce_s
- setlocal2
- debug 1,j,2,26
- debugline 26
- // for (var j:String in problematic) { }
- pushbyte 0
- setlocal 6
- getlocal1 // problematic
- coerce_a
- setlocal 7
- jump LOC_3:
- label
- getlocal 7
- getlocal 6
- nextname
- coerce_s
- setlocal3
- hasnext2 7,
- iftrue LOC_4:
- kill 7
- kill 6
- debugline 27
- // delete problematic[i];
- getlocal1 // problematic
- getlocal2 // i
- deleteproperty multinameL
- pop
- debugline 24
- // for (i in problematic)
- hasnext2 5,
- iftrue LOC_2:
- kill 5
- kill 4
- debugline 29
- // for (i in problematic) trace(i);
- pushbyte 0
- setlocal 4
- getlocal1 // problematic
- coerce_a
- setlocal 5
- jump LOC_7:
- label
- getlocal 5
- getlocal 4
- nextname
- dup
- setlocal 6
- coerce_s
- setlocal2 // i
- getlocal 6
- kill 6
- pop
- findpropstrict trace
- getlocal2 // i
- callproperty trace,1
- pop
- hasnext2 5,
- iftrue LOC_8:
- kill 5
- kill 4
- debugline 30
- // trace(Capabilities.version);
- findpropstrict trace
- findpropstrict flash.system:Capabilities
- getproperty flash.system:Capabilities
- getproperty version
- callproperty trace,1
- pop
- debugline 31
- // }
- returnvoid
- */
- }
- }
Add Comment
Please, Sign In to add comment