Support for generics (currently only Vector.<*>, and called 'postfix type parameters' by Adobe) was added in Flash Player 10, but the only AVM2 documentation does not describe how these objects are accessed.
Specifically, I noticed a new opcode…
In my game engine I use Box2D for physics. Box2D's naming conventions and poor commenting ruin the consistent and well documented remainder of my engine which is a little frustrating and presents poorly when you're using it.
I've considered making a…
I've recently made a decompiler for AVM2/AS3, and I've noticed that Flash compiler tends to emit a lot of unneccessary code. For example, for a certain application I've removed circa 10% of the code without any impairment to functionality. It was…
I am developing a dynamic mocking framework for Flex/AS3 and am having trouble with private/support types (ie. those declared outside the package {} in a class file).
In my ABC "file", I am declaring the instance with the PROTECTED_NAMESPACE class…
I wonder, what kind of optimizations AVM2 (ActionScript 3 VM) support? I know it uses JIT but does it support Dead Code Elimination, constant folding, inlining, etc.
Also it's very interesting to me that ActionScript compiler also do some…
From the AVM2 Overview PDF I encountered references to two types of stacks - Scope Stack and Operand Stack.
1) I assume these are two different memory stacks, each handling different things. Are there even more stacks?
2) pushstring "hello" - this…
I've been playing around with ABC bytecode and was hoping someone could clear up a point of confusion for me. I have a simple flash file that places a clip on the stage and has a tiny script to update its position on each frame. The code looks…
So when running a SWF, is there a way to step through line by line of ABC code and observe registers, stacks? Could I at least print it to screen or log it?
Some methods use it some don't, obviously that's specified by needsActivation flag, nut what does it do and when to use it and when don't?
The information on AVM docs is somewhat ungenerous:
Creates a new activation object, newactivation, and pushes…
The AVM verifier when encounters and error, writes to flash log. In the documentation it says that verifier will visit "all possible branches" where jumps might take it. However it is still pretty confusing when trying to follow the output. Are…
I tried to execute the following actionscript3 program and I am surprised of the result of the call to f() function. I was expecting that the result of f() was "1" or at least "undefined" but the "0" value does not makes any sense for me.
I will be…
I tried the benchmark on this site: Array vs. Vector vs. Linked list. It tests the performance of iterating over said sequences.
Remarkably, iterating over a linked list is approximately 2.5x faster than a Vector.. What is the reason for this…
I have looked into the AVM2 Overview document (chapter 4.11, page 33) and found the following about init_scope_depth:
init_scope_depth
The init_scope_depth field defines the minimum scope depth, relative to max_scope_depth, that may be accessed…
Greetings
I found this nice answer:
How are methods found in AVM2 bytecode?
See number 3.
May anyone help me?
What is the tool used to produce abcFile dump?
Thank you!
Google is failing me on this one.
Let's say I have some ECMA script that I've compiled to an ABC bytecode file using the compiler in the Open Source Flex SDK.
Is it within the terms of use (That I can't seem to find) for me to use the AVM2…