Changeset 283286 in webkit
- Timestamp:
- Sep 29, 2021, 5:19:07 PM (5 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 4 edited
-
API/JSBase.cpp (modified) (2 diffs)
-
API/JSBasePrivate.h (modified) (1 diff)
-
ChangeLog (modified) (1 diff)
-
jsc.cpp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/API/JSBase.cpp
r272980 r283286 205 205 JSLockHolder locker(vm); 206 206 207 auto typeCounts = vm.heap.objectTypeCounts(); 208 JSObject* objectTypeCounts = constructEmptyObject(globalObject); 209 for (auto& it : *typeCounts) 210 objectTypeCounts->putDirect(vm, Identifier::fromString(vm, it.key), jsNumber(it.value)); 211 207 212 JSObject* object = constructEmptyObject(globalObject); 208 213 object->putDirect(vm, Identifier::fromString(vm, "heapSize"), jsNumber(vm.heap.size())); … … 213 218 object->putDirect(vm, Identifier::fromString(vm, "globalObjectCount"), jsNumber(vm.heap.globalObjectCount())); 214 219 object->putDirect(vm, Identifier::fromString(vm, "protectedGlobalObjectCount"), jsNumber(vm.heap.protectedGlobalObjectCount())); 220 object->putDirect(vm, Identifier::fromString(vm, "objectTypeCounts"), objectTypeCounts); 215 221 216 222 return toRef(object); -
trunk/Source/JavaScriptCore/API/JSBasePrivate.h
r271560 r283286 72 72 globalObjectCount: current count of global GC objects 73 73 protectedGlobalObjectCount: current count of protected global GC objects 74 objectTypeCounts: object with GC object types as keys and their current counts as values 74 75 */ 75 76 JS_EXPORT JSObjectRef JSGetMemoryUsageStatistics(JSContextRef ctx); -
trunk/Source/JavaScriptCore/ChangeLog
r283236 r283286 1 2021-09-29 Basuke Suzuki <basuke.suzuki@sony.com> 2 3 [JSC] Add objectTypeCounts to JSGetMemoryUsageStatistics 4 https://bugs.webkit.org/show_bug.cgi?id=230957 5 6 Reviewed by Yusuke Suzuki. 7 8 * API/JSBase.cpp: Added objectTypeCounts property 9 (JSGetMemoryUsageStatistics): 10 * API/JSBasePrivate.h: Added description of objectTypeCounts property 11 * jsc.cpp: Added memoryUsageStatistics() function 12 1 13 2021-09-29 Yusuke Suzuki <ysuzuki@apple.com> 2 14 -
trunk/Source/JavaScriptCore/jsc.cpp
r283062 r283286 23 23 #include "config.h" 24 24 25 #include "APICast.h" 25 26 #include "ArrayBuffer.h" 26 27 #include "BigIntConstructor.h" … … 45 46 #include "JSArray.h" 46 47 #include "JSArrayBuffer.h" 48 #include "JSBasePrivate.h" 47 49 #include "JSBigInt.h" 48 50 #include "JSFinalizationRegistry.h" … … 286 288 static JSC_DECLARE_HOST_FUNCTION(functionEdenGC); 287 289 static JSC_DECLARE_HOST_FUNCTION(functionHeapSize); 290 static JSC_DECLARE_HOST_FUNCTION(functionMemoryUsageStatistics); 288 291 static JSC_DECLARE_HOST_FUNCTION(functionCreateMemoryFootprint); 289 292 static JSC_DECLARE_HOST_FUNCTION(functionResetMemoryPeak); … … 530 533 addFunction(vm, "edenGC", functionEdenGC, 0); 531 534 addFunction(vm, "gcHeapSize", functionHeapSize, 0); 535 addFunction(vm, "memoryUsageStatistics", functionMemoryUsageStatistics, 0); 532 536 addFunction(vm, "MemoryFootprint", functionCreateMemoryFootprint, 0); 533 537 addFunction(vm, "resetMemoryPeak", functionResetMemoryPeak, 0); … … 1462 1466 const ClassInfo JSCMemoryFootprint::s_info = { "MemoryFootprint", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCMemoryFootprint) }; 1463 1467 1468 JSC_DEFINE_HOST_FUNCTION(functionMemoryUsageStatistics, (JSGlobalObject* globalObject, CallFrame*)) 1469 { 1470 auto contextRef = toRef(globalObject); 1471 return JSValue::encode(toJS(JSGetMemoryUsageStatistics(contextRef))); 1472 } 1473 1464 1474 JSC_DEFINE_HOST_FUNCTION(functionCreateMemoryFootprint, (JSGlobalObject* globalObject, CallFrame*)) 1465 1475 {
Note:
See TracChangeset
for help on using the changeset viewer.