Sam,
> Thomas,
>
> Nice list of optimization proposals. I think all of those should make
> it in the new compiler...lol.
The optimization may also be done outside a compiler, dissassembling,
optimizing, assembling.
It is rather hard stuff to programm, though. I am just in phase of reading
about theory again -- got this years ago at university but do not remember
all details.
> As for undocumented features... this is
> a real good point, I'm sure there are AVM2 features Adobe has not
> seen to make public to the rest of the flash community but that they
> use internally. For example. If memory serves me correctly in the
> AVM1 there was an int type but that type was not available as a
> language type it was only in the Bytecode ( I think, though I could
> be wrong about this ). I'm sure there are situations like this in the
> AVM2.
All I can see now is that everything is a variant, So we do not have byte
code, but variant code :-)
>From all tests I made so far, declaring all functions with numbers instead
of with names should speed up things.
I have not looked too much into AVM2.
> Earlier you mentioned an optimization technique for method
> overloading. I don't think doing something like...
>
> myMethod_1( id:String );
> myMethod_2();
This is indeed a problem, also in C++, you can not link to a library which
was compiled with a different compiler or the same compiler with different
options or the same compiler with same options but different version
number... Each compiler has differnt kinds of name mangeling and you can
modify them by the compiler options...
In C++ this is resolved by declaring functions as standard C and importing
them with extern "C" { ... }
At this point, we may extend the language
maybe
overload function foo(id:string)
or
external fooFromOtherSWF;
Maybe compiler may find out itself which functions are overloaded and need
name mangeling, in this case we would need two passes for compiling. Of
course you can not call a name mangled function in a different swf compiled
with a different compiler (like in C++ also does not work).
_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org