Hi Thomas,

Indeed this is so true in C++... ( I've encountered that many a  
time )... hmm.... but I think there might be away around that. At  
least in AS3 we can use the flash_proxy method. We can have your  
compiler implement the flash_proxy method to map the proper methods  
between SWFs that have been compiled with different compilers. I  
think this will be a huge plus for the new compiler. Let me know what  
you think.

Cheers,
Sam

On Sep 13, 2007, at 5:45 AM, Thomas Quester wrote:

> 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


_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to