Also, you can use v8::V8::AdjustAmountOfExternalAllocatedMemory() to
tell the GC how much external memory those handles are referring to.
I'm not sure this actually does anything currently. It seems to GC
more based on the number of handles you've allocated. If you're
allocating very large objects very quickly your app will exhaust its
address space and crash before GC kicks in.
On Sep 25, 10:07 am, Northorn <[EMAIL PROTECTED]> wrote:
> I had to put a:
>
> v8::HandleScope handle_scope;
>
> in this function. If not I would occasionally get an error about not
> having a handle scope in this function.
>
> On Sep 22, 3:57 am, [EMAIL PROTECTED] wrote:
>
> > Thank you for the example.
> > I also use:
> > ........
> > Persistent<Object> self = Persistent<Object>::New(args.Holder());
> > self.MakeWeak(0, Point_Destroy);
>
> > self->SetInternalField(0, External::New(p));
> > return self;}
>
> > void Point_Destroy(Persistent<Object> self, void* parameter)
> > {
> > Local<External> external =
> > Local<External>::Cast(self->GetInternalField(0));
>
> > delete static_cast<Point*>(external->Value());
>
> > }
>
> > but the "Point_Destroy" Function is never called. So when should it be
> > called in your example?
>
> > Thanks
> > bg
--~--~---------~--~----~------------~-------~--~----~
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
-~----------~----~----~----~------~----~------~--~---