[webkit-dev] Javascript - Protected Objects

François Frisch francoisf at apple.com
Mon Nov 24 12:30:52 PST 2008


Hi,

>> What are "Protected Objects"?
>
> Protected objects are objects that have no direct references from  
> the stack or the JavaScript heap, but must not be destroyed by the  
> garbage collector. Typically, they are  objects that are referenced  
> by non-GC heap-allocated storage, like the DOM. For example, some  
> kinds of event listeners are protected from garbage collection.

Is there a know list of such objects? Is XMLHTTPRequest one of them?


> We call protected objects "protected" because, unlike normal GC  
> memory, they must be explicitly reference counted in order to  
> protect them from premature deallocation.

This is the numbers I get

--------------------------------------------------------------
Total Objects	               96,682
Global Objects            1
Protected Objects       232

Protected Object Counts by Type
1                                    DOMWindow
230                               Function
1                                    JSDOMWindowShell
--------------------------------------------------------------

After a dozen clicks I get the following:
(loading json data and creating/removing DOM objects)

--------------------------------------------------------------
Total Objects	               100,433
Global Objects            1
Protected Objects       358

Protected Object Counts by Type
1                                    DOMWindow
356                               Function
1                                    JSDOMWindowShell
--------------------------------------------------------------

Any ideas what the Function objects could be?

François


More information about the webkit-dev mailing list