Home | History | Annotate | Download | only in JavaScriptCore

Lines Matching full:collector

174         * kjs/collector.cpp:
175 * kjs/collector.h:
549 * kjs/collector.cpp:
550 (KJS::Collector::registerThread):
593 * kjs/collector.cpp:
594 (KJS::Collector::registerThread):
670 * kjs/collector.cpp:
671 (KJS::Collector::registerThread):
710 * kjs/collector.cpp:
965 after a fork without first execing[*] so it is not particularly important to ensure that the collector and
1002 - fix <rdar://problem/5371862> crash in Dashcode due to Quartz Composer JavaScript garbage collector reentrancy
1004 * API/JSBase.cpp: (JSGarbageCollect): Don't call collector() if isBusy() returns true.
1006 * kjs/collector.h: Added isBusy(), removed the unused return value from collect()
1007 * kjs/collector.cpp: Added an "operation in progress" flag to the allocator.
1008 (KJS::Collector::allocate): Call abort() if an operation is already in progress. Set the new flag instead
1010 (KJS::Collector::collect): Ditto.
1011 (KJS::Collector::isBusy): Added.
1071 about specific memory regions that were allocated by FastMalloc or the JavaScriptCore collector.
1086 * kjs/collector.cpp:
1087 (KJS::Collector::registerThread): Register the CollectorHeapIntrospector with the system when the first thread is registered with the collector.
1204 * kjs/collector.cpp:
1251 collector.cpp:
1252 (KJS::Collector::registerAsMainThread):
1291 The basic idea is explained in a big comment in collector.cpp. When unusually
1310 * kjs/collector.cpp:
1312 (KJS::Collector::recordExtraCost): Basics of the extra cost mechanism.
1313 (KJS::Collector::allocate): ditto
1314 (KJS::Collector::collect): ditto
1315 * kjs/collector.h:
1316 (KJS::Collector::reportExtraMemoryCost): ditto
2274 * kjs/collector.cpp:
2350 * kjs/collector.cpp:
2351 (KJS::Collector::protect):
2352 (KJS::Collector::unprotect):
2353 (KJS::Collector::collectOnMainThreadOnly):
2835 * kjs/collector.h: Fix struct/class mismatch.
2844 the two spare cells the collector is willing to keep around, so collect a bit less often.
2846 * kjs/collector.cpp:
2859 * kjs/collector.cpp:
2861 (KJS::Collector::markStackObjectsConservatively): Now that cells are 32 bytes (64
2865 (KJS::Collector::collectOnMainThreadOnly): Use bitmap.
2866 (KJS::Collector::markMainThreadOnlyObjects): Use bitmap.
2867 (KJS::Collector::collect): When sweeping, use bitmaps directly to find mark bits.
2868 * kjs/collector.h:
2874 (KJS::Collector::cellBlock): New operation, compute the block pointer for
2876 (KJS::Collector::cellOffset): New operation, compute the cell offset for a
2878 (KJS::Collector::isCellMarked): Check mark bit in bitmap
2879 (KJS::Collector::markCell): Set mark bit in bitmap.
2882 (KJS::JSCell::marked): Let collector handle it.
2883 (KJS::JSCell::mark): Let collector handle it.
3101 * kjs/collector.cpp:
3132 * kjs/collector.cpp:
3135 (KJS::Collector::allocate):
3136 (KJS::Collector::collect):
3149 * kjs/collector.cpp:
3152 (KJS::Collector::allocate): Remove oversize allocator.
3153 (KJS::Collector::markStackObjectsConservatively): Don't check oversize objects.
3154 (KJS::Collector::markMainThreadOnlyObjects): Ditto.
3155 (KJS::Collector::collect): Ditto.
3207 * kjs/collector.cpp:
3216 * kjs/collector.cpp:
3256 * kjs/collector.cpp:
3274 * kjs/collector.cpp:
3336 * kjs/collector.cpp:
3337 (KJS::Collector::collect):
3559 - enhanced threadsafety assertions in collector
3573 * kjs/collector.cpp: Refactored for portability plus added some
3575 (KJS::Collector::allocate):
3577 (KJS::Collector::registerAsMainThread):
3581 (KJS::Collector::Thread::Thread):
3583 (KJS::Collector::registerThread):
3584 (KJS::Collector::markCurrentThreadConservatively):
3590 (KJS::Collector::markOtherThreadConservatively):
3591 (KJS::Collector::markStackObjectsConservatively):
3592 (KJS::Collector::protect):
3593 (KJS::Collector::unprotect):
3594 (KJS::Collector::collectOnMainThreadOnly):
3595 (KJS::Collector::markMainThreadOnlyObjects):
3596 (KJS::Collector::collect):
3597 * kjs/collector.h:
4083 Fixed <rdar://problem/4681051> Installer crashes in KJS::Collector::
4084 markOtherThreadConservatively(KJS::Collector::Thread*) trying to install
4103 * kjs/collector.cpp:
4105 (KJS::Collector::registerThread): To match, assert that we're locked here.
4282 * kjs/collector.cpp:
4283 (KJS::Collector::markMainThreadOnlyObjects):
4298 * kjs/collector.cpp:
4299 (KJS::Collector::collect):
4333 collecting on a secondary thread, the Collector does an extra pass through
4375 * kjs/collector.cpp:
4376 (KJS::Collector::collectOnMainThreadOnly): New function. Tells the collector
4378 (KJS::Collector::markMainThreadOnlyObjects): New function. Scans the heap
4406 like m_marked, is a Collector bit, so only the Collector should set or get it.
4432 (KJS::Collector::collect): Removed anti-optimization to call
4529 Collector::collect().
5367 * kjs/collector.cpp:
5370 (KJS::Collector::allocate):
5371 (KJS::Collector::collect):
6460 * collector.cpp:
6612 * kjs/collector.cpp:
6613 (KJS::Collector::allocate):
6614 (KJS::Collector::markCurrentThreadConservatively):
6615 (KJS::Collector::collect):
7140 in JavaScript garbage collection (KJS::Collector::collect())
7147 * kjs/collector.cpp:
7148 (KJS::Collector::allocate):
7149 (KJS::Collector::collect):
7345 * kjs/collector.cpp:
7346 (KJS::Collector::allocate):
7980 * kjs/collector.cpp: Lowered cell size to 48.
7981 (KJS::Collector::allocate): meaningless whitespace change
8173 * kjs/collector.h:
8249 crashes (Collector::markStackObjectsConservatively)
8255 * kjs/collector.cpp:
8256 (KJS::Collector::markCurrentThreadConservatively): Use a pointer instead of
10586 * kjs/collector.cpp:
10587 (KJS::Collector::collect):
10588 (KJS::Collector::numInterpreters):
10896 * kjs/collector.cpp:
10897 (KJS::Collector::collect):
10913 * kjs/collector.cpp: look at the rsp register in x86_64
10914 (KJS::Collector::markOtherThreadConservatively):
11082 * kjs/collector.cpp:
11083 (KJS::Collector::registerThread):
11084 * kjs/collector.h:
11263 * kjs/collector.cpp:
11264 (KJS::Collector::collect): test the thread when we collect oversized cells
11407 * kjs/collector.h: Remove use of HashForward.h.
11473 * kjs/collector.h:
11752 * kjs/collector.cpp:
11753 (KJS::Collector::markOtherThreadConservatively): test for __DARWIN_UNIX03 and use __r1
11887 synchronized. That unsafety comes into play when the collector
11898 * kjs/collector.cpp:
11899 (KJS::Collector::collect):
11909 collector optimizations we've made based on the size of a JSObject.
12462 * kjs/collector.cpp:
12463 (KJS::Collector::markCurrentThreadConservatively):
12464 (KJS::Collector::markOtherThreadConservatively):
12465 (KJS::Collector::markStackObjectsConservatively):
12988 * kjs/collector.cpp: Removed now-unneeded #undef ERROR.
13400 * kjs/collector.cpp:
13401 (KJS::Collector::protect):
13402 (KJS::Collector::unprotect):
13403 (KJS::Collector::collect):
13569 - change JavaScript collector statistics calls to use HashCountedSet instead
13573 * kjs/collector.cpp:
13574 (KJS::Collector::numProtectedObjects): renamed from numReferencedObjects
13576 (KJS::Collector::rootObjectTypeCounts): renamed from rootObjectClasses,
13578 * kjs/collector.h:
13579 (KJS::Collector::isOutOfMemory): Renamed from outOfMemory.
13864 * kjs/collector.cpp: ditto
13933 * kjs/collector.cpp:
13934 (KJS::Collector::protect):
13967 * kjs/collector.cpp:
13968 * kjs/collector.h:
14094 * kjs/collector.cpp: merge major speedup from KDE on Linux
14103 * kjs/collector.cpp: merge FreeBSD compile fix from KDE
14323 Add helper to interpreter to call the collector in order to facilitate
14347 * kjs/collector.h: Removed an APPLE_CHANGES if around something
14350 * kjs/collector.cpp: Removed a mistaken comment.
15331 * kjs/collector.cpp:
15511 * kjs/collector.cpp:
15512 (KJS::Collector::protect): Moved code here from ProtectedValues::increaseProtectCount
15514 (KJS::Collector::unprotect): Ditto for ProtectedValues::decreaseProtectCount.
15515 (KJS::Collector::markProtectedObjects): Updated for new way of doing things, now
15517 (KJS::Collector::numReferencedObjects): ditto
15518 (KJS::Collector::rootObjectClasses): ditto
15519 * kjs/collector.h: Added protect and unprotect static methods
15975 * kjs/collector.cpp:
15976 (KJS::Collector::allocate):
15977 (KJS::Collector::collect):
16059 KJS::ValueImp::marked() when garbage collector runs inside call to
16073 Collector:collect is now responsible for marking ConstantValues.
16082 * kjs/collector.cpp:
16083 (KJS::Collector::collect):
16561 * kjs/collector.cpp:
16562 (KJS::Collector::markCurrentThreadConservatively):
16563 (KJS::Collector::markOtherThreadConservatively):
16664 * kjs/collector.cpp:
16665 (KJS::Collector::registerThread):
16968 * kjs/collector.cpp:
16969 (KJS::Collector::allocate):
16970 (KJS::Collector::markStackObjectsConservatively):
16971 (KJS::Collector::collect):
16972 (KJS::Collector::size):
16973 (KJS::Collector::numInterpreters):
16974 (KJS::Collector::numGCNotAllowedObjects):
16975 (KJS::Collector::numReferencedObjects):
16976 * kjs/collector.h:
17004 * kjs/collector.cpp:
17005 (KJS::Collector::allocate):
17006 (KJS::Collector::collect):
17388 (including anything that uses the collector, the parser, the protect count hash table,
17697 * kjs/collector.cpp: Add missing <setjmp.h> include.
17716 * kjs/collector.cpp: Include <windows.h> on WIN32. Put thread-related code inside
17718 (KJS::Collector::markCurrentThreadConservatively): Use NT_TIB to find the stack base on Win32.
18230 * kjs/collector.cpp: (KJS::Collector::allocate): Use a local instead of a global in one
18305 speed up JavaScript with some improvements to the garbage collector
18309 * kjs/collector.cpp:
18310 (KJS::Collector::allocate): Use local variables to shadow globals instead of repeatedly
18312 (KJS::Collector::markStackObjectsConservatively): Use local variables to shadow globals.
18314 (KJS::Collector::markProtectedObjects): Iterate through the table using pointer rather
18316 (KJS::Collector::collect): Added a special case for blocks where all cells are used,
18320 (KJS::Collector::numReferencedObjects): Use AllocatedValueImp instead of ValueImp
18324 (KJS::Collector::rootObjectClasses): Ditto.
18853 * kjs/collector.cpp:
18854 (KJS::Collector::markStackObjectsConservatively):
18855 (KJS::Collector::collect):
19501 * kjs/collector.cpp: (KJS::Collector::allocate): Use std::max instead of MAX.
19865 * kjs/collector.cpp:
19866 * kjs/collector.h:
20006 - backing out my earlier collector change, it causes a performance regression in TOT
20008 * kjs/collector.cpp:
20009 (KJS::Collector::allocate):
20027 * kjs/collector.cpp:
20028 (KJS::Collector::allocate):
20653 * kjs/collector.cpp:
20655 (KJS::Collector::rootObjectClasses): Use className instead of typeid names.
20733 * kjs/collector.h: Remove non-conservative-GC code path and also take out some
20743 * kjs/collector.cpp:
20744 (KJS::Collector::allocate): Ditto.
20745 (KJS::Collector::collect): Ditto.
20746 (KJS::Collector::numGCNotAllowedObjects): Ditto.
20747 (KJS::Collector::numReferencedObjects): Ditto.
20748 (KJS::Collector::rootObjectClasses): Ditto.
20887 * kjs/collector.cpp: (KJS::Collector::markStackObjectsConservatively): Changed code to check
20964 * kjs/collector.cpp:
20965 (KJS::Collector::allocate): Take out special case for 0; costing speed but unexercised.
20972 (KJS::Collector::markProtectedObjects): Get table size and pointer into locals outside
20974 (KJS::Collector::collect): Put numLiveObjects into a local variable to cut down on global
20978 (KJS::Collector::numReferencedObjects): Get table size and pointer into locals outside
20980 (KJS::Collector::rootObjectClasses): Ditto.
21111 * kjs/collector.cpp:
21112 (KJS::Collector::allocate): Use dlmalloc to allocate the collector blocks.
21113 (KJS::Collector::collect): And dlfree to free it.
21150 * kjs/collector.cpp:
21151 (KJS::Collector::collect): mark protected lists as appropriate.
21324 hampered the optimizations built into the garbage collector. Objects no longer
21656 the old collector and the new collector.
21678 * kjs/collector.cpp:
21679 (KJS::Collector::Thread::Thread):
21682 (KJS::Collector::registerThread):
21683 (KJS::Collector::markStackObjectsConservatively):
21684 (KJS::Collector::markCurrentThreadConservatively):
21685 (KJS::Collector::markOtherThreadConservatively):
21686 * kjs/collector.h:
23394 * kjs/collector.cpp:
23395 (KJS::Collector::markStackObjectsConservatively): Check possible
23434 * kjs/collector.cpp:
23435 (KJS::Collector::allocate):
23436 (KJS::Collector::collect):
23437 * kjs/collector.h:
23521 * kjs/collector.cpp:
23522 (KJS::Collector::markStackObjectsConservatively):
23523 (KJS::Collector::markProtectedObjects):
23524 (KJS::Collector::collect):
23525 * kjs/collector.h:
25389 <rdar://problem/3505183>: JavaScriptCore should assert that interpreter is locked in collector
25391 * kjs/collector.cpp:
25392 (KJS::Collector::allocate): Assert that interpreter lock count is not 0.
25393 (KJS::Collector::collect): likewise
25669 Fixed early delete of the the main applet instance. When the JS collector cleaned up the last JS object referring to the applet instance we were deleting the java instance. This caused the applet instance cached on the applet element to be invalid. The applet instance is the only Java object not to be cleaned up by the JS collector.