With that considered, when a function with a closure is called, if there are changes within the context are they altered in place or are new objects stored?
On Wednesday, June 20, 2018 at 11:58:07 AM UTC-7, Jakob Kummerow wrote: > > The "variable environment" of a closure is stored in a Context object on > the heap. HandleScope has nothing to do with it. Where variables are stored > depends on how they are used: variables local to a function are stored on > the stack, variables used by closures are stored in the Context. > > On Wed, Jun 20, 2018 at 8:56 AM <[email protected] <javascript:>> wrote: > >> I have a question about how V8 deals with closures. I understand that the >> variable environment becomes part of the function object, I dont know if >> this is re-written in place when the variables in it's [[scope]] change, >> and how these are dealt with in memory since the functions as they execute >> are pushed on and popped off the stack. Does the handler (HandleScope I >> believe has something to do with it) write a new definition with the new >> environment variables? Sorry if this is an unclear question, Im a newer >> developer and this is a curious behavior that I want to thoroughly >> understand. This may actually be a behavior that isnt unique to closures >> and perhaps all functions are treated the same in the heap, but Im truly >> curious and cant figure this out looking through the V8 documentation. >> >> -- >> -- >> v8-dev mailing list >> [email protected] <javascript:> >> http://groups.google.com/group/v8-dev >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
