[angelscript] AS 2.0.0 WIP 2

  • From: "Andreas Jonsson" <andreas@xxxxxxxxxxxxx>
  • To: "angelscript" <angelscript@xxxxxxxxxxxxx>
  • Date: Wed, 5 Jan 2005 22:58:28 -0200

I've uploaded the second WIP of AngelScript 2.0.0. Now you can try out the new 
object handles, that will allow you to work heavy objects through smart 
pointers. For the object handles to work for an object it is necessary to 
register a couple of new behaviors, namely AddRef and Release, which will take 
care of the reference counting necessary for the memory management. 
Currently the object handles doesn't work with arrays, which is something that 
I'm working on for WIP 3. Not much else is missing before the final release of 
AS 2.0.0, I just need to fix the assembler VM, and do a few more clean-ups. 

I also discovered another security risk, which is with class methods. If a 
class method do something that make its class be deallocated, the class method 
may accidently access memory it is no longer the owner of. For objects that 
have the AddRef and Release behaviours registered this is easy to protect, just 
have the VM add a reference to the object before calling the method and release 
it again upon exit, but for objects that don't have these behaviours it is not 
as easy. I don't want to force applications to register the AddRef/Release 
behaviours for all objects, so I will instead make it a responsibility of the 
application to make sure that a class method will never accidentaly delete the 
methods class. Fortunately this situation isn't very common so that should be a 
big problem, though application writer needs to be aware of the possibility.

Regards,
Andreas Jönsson
Author of AngelScript


AngelScript - AngelCode Scripting Library
http://www.angelcode.com/angelscript/
http://www.angelcode.com/forums/

Other related posts:

  • » [angelscript] AS 2.0.0 WIP 2