Ignore:
Timestamp:
Jul 24, 2013, 9:01:20 PM (12 years ago)
Author:
[email protected]
Message:

fourthTier: It should be possible to record heap operations (both FastMalloc and JSC GC)
https://bugs.webkit.org/show_bug.cgi?id=116848

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

Record GC heap operations if ENABLE(ALLOCATION_LOGGING).

  • API/JSManagedValue.mm:
  • dfg/DFGOperations.cpp:
  • heap/Heap.cpp:

(JSC::Heap::collect):

  • heap/Heap.h:

(Heap):
(JSC::Heap::allocateWithNormalDestructor):
(JSC::Heap::allocateWithImmortalStructureDestructor):
(JSC::Heap::allocateWithoutDestructor):
(JSC::Heap::tryAllocateStorage):
(JSC::Heap::tryReallocateStorage):
(JSC):
(JSC::Heap::ascribeOwner):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::append):
(JSC::SlotVisitor::internalAppend):

  • heap/SlotVisitor.h:

(SlotVisitor):

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::append):
(JSC::SlotVisitor::appendUnbarrieredPointer):
(JSC::SlotVisitor::appendUnbarrieredValue):
(JSC::SlotVisitor::appendUnbarrieredWeak):
(JSC::SlotVisitor::internalAppend):
(JSC):
(JSC::SlotVisitor::appendValues):

  • jit/JITWriteBarrier.h:

(JSC::SlotVisitor::append):

  • llint/LLIntCommon.h:
  • runtime/Butterfly.h:

(Butterfly):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::create):
(JSC::Butterfly::growPropertyStorage):
(JSC::Butterfly::createOrGrowArrayRight):
(JSC):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):

  • runtime/JSArray.cpp:

(JSC::createArrayButterflyInDictionaryIndexingMode):
(JSC::JSArray::unshiftCountSlowCase):

  • runtime/JSArray.h:

(JSC::createContiguousArrayButterfly):
(JSC::createArrayButterfly):
(JSC):
(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized):

  • runtime/JSObject.cpp:

(JSC::JSObject::enterDictionaryIndexingModeWhenArrayStorageAlreadyExists):
(JSC::JSObject::createInitialIndexedStorage):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::increaseVectorLength):
(JSC::JSObject::ensureLengthSlow):
(JSC::JSObject::growOutOfLineStorage):

  • runtime/JSObject.h:

(JSC::JSObject::JSObject):

  • runtime/Operations.h:
  • runtime/RegExpMatchesArray.cpp:

(JSC::RegExpMatchesArray::create):

  • runtime/StructureInlines.h:

(JSC):

  • runtime/WriteBarrier.h:

(JSC):

Source/WTF:

Reviewed by Mark Hahnenberg.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/DataLog.cpp:

(WTF):
(WTF::initializeLogFileOnce):

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/Platform.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/WriteBarrier.h

    r148696 r153189  
    11/*
    2  * Copyright (C) 2011 Apple Inc. All rights reserved.
     2 * Copyright (C) 2011, 2013 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    228228}
    229229
    230 // SlotVisitor functions
    231 
    232 template<typename T> inline void SlotVisitor::append(WriteBarrierBase<T>* slot)
    233 {
    234     internalAppend(*slot->slot());
    235 }
    236 
    237 ALWAYS_INLINE void SlotVisitor::appendValues(WriteBarrierBase<Unknown>* barriers, size_t count)
    238 {
    239     append(barriers->slot(), count);
    240 }
    241 
    242230} // namespace JSC
    243231
Note: See TracChangeset for help on using the changeset viewer.