2011-02-23 Patrick Gansterer <paroga@webkit.org>
[WebKit-https.git] / Source / JavaScriptCore / ChangeLog
index 966fb60..be10314 100644 (file)
-2011-02-12  Adam Barth  <abarth@webkit.org>
+2011-02-23  Patrick Gansterer  <paroga@webkit.org>
 
-        Reviewed by Kenneth Russell.
-
-        Enable ArrayBuffers by default
-        https://bugs.webkit.org/show_bug.cgi?id=54310
-
-        Export the required functions.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2011-02-11  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Geoffrey Garen.
+        Reviewed by Darin Adler.
 
-        Remove explicit disable ENABLE_ASSEMBLER_WX_EXCLUSIVE on non-iOS ports
-        https://bugs.webkit.org/show_bug.cgi?id=54107
-        
-        It is unnecessary to explicitly disable ENABLE_ASSEMBLER_WX_EXCLUSIVE
-        by the definition of ENABLE().
+        Rename PLATFORM(CF) to USE(CF)
+        https://bugs.webkit.org/show_bug.cgi?id=53540
 
+        * runtime/DatePrototype.cpp:
+        * runtime/GCActivityCallbackCF.cpp:
+        * runtime/JSGlobalData.cpp:
+        (JSC::JSGlobalData::JSGlobalData):
+        * wtf/CurrentTime.cpp:
         * wtf/Platform.h:
+        * wtf/text/AtomicString.h:
+        * wtf/text/StringImpl.h:
+        (WTF::StringImpl::computeHash):
+        * wtf/text/WTFString.h:
+        * wtf/unicode/icu/CollatorICU.cpp:
+        (WTF::Collator::userDefault):
 
-2011-02-11  Geoffrey Garen  <ggaren@apple.com>
-
-        Not reviewed.
+2011-02-23  Fumitoshi Ukai  <ukai@chromium.org>
 
-        Randomly touch some build files in the hopes of fixing the Qt build.
+        Unreviewed build fix for Windows.
 
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pri:
-        * JavaScriptCore.pro:
+        WebSocket uses insecure random numbers
+        https://bugs.webkit.org/show_bug.cgi?id=54714
 
-2011-02-11  Geoffrey Garen  <ggaren@apple.com>
+        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export WTF::cryptographicallyRandomNumber()
 
-        Reviewed by Sam Weinig.
+2011-02-23  Fumitoshi Ukai  <ukai@chromium.org>
 
-        Garbage collection timer cycles forever, even when nothing is happening
-        https://bugs.webkit.org/show_bug.cgi?id=54320
-        
-        (Rolling back in r78386 with the build fixed.)
+        Reviewed by Adam Barth.
 
-        * runtime/GCActivityCallbackCF.cpp:
-        (JSC::DefaultGCActivityCallbackPlatformData::trigger): Be sure to make
-        our timer inert after forcing a GC, to avoid GC'ing repeatedly.
+        WebSocket uses insecure random numbers
+        https://bugs.webkit.org/show_bug.cgi?id=54714
 
-2011-02-11  Geoffrey Garen  <ggaren@apple.com>
+        * JavaScriptCore.exp: Export WTF::cryptographicallyRandomNumber()
 
-        Not reviewed.
-        
-        Used svn merge -r78386:78385 to roll out r78386 because it broke the build.
+2011-02-22  Adam Barth  <abarth@webkit.org>
 
-        * runtime/GCActivityCallbackCF.cpp:
-        (JSC::DefaultGCActivityCallbackPlatformData::trigger):
+        Reviewed by Ojan Vafai.
 
-2011-02-11  Geoffrey Garen  <ggaren@apple.com>
+        Add missing files to JavaScriptCore.gypi
+        https://bugs.webkit.org/show_bug.cgi?id=55020
 
-        Reviewed by Sam Weinig.
+        gypi files are supposed to list every file under the sun.  This patch
+        adds some missing files and sorts the rest.
 
-        Garbage collection timer cycles forever, even when nothing is happening
-        https://bugs.webkit.org/show_bug.cgi?id=54320
+        * JavaScriptCore.gypi:
 
-        * runtime/GCActivityCallbackCF.cpp:
-        (JSC::DefaultGCActivityCallbackPlatformData::trigger): Be sure to make
-        our timer inert after forcing a GC, to avoid GC'ing repeatedly.
+2011-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
 
-2011-02-11  Geoffrey Garen  <ggaren@apple.com>
+        Unreviewed, rolling out r79367.
+        http://trac.webkit.org/changeset/79367
+        https://bugs.webkit.org/show_bug.cgi?id=55012
 
-        Try to fix the Windows build: added an exported symbol.
+        all layout tests are crashing on Snow Leopard (Requested by
+        rniwa on #webkit).
 
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+        * GNUmakefile.am:
+        * JavaScriptCore.gypi:
+        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+        * runtime/MarkedBlock.cpp:
+        (JSC::MarkedBlock::MarkedBlock):
+        * runtime/MarkedBlock.h:
+        * runtime/MarkedSpace.cpp:
+        (JSC::MarkedSpace::destroy):
+        (JSC::MarkedSpace::allocateBlock):
+        (JSC::MarkedSpace::freeBlock):
+        (JSC::MarkedSpace::allocate):
+        (JSC::MarkedSpace::shrink):
+        (JSC::MarkedSpace::reset):
+        * runtime/MarkedSpace.h:
+        (JSC::CollectorHeap::collectorBlock):
+        * wtf/CMakeLists.txt:
+        * wtf/DoublyLinkedList.h: Removed.
 
-2011-02-11  Geoffrey Garen  <ggaren@apple.com>
+2011-02-22  Geoffrey Garen  <ggaren@apple.com>
 
         Reviewed by Oliver Hunt.
 
-        A little more encapsulation for the heap: Removed CollectorHeapIterator
-        https://bugs.webkit.org/show_bug.cgi?id=54298
-        
-        CollectorHeapIterator is a God object that knows the internals of each
-        of the pieces of the heap. This undermines the encapsulation I'm trying
-        to achieve by splitting concepts into different classes.
+        Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
+        https://bugs.webkit.org/show_bug.cgi?id=54999
         
-        As an alternative, I've given each class a forEach iteration function,
-        which takes a functor as an argument. Now, each class just needs to
-        know how to iterate the things it knows about.
+        SunSpider reports no change.
 
         * GNUmakefile.am:
-        * JavaScriptCore.exp:
         * JavaScriptCore.gypi:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Removed CollectorHeapIterator.
-
-        * debugger/Debugger.cpp:
-        (JSC::Recompiler::Recompiler):
-        (JSC::Recompiler::~Recompiler):
-        (JSC::Recompiler::operator()):
-        (JSC::Debugger::recompileAllJSFunctions): Updated to use forEach interface
-        instead of an iterator.
-
-        * runtime/CollectorHeapIterator.h: Removed.
-
-        * runtime/Heap.cpp:
-        (JSC::TypeCounter::TypeCounter):
-        (JSC::TypeCounter::typeName):
-        (JSC::TypeCounter::operator()):
-        (JSC::TypeCounter::take):
-        (JSC::Heap::protectedObjectTypeCounts):
-        (JSC::Heap::objectTypeCounts): Added forEach and removed iterator.
-
-        * runtime/Heap.h:
-        (JSC::Heap::forEach):
-        * runtime/JSGlobalData.cpp:
-        (JSC::Recompiler::operator()):
-        (JSC::JSGlobalData::recompileAllJSFunctions):
+        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
+        * JavaScriptCore.xcodeproj/project.pbxproj: So many build systems, so little time.
+        * wtf/CMakeLists.txt:
 
+        * runtime/MarkedBlock.cpp:
+        (JSC::MarkedBlock::MarkedBlock):
         * runtime/MarkedBlock.h:
-        (JSC::MarkedBlock::forEach): Added forEach. Removed friend declaration
-        for CollectorHeapIterator. Now, we can make all our data private and
-        change it without breaking any other classes.
+        (JSC::MarkedBlock::setPrev):
+        (JSC::MarkedBlock::setNext):
+        (JSC::MarkedBlock::prev):
+        (JSC::MarkedBlock::next): Added linked list data members and accessors.
 
         * runtime/MarkedSpace.cpp:
-        * runtime/MarkedSpace.h:
-        (JSC::MarkedSpace::forEach): Added forEach and removed iterator.
-
-2011-02-11  Adam Barth  <abarth@webkit.org>
+        (JSC::MarkedSpace::destroy):
+        (JSC::MarkedSpace::allocateBlock): Stop using vector, since it doesn't exist anymore.
 
-        Reviewed by Andreas Kling.
+        (JSC::MarkedSpace::freeBlocks): New helper function for updating relevant
+        data structures when freeing blocks.
 
-        CryptographicRandomNumber has its threading ifdefs backwards
-        https://bugs.webkit.org/show_bug.cgi?id=54280
+        (JSC::MarkedSpace::allocate): Updated for nextBlock being a pointer and
+        not a vector index.
 
-        Turns out we want the mutex when thread is enabled.  :)
+        (JSC::MarkedSpace::shrink): Construct a temporary list of empties and
+        then free them, to avoid modifying our hash table while iterating it.
+        This wasn't a concern before because we were using indirect array
+        indexing, not direct pointer indexing.
 
-        * wtf/CryptographicallyRandomNumber.cpp:
-        (WTF::ARC4Stream::ARC4RandomNumberGenerator::randomNumber):
-        (WTF::ARC4Stream::ARC4RandomNumberGenerator::randomValues):
+        (JSC::MarkedSpace::reset): Updated for nextBlock being a pointer and
+        not a vector index.
 
-2011-02-10  Adam Barth  <abarth@webkit.org>
+        * runtime/MarkedSpace.h:
+        (JSC::CollectorHeap::CollectorHeap): Changed data type from vector to linked list.
 
-        Reviewed by Eric Seidel.
+        * wtf/DoublyLinkedList.h: Added. New linked list class.
+        (WTF::::DoublyLinkedList):
+        (WTF::::isEmpty):
+        (WTF::::head):
+        (WTF::::append):
+        (WTF::::remove):
 
-        WebKit should have a cryptographic RNG
-        https://bugs.webkit.org/show_bug.cgi?id=22049
+2011-02-22  Gavin Barraclough  <barraclough@apple.com>
 
-        Teach JavaScriptCore how to export this function.
+        Windows build fix.
 
-        * JavaScriptCore.exp:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
+        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
 
-2011-02-10  Geoffrey Garen  <ggaren@apple.com>
+2011-02-22  Gavin Barraclough  <barraclough@apple.com>
 
         Reviewed by Sam Weinig.
 
-        A little more encapsulation for MarkedBlock: Made all constants private
-        so clients don't know whether allocations are fixed-sized or not
-        https://bugs.webkit.org/show_bug.cgi?id=54270
-        
-        SunSpider reports no change.
-
-        * runtime/CollectorHeapIterator.h:
-        (JSC::CollectorHeapIterator::advance): Updated for removal of HeapConstants.
-
-        * runtime/Error.cpp: Switched to using ASSERT_CLASS_FITS_IN_CELL, like
-        all other classes.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::allocate): Updated for removal of HeapConstants.
-        (JSC::Heap::reset): Updated to use size(), instead of calculating size
-        on our own.
+        Bug 54988 - Re-create StructureTransitionTable class, encapsulate transition table
 
-        * runtime/Heap.h: Moved the ASSERT here to MarkedBlock, since it enforces
-        on special knowledge of fixed-sizery, which only MarkedBlock is supposed
-        to know about.
+        The Structure class keeps a table of transitions to derived Structure types. Since
+        this table commonly contains a single entry we employ an optimization where instead
+        of holding a map, we may hold a pointer directly to a single instance of the mapped
+        type. We use an additional bit of data to flag whether the pointer is currently
+        pointing to a table of transitions, or a singleton transition. Previously we had
+        commonly used a pattern of storing data in the low bits of pointers, but had moved
+        away from this since it causes false leaks to be reported by the leaks tool. However
+        in this case, the entries in the map are weak links - this pointer will never be
+        responsible for keeping an object alive.  As such we can use this approach provided
+        that the bit is set when a table is not in use (otherwise the table would appear to
+        be leaked).
 
-        * runtime/JSCell.h:
-        (JSC::JSCell::MarkedBlock::allocate): Updated for removal of HeapConstants.
-        Also changed to reset nextCell to 0 at the end of a block, since that
-        seems more consistent.
+        Additionally, the transition table currently allows two entries to exist for a given
+        key - one specialized to a particular value, and one not specialized. This is
+        unnecessary, wasteful, and a little inconsistent. (If you create an entry for a
+        specialized value, then a non-specialized entry, both will exist.  If you create an
+        entry for a non-specialized value, then try to create a specialized entry, only a
+        non-specialized form will be allowed.)
 
-        * runtime/JSGlobalData.cpp:
-        (JSC::JSGlobalData::storeVPtrs): Changed to use a fixed array of char.
-        This hard-coded size is a little wonky, but the compiler will tell us
-        if it's ever wrong, so I think it's OK.
+        This shows a small progression on v8.
 
-        * runtime/MarkedBlock.cpp:
-        (JSC::MarkedBlock::destroy):
-        (JSC::MarkedBlock::MarkedBlock):
-        (JSC::MarkedBlock::sweep): Updated for removal of HeapConstants.
+        * JavaScriptCore.exp:
+        * runtime/JSObject.h:
+        (JSC::JSObject::putDirectInternal):
+        * runtime/Structure.cpp:
+        (JSC::StructureTransitionTable::contains):
+        (JSC::StructureTransitionTable::get):
+        (JSC::StructureTransitionTable::remove):
+        (JSC::StructureTransitionTable::add):
+        (JSC::Structure::dumpStatistics):
+        (JSC::Structure::Structure):
+        (JSC::Structure::~Structure):
+        (JSC::Structure::addPropertyTransitionToExistingStructure):
+        (JSC::Structure::addPropertyTransition):
+        * runtime/Structure.h:
+        (JSC::Structure::get):
+        * runtime/StructureTransitionTable.h:
+        (JSC::StructureTransitionTable::Hash::hash):
+        (JSC::StructureTransitionTable::Hash::equal):
+        (JSC::StructureTransitionTable::HashTraits::emptyValue):
+        (JSC::StructureTransitionTable::HashTraits::constructDeletedValue):
+        (JSC::StructureTransitionTable::HashTraits::isDeletedValue):
+        (JSC::StructureTransitionTable::StructureTransitionTable):
+        (JSC::StructureTransitionTable::~StructureTransitionTable):
+        (JSC::StructureTransitionTable::isUsingSingleSlot):
+        (JSC::StructureTransitionTable::map):
+        (JSC::StructureTransitionTable::setMap):
+        (JSC::StructureTransitionTable::singleTransition):
+        (JSC::StructureTransitionTable::setSingleTransition):
+
+2011-02-22  Andras Becsi  <abecsi@webkit.org>
 
-        * runtime/MarkedBlock.h:
-        (JSC::MarkedBlock::isEmpty):
-        (JSC::MarkedBlock::clearMarks):
-        (JSC::MarkedBlock::size):
-        (JSC::MarkedBlock::capacity): Made constants private to this class.
-        Removed HeapConstants. Added size() and capacity() functions.
+        Reviewed by Laszlo Gombos.
 
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::allocate):
-        (JSC::MarkedSpace::objectCount):
-        (JSC::MarkedSpace::size):
-        (JSC::MarkedSpace::capacity):
-        * runtime/MarkedSpace.h: Use MarkedBlock helper functions instead of
-        direct knowledge of MarkedBlock internals.
+        [Qt] Redesign the build system
+        https://bugs.webkit.org/show_bug.cgi?id=51339
 
-2011-02-10  Geoffrey Garen  <ggaren@apple.com>
+        Part 2.
 
-        Reviewed by Sam Weinig.
+        Build WebCore as a static library, compile the WebKit API and WebKit2 API
+        in a final step and link to WebKit2, WebCore and JSC libraries to fix
+        linking issues resulting from stripped away symbols.
 
-        A little more encapsulation for MarkedBlock: Made mark bits private
-        https://bugs.webkit.org/show_bug.cgi?id=54264
-        
-        SunSpider reports no change.
+        * JavaScriptCore.pri: Remove the workaround.
 
-        * runtime/Heap.cpp:
-        (JSC::Heap::markRoots):
-        (JSC::Heap::reset): Renamed clearMarkBits => clearMarks, since clients
-        don't need to know that marks are represented as bits. Renamed
-        markedCells => markCount, since clients don't need to know that blocks
-        are split into cells.
+2011-02-21  Adam Roben  <aroben@apple.com>
 
-        * runtime/MarkedBlock.h:
-        (JSC::MarkedBlock::isEmpty):
-        (JSC::MarkedBlock::clearMarks):
-        (JSC::MarkedBlock::markCount): New helper functions for encapsulating
-        the information clients actually need.
+        Fix linker warning on Windows
 
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::destroy):
-        (JSC::MarkedSpace::shrink):
-        (JSC::MarkedSpace::clearMarks):
-        (JSC::MarkedSpace::markCount):
-        (JSC::MarkedSpace::objectCount):
-        * runtime/MarkedSpace.h: Use new helper functions instead of accessing
-        MarkedBlock data directly.
+        r79135 tried to export JSObject::s_info by adding it to JavaScriptCore.def. This is the
+        obvious way (since it's how we export functions), but unfortunately it doesn't work correct.
+        r79222 made us export it the right way (using the JS_EXPORTDATA macro), but forgot to remove
+        it from JavaScriptCore.def. This caused us to get linker warnings about exporting the symbol
+        multiple times.
 
-2011-02-10  Michael Saboff  <msaboff@apple.com>
+        Rubber-stamped by Anders Carlsson.
 
-        Reviewed by Geoffrey Garen.
+        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Removed JSObject::s_info.
 
-        Cached JavaScript Parser Data Being Left in Memory Cache
-        https://bugs.webkit.org/show_bug.cgi?id=54245
+2011-02-21  Brian Weinstein  <bweinstein@apple.com>
 
-        Added clear method which removes SourceProviderCache items.
-        Cleaned up extraneous whitespace.
+        Reviewed by Adam Roben.
 
-        * JavaScriptCore.exp:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * parser/SourceProviderCache.cpp:
-        (JSC::SourceProviderCache::~SourceProviderCache):
-        (JSC::SourceProviderCache::clear):
-        (JSC::SourceProviderCache::byteSize):
-        (JSC::SourceProviderCache::add):
-        * parser/SourceProviderCache.h:
+        WebResourceCacheManager should be responsible for managing the CFURLCache as well
+        as the WebCore memory cache.
+        https://bugs.webkit.org/show_bug.cgi?id=54886
+        Part of <rdar://problem/8971738>
 
-2011-02-10  Joseph Pecoraro  <joepeck@webkit.org>
+        Add a new use flag for using the CFURLCache.
 
-        Follow-up fix to r78291. I should pass (int) 0, not '0' to memset. 
+        * wtf/Platform.h:
 
-        * runtime/GCActivityCallbackCF.cpp:
-        (JSC::DefaultGCActivityCallback::commonConstructor): fix mistaken post-review change.
+2011-02-21  Xan Lopez  <xlopez@igalia.com>
 
-2011-02-10  Joseph Pecoraro  <joepeck@webkit.org>
+        Reviewed by Gavin Barraclough.
 
-        Reviewed by Geoffrey Garen.
+        Use ASSERT_JIT_OFFSET in JITPropertyAccess32_64.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=54901
 
-        Make DefaultGCActivityCallback for PLATFORM(CF) Easier to Subclass
-        https://bugs.webkit.org/show_bug.cgi?id=54257
+        * jit/JIT.h: swap actual and expected values in message, they were
+        reversed.
+        * jit/JITCall32_64.cpp:
+        (JSC::JIT::compileOpCall): use ASSERT_JIT_OFFSET instead of
+        a simple ASSERT.
+        * jit/JITPropertyAccess32_64.cpp:
+        (JSC::JIT::emit_op_method_check): ditto.
+        (JSC::JIT::compileGetByIdHotPath): ditto.
+        (JSC::JIT::compileGetByIdSlowCase): ditto.
+        (JSC::JIT::emit_op_put_by_id): ditto.
 
-        A subclass may want to specify the CFRunLoop that the Garbage Collection
-        will happen on. It was difficult to manipulate this in a subclass because
-        the current DefaultGCActivityCallback class does this in its constructor.
-        This patch generalizes things a bit more so that a specific run loop can
-        be passed in to the constructor. This makes it so all run loop management
-        can stay in DefaultGCActivityCallback and a subclass can specify any runloop.
+2011-02-21  Gavin Barraclough  <barraclough@apple.com>
 
-        * runtime/GCActivityCallback.h: expose a PLATFORM(CF) constructor that can
-        specify the runloop GC can be scheduled on.
-        * runtime/GCActivityCallbackCF.cpp:
-        (JSC::DefaultGCActivityCallback::DefaultGCActivityCallback): two constructors,
-        one that specifies the run loop and passes that on to commonConstructor and
-        the old constructor defaults to the current run loop.
-        (JSC::DefaultGCActivityCallback::commonConstructor): do normal construction,
-        adding the timer to the given runloop.
+        Ruber stamped by Sam Weinig
 
-2011-02-10  Geoffrey Garen  <ggaren@apple.com>
+        Bug 54899 - Math.LOG10E should be 0.4342944819032518
+        This value is quoted in section 15.8.1.5 of the spec.
 
-        Reviewed by Oliver Hunt.
+        * runtime/MathObject.cpp:
+        (JSC::MathObject::MathObject):
 
-        A little more encapsulation for MarkedBlock: Moved allocate() and sweep() into MarkedBlock
-        https://bugs.webkit.org/show_bug.cgi?id=54253
-        
-        SunSpider reports no change.
+2011-02-21  Gavin Barraclough  <barraclough@apple.com>
 
-        * runtime/CollectorHeapIterator.h: Removed DeadObjectIterator, since it
-        is now unused.
+        Reviewed by Sam Weinig.
 
-        * runtime/Heap.cpp:
-        (JSC::Heap::reset): Moved the call to shrink() here, since it seems a
-        little more clear for MarkedSpace's client to tell it explicitly when to
-        shrink.
+        Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
 
-        * runtime/JSCell.h:
-        (JSC::JSCell::MarkedBlock::allocate): Split out from MarkedSpace::allocate.
+        The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
+        containing a pointer to its parent class. These links should reflect the inheritance
+        hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
+        entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
+        since intervening C++ classes may not have ClassInfo - but would be a potential bug
+        were ClassInfo were to be added.
 
-        * runtime/MarkedBlock.cpp:
-        (JSC::MarkedBlock::sweep): Split out from MarkedSpace::sweep, and
-        converted to more directly iterate a MarkedBlock based on knowing its
-        internal structure.
+        * API/JSCallbackConstructor.cpp:
+        * API/JSCallbackFunction.cpp:
+        * API/JSCallbackObjectFunctions.h:
+        * runtime/Arguments.h:
+        * runtime/ArrayPrototype.cpp:
+        * runtime/BooleanObject.cpp:
+        * runtime/DateInstance.cpp:
+        * runtime/DatePrototype.cpp:
+        * runtime/ErrorInstance.cpp:
+        * runtime/InternalFunction.cpp:
+        * runtime/JSActivation.cpp:
+        * runtime/JSArray.cpp:
+        * runtime/JSFunction.cpp:
+        * runtime/JSONObject.cpp:
+        * runtime/JSObject.h:
+        * runtime/JSZombie.h:
+        * runtime/MathObject.cpp:
+        * runtime/NativeErrorConstructor.cpp:
+        * runtime/NumberConstructor.cpp:
+        * runtime/NumberObject.cpp:
+        * runtime/RegExpConstructor.cpp:
+        * runtime/RegExpObject.cpp:
+        * runtime/StringObject.cpp:
+        * runtime/StringPrototype.cpp:
 
-        * runtime/MarkedBlock.h:
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::allocate):
-        (JSC::MarkedSpace::sweep):
-        * runtime/MarkedSpace.h: Split out the code mentioned above.
+2011-02-21  Adam Roben  <aroben@apple.com>
 
-2011-02-10  Patrick Gansterer  <paroga@webkit.org>
+        Export JSObject::s_info from JavaScriptCore.dll
 
-        Reviewed by Andreas Kling.
+        This matches what we do for all other ClassInfo objects that WebCore needs access to.
 
-        Fix compilation error on OpenBSD
-        https://bugs.webkit.org/show_bug.cgi?id=53766
+        Fixes <http://webkit.org/b/54881> REGRESSION (r79132): Lots of tests crashing in
+        JSCell::inherits on Windows
 
-        Add a HAVE_STRNSTR in Platform.h and define it only on Darwin and FreeBSD.
+        Reviewed by Sam Weinig.
 
-        * wtf/Platform.h:
-        * wtf/StringExtras.h: Use HAVE(STRNSTR) now.
+        * runtime/JSObject.h: Added JS_EXPORTDATA to s_info.
 
-2011-02-10  Adam Roben  <aroben@apple.com>
+2011-02-21  Kristian Amlie  <kristian.amlie@nokia.com>
 
-        Print locations of assertions and logs in a way that Visual Studio understands
+        Reviewed by Andreas Kling.
 
-        With this change, double-clicking one of these locations in Visual Studio's Output Window
-        will focus that line of code in the editor.
+        Switched to compiler based detection, where the error actually is.
 
-        Fixes <http://webkit.org/b/54208> Double-clicking locations of assertions/logs in Visual
-        Studio's Output Window does nothing
+        It is not the platform that needs the workaround, it is the compiler.
 
-        Reviewed by Alexey Proskuryakov.
+        QtWebKit fails to compile on Windows XP with msvc-2008
+        https://bugs.webkit.org/show_bug.cgi?id=54746
 
-        * wtf/Assertions.cpp:
-        (printCallSite): Use OS(WINDOWS) instead of the meaningless OS(WIN). When we aren't using
-        the debug CRT (and thus can't call _CrtDbgReport), print the file and line number using the
-        same format that cl.exe uses when it prints compiler errors.
+        * bytecode/CodeBlock.h:
+        * runtime/RegExpObject.h:
 
-2011-02-10  Dan Bernstein  <mitz@apple.com>
+2011-02-20  Gavin Barraclough  <barraclough@apple.com>
 
-        LLVM Compiler build fix.
+        Reviewed by Oliver Hunt.
 
-        * runtime/MarkedBlock.cpp:
-        (JSC::MarkedBlock::create):
+        https://bugs.webkit.org/show_bug.cgi?id=54839
+        Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
 
-2011-02-10  Peter Varga  <pvarga@webkit.org>
+        Historically, Native functions used to be represented by PrototypeFunctions, however
+        since introducing call optimizations to the JIT this has used JSFunctions for host
+        calls too. At the point this change was made, the interpreter continued to use
+        PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
+        the interpreter has had to be able to run using host functions represented using
+        JSFunctions - leading to an unnecessary and redundant divergence in behaviour between 
+        interpreter only builds, and situations where the JIT has fallen back to interpreting.
 
-        Reviewed by Csaba Osztrogonác.
+        NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
+        for wrappers for host functions, and as such can also be removed.
 
-        Remove PCRE source from trunk
-        https://bugs.webkit.org/show_bug.cgi?id=54188
+        GlobalEvalFunction is a redundant wrapper that happens to be derived from
+        PrototypeFunction. It existed to hold a reference to the global object - but since all
+        functions how derive from JSObjectWithGlobalObject, this no longer requires an
+        additional class to provide this functionality.
 
-        * Android.mk:
-        * Android.v8.wtf.mk:
-        * CMakeLists.txt:
-        * DerivedSources.make:
-        * DerivedSources.pro:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.order:
-        * JavaScriptCore.pri:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
-        * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
-        * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+        * JavaScriptCore.JSVALUE32_64only.exp:
+        * JavaScriptCore.JSVALUE64only.exp:
         * JavaScriptCore.xcodeproj/project.pbxproj:
-        * pcre/AUTHORS: Removed.
-        * pcre/COPYING: Removed.
-        * pcre/dftables: Removed.
-        * pcre/pcre.h: Removed.
-        * pcre/pcre.pri: Removed.
-        * pcre/pcre_compile.cpp: Removed.
-        * pcre/pcre_exec.cpp: Removed.
-        * pcre/pcre_internal.h: Removed.
-        * pcre/pcre_tables.cpp: Removed.
-        * pcre/pcre_ucp_searchfuncs.cpp: Removed.
-        * pcre/pcre_xclass.cpp: Removed.
-        * pcre/ucpinternal.h: Removed.
-        * pcre/ucptable.cpp: Removed.
-        * wscript:
-
-2011-02-10  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Adam Barth.
-
-        Add randomValuesFromOS for OS(WINDOWS)
-        https://bugs.webkit.org/show_bug.cgi?id=54155
-
-        Use CryptGenRandom for generating cryptographically secure random numbers.
-        This will work on WinCE and MinGW too.
-
-        * config.h:
-        * wtf/OSRandomSource.cpp:
-        (WTF::randomValuesFromOS):
-
-2011-02-10  Jarred Nicholls  <jarred@sencha.com>
-
-        Reviewed by Adam Barth.
-
-        REGRESSION(r78149): Return value of read() shouldn't be ignored.
-        https://bugs.webkit.org/show_bug.cgi?id=54167
-        
-        stdio read should have its return value handled. Build error in gcc 4.4.5.
+            Removed symbols / references to files.
 
-        * wtf/OSRandomSource.cpp:
-        (WTF::randomValuesFromOS):
+        * runtime/GlobalEvalFunction.cpp: Removed.
+        * runtime/GlobalEvalFunction.h: Removed.
+        * runtime/NativeFunctionWrapper.h: Removed.
+        * runtime/PrototypeFunction.cpp: Removed.
+        * runtime/PrototypeFunction.h: Removed.
+            Removed.
 
-2011-02-10  Patrick Gansterer  <paroga@webkit.org>
+        * runtime/Executable.cpp:
+        (JSC::NativeExecutable::~NativeExecutable):
+        * runtime/Executable.h:
+        (JSC::NativeExecutable::create):
+        (JSC::NativeExecutable::NativeExecutable):
+        (JSC::JSFunction::nativeFunction):
+        * runtime/JSFunction.cpp:
+        (JSC::callHostFunctionAsConstructor):
+        (JSC::JSFunction::JSFunction):
+        (JSC::JSFunction::getCallData):
+        * runtime/JSFunction.h:
+        * runtime/JSGlobalData.cpp:
+        (JSC::JSGlobalData::getHostFunction):
+        * runtime/JSGlobalData.h:
+        (JSC::JSGlobalData::getCTIStub):
+            Added interpreter-friendly constructors for NativeExecutables.
 
-        Reviewed by Adam Barth.
+        * bytecompiler/BytecodeGenerator.cpp:
+        * interpreter/Interpreter.cpp:
+        * jit/JITStubs.cpp:
+        * jsc.cpp:
+        * runtime/ArrayConstructor.cpp:
+        * runtime/BooleanPrototype.cpp:
+        * runtime/BooleanPrototype.h:
+        * runtime/CallData.h:
+        * runtime/DateConstructor.cpp:
+        * runtime/DateConstructor.h:
+        * runtime/ErrorPrototype.cpp:
+        * runtime/ErrorPrototype.h:
+        * runtime/FunctionPrototype.cpp:
+        * runtime/FunctionPrototype.h:
+        * runtime/JSGlobalObject.cpp:
+        * runtime/JSGlobalObject.h:
+        * runtime/JSGlobalObjectFunctions.cpp:
+        * runtime/Lookup.cpp:
+        * runtime/NumberPrototype.cpp:
+        * runtime/NumberPrototype.h:
+        * runtime/ObjectConstructor.cpp:
+        * runtime/ObjectConstructor.h:
+        * runtime/ObjectPrototype.cpp:
+        * runtime/ObjectPrototype.h:
+        * runtime/RegExpPrototype.cpp:
+        * runtime/RegExpPrototype.h:
+        * runtime/SmallStrings.h:
+        * runtime/StringConstructor.cpp:
+        * runtime/StringConstructor.h:
+            Removed use of redundant classes.
 
-        Rename randomValuesFromOS to cryptographicallyRandomValuesFromOS
-        https://bugs.webkit.org/show_bug.cgi?id=54156
+2011-02-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
 
-        randomValuesFromOS generates random numbers of cryptographic quality.
-        Make this clear by adding "cryptographically" to the function name.
+        Unreviewed build fix for Symbian.
 
-        * wtf/CryptographicallyRandomNumber.cpp:
-        (WTF::ARC4Stream::ARC4RandomNumberGenerator::stir):
-        * wtf/OSRandomSource.cpp:
-        (WTF::cryptographicallyRandomValuesFromOS):
-        * wtf/OSRandomSource.h:
+        [Symbian] Revert the removal of linking 
+        against hal after r79126.
 
-2011-02-09  Mark Rowe  <mrowe@apple.com>
+        Dependency on the hal library can not be removed 
+        as it is still used (e.g. in MarkStackSymbian.cpp).
 
-        Reviewed by Sam Weinig.
+        * JavaScriptCore.pri:
 
-        <rdar://problem/8805364> Malloc zone enumeration code should be safe in the face of errors from the memory reader.
+2011-02-19  Gavin Barraclough  <barraclough@apple.com>
 
-        * wtf/FastMalloc.cpp:
-        (WTF::PageHeapAllocator::recordAdministrativeRegions): Use the new helper function to walk the linked list safely.
-        (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects): Ditto.
-        (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Ditto.
-        (WTF::TCMallocStats::PageMapFreeObjectFinder::visit): Bail out if the span could not be read.
-        (WTF::TCMallocStats::PageMapMemoryUsageRecorder::visit): Ditto.
-        * wtf/MallocZoneSupport.h:
-        (WTF::RemoteMemoryReader::operator()): Remove an assert that is not valid.
-        (WTF::RemoteMemoryReader::nextEntryInLinkedList): Add a helper function for retrieving the next entry in
-        a linked list. It maps a failed read of the remote memory in to a null pointer, which all callers can
-        handle gracefully.
+        Interpreter build fix.
 
-2011-02-09  Gavin Barraclough  <barraclough@apple.com>
+        * runtime/ArrayConstructor.cpp:
+        * runtime/BooleanPrototype.cpp:
+        * runtime/DateConstructor.cpp:
+        * runtime/ErrorPrototype.cpp:
+        * runtime/FunctionPrototype.cpp:
+        * runtime/Lookup.cpp:
+        * runtime/NumberPrototype.cpp:
+        * runtime/ObjectConstructor.cpp:
+        * runtime/ObjectPrototype.cpp:
+        * runtime/RegExpPrototype.cpp:
+        * runtime/StringConstructor.cpp:
 
-        Reviewed by Sam Weinig.
+2011-02-19  Gavin Barraclough  <barraclough@apple.com>
 
-        Bug 54164 - Optimize global_var accesses on JSVALUE64
+        Build fix!!
 
-        Directly embed the pointer to d->registers, optimize out the load
-        from the variable object, as we do already in JSVALUE32_64.
+        * JavaScriptCore.exp:
 
-        This is a ~1.5% win on sunspidey.
+2011-02-19  Gavin Barraclough  <barraclough@apple.com>
 
-        * jit/JIT.cpp:
-        * jit/JIT.h:
-        * jit/JITOpcodes.cpp:
-        (JSC::JIT::emit_op_get_global_var):
-        (JSC::JIT::emit_op_put_global_var):
-        (JSC::JIT::emit_op_get_scoped_var):
-        (JSC::JIT::emit_op_put_scoped_var):
+        Windows build fix!!
 
-2011-02-09  Geoffrey Garen  <ggaren@apple.com>
+        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
 
-        Reviewed by Oliver Hunt.
+2011-02-19  Gavin Barraclough  <barraclough@apple.com>
 
-        A little more encapsulation for MarkedBlock: Made MarkedBlock responsible
-        for its own initialization and destruction
-        https://bugs.webkit.org/show_bug.cgi?id=54137
+        Windows build fix!
 
-        * runtime/CollectorHeapIterator.h: Removed ObjectIterator since it is
-        now unused.
+        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
 
-        * runtime/JSCell.h: Maded MarkedBlock a friend so it can construct and
-        destruct JSCells.
+2011-02-19  Gavin Barraclough  <barraclough@apple.com>
 
-        * runtime/MarkedBlock.cpp:
-        (JSC::MarkedBlock::create):
-        (JSC::MarkedBlock::destroy):
-        (JSC::MarkedBlock::MarkedBlock): Migrated initialization and destruction
-        code from MarkedSpace, updating it not to use ObjectIterator. We don't
-        want to use an abstract iterator since iteration will be unique to each
-        block in the future.
+        Build fix!
 
-        * runtime/MarkedBlock.h: Made the consructor private and moved it into
-        the .cpp file because it's big now.
+        * JavaScriptCore.exp:
 
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::allocateBlock):
-        (JSC::MarkedSpace::freeBlock): Migrated code.
+2011-02-18  Gavin Barraclough  <barraclough@apple.com>
 
-        * runtime/MarkedSpace.h:
-        (JSC::CollectorHeap::collectorBlock): Keep a vector of MarkedBlock
-        pointers instead of aligned allocations -- how MarkedBlocks are allocated
-        is now an implementation detail of MarkedBlock.
+        Reviewed by Sam Weinig.
 
-2011-02-09  Adam Barth  <abarth@webkit.org>
+        Bug 54786 - Devirtualize JSCell::classInfo()
 
-        Another attempt to fix the Qt Windows build.
+        Instead of making a virtual function call, add a pointer to the ClassInfo
+        onto Structure.
 
-        * config.h:
-        * wtf/OSRandomSource.cpp:
-        (WTF::randomValuesFromOS):
+        This removes a virtual function call, and paves the way towards removing all
+        the createStructure methods, and StructureFlags/AnonymousSlotCount properties
+        (these should be able to move onto ClassInfo).
 
-2011-02-09  Adam Barth  <abarth@webkit.org>
+        Calls to Structure::create must now pass a pointer to the ClassInfo for the
+        structure. All objects now have a ClassInfo pointer, non-object cell types
+        still do not.
 
-        Attempt to fix the Qt Windows build.
-
-        * wtf/OSRandomSource.cpp:
-        (WTF::randomValuesFromOS):
-
-2011-02-09  Adam Barth  <abarth@webkit.org>
-
-        Reviewed by Eric Seidel.
-
-        Add WTF::cryptographicallyRandomNumber
-        https://bugs.webkit.org/show_bug.cgi?id=54083
-
-        Introduce a cryptographically strong random number generator to WTF.
-        The random number generator is based on arc4random as found in:
-
-        http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/crypt/arc4random.c?rev=1.22
-
-        I've changed to source to WebKit style and abstracted the operating
-        system interaction to OSRandomSource.  We'll use this functionality to
-        expose a cryptographically strong random number generator to
-        JavaScript.
-
-        * Android.mk:
-        * Android.v8.wtf.mk:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * config.h:
-        * wtf/CMakeLists.txt:
-        * wtf/CryptographicallyRandomNumber.cpp: Added.
-        (WTF::initMutexIfNeeded):
-        (WTF::init):
-        (WTF::addRandomData):
-        (WTF::stir):
-        (WTF::stirIfNeeded):
-        (WTF::getByte):
-        (WTF::getWord):
-        (WTF::cryptographicallyRandomNumber):
-        (WTF::cryptographicallyRandomValues):
-        * wtf/CryptographicallyRandomNumber.h: Added.
-        * wtf/OSRandomSource.cpp: Added.
-        (WTF::randomValuesFromOS):
-        * wtf/OSRandomSource.h: Added.
-        * wtf/wtf.pri:
-
-2011-02-09  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix the build.
-
-        * wtf/Bitmap.h: Include string.h for memset. Not sure why this started
-        failing now.
-
-2011-02-09  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        A tiny bit of encapsulation for MarkedBlock: made its heap data member private
-        https://bugs.webkit.org/show_bug.cgi?id=54129
-
-        * runtime/MarkedBlock.h:
-        (JSC::MarkedBlock::isCellAligned):
-        (JSC::MarkedBlock::MarkedBlock):
-        (JSC::MarkedBlock::heap): Made the heap data member private, and provided
-        a constructor and an accessor.
-
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::allocateBlock):
-        * runtime/MarkedSpace.h:
-        (JSC::MarkedSpace::heap): Use the constructor and accessor.
-
-2011-02-09  Peter Varga  <pvarga@webkit.org>
-
-        Reviewed by Gavin Barraclough.
-
-        Replace PCRE with Yarr in WebCore
-        https://bugs.webkit.org/show_bug.cgi?id=53496
-
-        * JavaScriptCore.exp:
-        * JavaScriptCore.gyp/JavaScriptCore.gyp:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * create_regex_tables:
-        * runtime/RegExp.cpp:
-        * wtf/Platform.h:
-        * yarr/Yarr.h:
-        * yarr/YarrJIT.cpp:
-        * yarr/YarrJIT.h:
-        * yarr/YarrParser.h:
-        * yarr/YarrPattern.h:
-        * yarr/YarrSyntaxChecker.h:
-        * yarr/yarr.pri: Added.
-
-2011-02-08  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Removed some dead code from Heap
-        https://bugs.webkit.org/show_bug.cgi?id=54064
-
-        * runtime/MarkedSpace.cpp: Removed some now-unused constants and
-        declarations.
-
-        (JSC::MarkedSpace::allocate): Removed some ASSERTs that are also ASSERTed
-        by our caller. Removed redundant typedefs.
-
-2011-02-08  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Use a vector to track blocks in the Heap, instead of hand-rolled vector-like code
-        https://bugs.webkit.org/show_bug.cgi?id=54062
-        
-        SunSpider reports no change.
-
-        * runtime/CollectorHeapIterator.h:
-        (JSC::CollectorHeapIterator::isValid):
-        (JSC::CollectorHeapIterator::isLive): Updated for new mark invariant: To
-        know if an object is live, you just need to test its mark bit.
-
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::MarkedSpace): Moved waterMark and highWaterMark from
-        CollectorHeap into MarkedSpace, since they're global state. Removed call
-        to memset since CollectorHeap is a true class with its own constructor now.
-
-        (JSC::MarkedSpace::destroy): Change uses of m_heap.usedBlocks to
-        m_heap.blocks.size(), and m_heap.numBlocks to m_heap.blocks.capacity().
-
-        (JSC::MarkedSpace::allocateBlock):
-        (JSC::MarkedSpace::freeBlock): No need to manage our vector manually anymore.
-
-        (JSC::MarkedSpace::allocate):
-        (JSC::MarkedSpace::shrink):
-        (JSC::MarkedSpace::clearMarkBits):
-        (JSC::MarkedSpace::markedCells):
-        (JSC::MarkedSpace::sweep):
-        (JSC::MarkedSpace::objectCount):
-        (JSC::MarkedSpace::capacity):
-        (JSC::MarkedSpace::reset):
-        (JSC::MarkedSpace::primaryHeapEnd):
-        * runtime/MarkedSpace.h:
-        (JSC::CollectorHeap::CollectorHeap):
-        (JSC::MarkedSpace::highWaterMark):
-        (JSC::MarkedSpace::setHighWaterMark):
-        (JSC::MarkedSpace::contains): Same as above.
-
-2011-02-08  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Give each MarkedBlock enough mark bits to cover the whole block
-        https://bugs.webkit.org/show_bug.cgi?id=54029
-        
-        SunSpider reports no change.
-
-        This simplifies access to mark bits, since any cell-aligned pointer
-        into a block now has a valid mark bit to test.
-        
-        * runtime/MarkedBlock.h: Changed CELLS_PER_BLOCK to account for the extra
-        mark bits. This happens not to change its actual value.
-        (JSC::MarkedBlock::cellNumber):
-        (JSC::MarkedBlock::isMarked):
-        (JSC::MarkedBlock::testAndSetMarked):
-        (JSC::MarkedBlock::setMarked): Changed const JSCell* to const void* to
-        remove a cast from our caller, and to more accurately reflect the fact
-        that MarkedBlock is agnostic about the types pointed to by the pointers
-        you pass to it.
-
-        (JSC::MarkedBlock::isPossibleCell): Removed a null check. We now consider
-        the null pointer to be a possible cell with a 0 (impossible) block. This
-        removes a null check from marking.
-
-        * runtime/MarkedSpace.cpp:
-        * runtime/MarkedSpace.h:
-        (JSC::MarkedSpace::contains): Simplified the contains check, and inlined
-        the whole thing, now that it's so simple.
-
-2011-02-08  Daniel Bates  <dbates@rim.com>
-
-        Rubber-stamped by Martin Robinson.
-
-        Rename enum ProtectionSeting [sic] to ProtectionSetting.
-
-        * jit/ExecutableAllocator.cpp:
-        (JSC::ExecutableAllocator::reprotectRegion):
-        * jit/ExecutableAllocator.h:
-
-2011-02-08  Balazs Kelemen  <kbalazs@webkit.org>
-
-        Reviewed by Andreas Kling.
-
-        [Qt] Should not always define USE_SYSTEM_MALLOC
-        https://bugs.webkit.org/show_bug.cgi?id=54007
-
-        * wtf/Platform.h:
-
-2011-02-08  Dan Bernstein  <mitz@apple.com>
-
-        Reviewed by Maciej Stachowiak.
-
-        LLVM Compiler build fix.
-
-        * runtime/WriteBarrier.h:
-        (JSC::WriteBarrier::WriteBarrier):
-
-2011-02-07  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        JSVariableObject::setRegisters should take PassOwnArrayPtr for registersArray.
-        https://bugs.webkit.org/show_bug.cgi?id=53902
-
-        * runtime/Arguments.h:
-        (JSC::JSActivation::copyRegisters): Uses OwnArrayPtr<Register> instead of Register*.
-        * runtime/JSGlobalObject.cpp:
-        (JSC::JSGlobalObject::copyGlobalsFrom): Ditto.
-        * runtime/JSGlobalObject.h:
-        (JSC::JSGlobalObject::setRegisters): Takes PassOwnArrayPtr<Register> instead of Register*
-        for registerArray.
-        * runtime/JSVariableObject.h:
-        (JSC::JSVariableObject::copyRegisterArray): Returns PassOwnArrayPtr<Register> instead of Register*.
-        (JSC::JSVariableObject::setRegisters): Takes PassOwnArrayPtr<Register> instead of Register*
-        for registerArray.
-
-2011-02-07  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Removed some dead code from Heap
-        https://bugs.webkit.org/show_bug.cgi?id=53969
-        
-        SunSpider reports no change.
-
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::shrink):
-        (JSC::MarkedSpace::sweep):
-        * runtime/MarkedSpace.h: Removed resizeBlocks and growBlocks, and
-        renamed shrinkBlocks to shrink, making it unconditionally shrink as
-        much as possible.
-
-2011-02-07  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Simplified the marked space's mark invariant
-        https://bugs.webkit.org/show_bug.cgi?id=53968
-        
-        SunSpider reports no change.
-        
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::allocate): Mark objects when allocating them. This
-        means that, at all times other than the mark phase, an object is live
-        if and only if it is marked.
-
-        (JSC::MarkedSpace::containsSlowCase): Use the new mark invariant to
-        simplify testing whether an object is live.
-
-2011-02-07  Beth Dakin  <bdakin@apple.com>
-
-        Reviewed by Eric Seidel.
-
-        Fix for https://bugs.webkit.org/show_bug.cgi?id=53950
-        USE_WK_SCROLLBAR_PAINTER in ScrollbarThemeMac should be in
-        Platform.h instead
-
-        * wtf/Platform.h:
-
-2011-02-07  Darin Adler  <darin@apple.com>
-
-        Reviewed by Antti Koivisto.
-
-        Add built-in decoder for UTF-8 for improved performance
-        https://bugs.webkit.org/show_bug.cgi?id=53898
-
-        * wtf/unicode/UnicodeMacrosFromICU.h: Added U8_MAX_LENGTH and
-        U8_APPEND_UNSAFE. Also fixed header.
-
-2011-02-07  Adam Roben  <aroben@apple.com>
-
-        Delete precompiled headers whenever any .vsprops file changes
-
-        Precompiled headers need to be rebuilt if, e.g., an ENABLE_* macro is changed in one of our
-        .vsprops files. Unfortunately, Visual Studio isn't smart enough to figure this out, so we
-        give it some assistance by deleting the precompiled headers whenever any .vsprops file
-        changes.
-
-        I also made some drive-by fixes while I was in the area.
-
-        Fixes <http://webkit.org/b/53826> react-to-vsprops-changes.py doesn't force precompiled
-        headers to be rebuilt, but should
-
-        Reviewed by David Kilzer.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make: Stop ignoring the
-        return code from react-to-vsprops-changes.py so we will notice when errors are introduced.
-        But skip the script entirely in production builds, where it is both unnecessary and can't
-        function correctly (due to not having the entire source tree available to it).
-
-        * JavaScriptCore.vcproj/JavaScriptCore/react-to-vsprops-changes.py:
-        (main): Removed an extra '*' in the glob for finding manifest files. The extra '*' was
-        leftover from before we rearranged WebKitBuild in r75138. Moved code to delete an old file
-        to the new delete_if_older_than function. Added code to delete any precompiled headers older
-        than the newest .vsprops file.
-        (delete_if_older_than): Added. Code came from main.
-
-2011-02-07  Antti Koivisto  <antti@apple.com>
-
-        Not reviewed.
-        
-        ASSERTS_DISABLED -> ASSERT_DISABLED
-
-        * wtf/BloomFilter.h:
-
-2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Unreviewed; speculative Qt build fix.
-
-        * JavaScriptCore.pro:
-
-2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
-        https://bugs.webkit.org/show_bug.cgi?id=52867
-
-        Removed LOOSE_OWN_ARRAY_PTR and OwnArrayPtr<T>::set. Replaced all calls to OwnArrayPtr::set
-        and loose instantiation of OwnArrayPtr by calls to operator= and adoptArrayPtr. Also removed
-        OwnArrayPtrCommon.h since PassOwnArrayPtr.h needs to include OwnArrayPtr.h and there is
-        no point in putting deleteOwnedArrayPtr into a separate header.
-        
-        Note: if this patch breaks build, the code is either instiantiating OwnArrayPtr
-        without calling adoptArrayPtr or calling set on ArrayOwnPtr instead of operator=.
-
-        No tests are added since this is a refactoring.
-
-        * API/JSStringRefCF.cpp:
-        (JSStringCreateWithCFString): Calls adoptArrayPtr.
-        * GNUmakefile.am: Removed OwnArrayPtrCommon.h
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj: Ditto.
-        * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
-        * runtime/Arguments.cpp:
-        (JSC::Arguments::deleteProperty): Calls adoptArrayPtr.
-        * runtime/Arguments.h:
-        (JSC::Arguments::copyRegisters): Ditto.
-        * runtime/JSPropertyNameIterator.cpp:
-        (JSC::JSPropertyNameIterator::JSPropertyNameIterator): Ditto.
-        * runtime/JSVariableObject.h:
-        (JSC::JSVariableObject::setRegisters): Calls operator= instead of set.
-        * runtime/StructureChain.cpp:
-        (JSC::StructureChain::StructureChain): Ditto.
-        * wtf/CMakeLists.txt:
-        * wtf/DateMath.h:
-        (JSC::GregorianDateTime::GregorianDateTime): No longer instnatiates OwnArrayPtr
-        with a null pointer.
-        * wtf/OwnArrayPtr.h:
-        * wtf/OwnArrayPtrCommon.h: Removed.
-        * wtf/PassOwnArrayPtr.h: No longer includes OwnArrayCommon.h
-        (WTF::deleteOwnedArrayPtr): Moved from OwnArrayPtrCommon.h
-
-2011-02-06  Antti Koivisto  <antti@apple.com>
-
-        Reviewed by Maciej Stachowiak.
-
-        Use bloom filter for descendant selector filtering
-        https://bugs.webkit.org/show_bug.cgi?id=53880
-        
-        Implement a bloom filter with k=2 and 8 bit counting.
-
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * wtf/BloomFilter.h: Added.
-        (WTF::BloomFilter::maximumCount):
-        (WTF::BloomFilter::BloomFilter):
-        (WTF::BloomFilter::mayContain):
-        (WTF::BloomFilter::add):
-        (WTF::BloomFilter::remove):
-        (WTF::BloomFilter::firstSlot):
-        (WTF::BloomFilter::secondSlot):
-        (WTF::::add):
-        (WTF::::remove):
-        (WTF::::clear):
-        (WTF::::likelyEmpty):
-        (WTF::::isClear):
-
-2011-02-04  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Rolled back in r77612 with ASSERT/crash fixed.
-        https://bugs.webkit.org/show_bug.cgi?id=53759
-        
-        Don't shrink the heap to 0 unconditionally. Instead, shrink to 1 if
-        necessary. For now, the heap assumes that it always has at least one
-        block live.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::Heap):
-        (JSC::Heap::reset):
-        * runtime/Heap.h:
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::allocate):
-        (JSC::MarkedSpace::shrinkBlocks):
-        (JSC::MarkedSpace::sweep):
-        (JSC::MarkedSpace::reset):
-        * runtime/MarkedSpace.h:
-        (JSC::MarkedSpace::highWaterMark):
-        (JSC::MarkedSpace::setHighWaterMark):
-
-2011-02-04  David Kilzer  <ddkilzer@apple.com>
-
-        BUILD FIX: REALLY remove the last vestiges of JSVALUE32!
-
-        <rdar://problem/8957409> Remove last vestiges of JSVALUE32
-        <http://webkit.org/b/53779>
-
-        * DerivedSources.make: Removed dependency on
-        JavaScriptCore.JSVALUE32.exp.
-
-2011-02-04  David Kilzer  <ddkilzer@apple.com>
-
-        <rdar://problem/8957409> Remove last vestiges of JSVALUE32
-        <http://webkit.org/b/53779>
-
-        Reviewed by Darin Adler.
-
-        Support for JSVALUE32 was originaly removed in r70111.
-
-        * Configurations/JavaScriptCore.xcconfig: Changed armv6 to use
-        JavaScriptCore.JSVALUE32_64.exp and ppc64 to use
-        JavaScriptCore.JSVALUE64.exp to match Platform.h.
-        * DerivedSources.make: Removed rule for
-        JavaScriptCore.JSVALUE32.exp.
-        * JavaScriptCore.JSVALUE32only.exp: Removed.
-        * JavaScriptCore.xcodeproj/project.pbxproj: Removed references
-        to JavaScriptCore.JSVALUE32only.exp.
-
-2011-02-04  David Kilzer  <ddkilzer@apple.com>
-
-        Use static_cast and other style cleanup in YarrInterpreter.cpp
-        <http://webkit.org/b/53772>
-
-        Reviewed by John Sullivan.
-
-        * yarr/YarrInterpreter.cpp:
-        (JSC::Yarr::Interpreter::InputStream::readChecked): Use
-        static_cast.
-        (JSC::Yarr::Interpreter::InputStream::checkInput): Remove
-        unnecessary else block.
-        (JSC::Yarr::Interpreter::matchAssertionEOL): Ditto.
-        (JSC::Yarr::Interpreter::backtrackBackReference): Ditto.
-        (JSC::Yarr::ByteCompiler::emitDisjunction): Use static_cast.
-
-2011-02-04  Sheriff Bot  <webkit.review.bot@gmail.com>
-
-        Unreviewed, rolling out r77625 and r77626.
-        http://trac.webkit.org/changeset/77625
-        http://trac.webkit.org/changeset/77626
-        https://bugs.webkit.org/show_bug.cgi?id=53765
-
-        It broke Windows builds (Requested by Ossy_ on #webkit).
-
-        * JavaScriptCore.exp:
-        * JavaScriptCore.gyp/JavaScriptCore.gyp:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * create_regex_tables:
-        * runtime/RegExp.cpp:
-        * wtf/Platform.h:
-        * yarr/Yarr.h:
-        * yarr/YarrJIT.cpp:
-        * yarr/YarrJIT.h:
-        * yarr/YarrParser.h:
-        * yarr/YarrPattern.h:
-        * yarr/YarrSyntaxChecker.h:
-        * yarr/yarr.pri: Removed.
-
-2011-02-04  Jessie Berlin  <jberlin@apple.com>
-
-        Windows build fix. Unreviewed.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
-
-2011-02-04  Peter Varga  <pvarga@webkit.org>
-
-        Reviewed by Gavin Barraclough.
-
-        Replace PCRE with Yarr in WebCore
-        https://bugs.webkit.org/show_bug.cgi?id=53496
-
-        * JavaScriptCore.exp:
-        * JavaScriptCore.gyp/JavaScriptCore.gyp:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * create_regex_tables:
-        * runtime/RegExp.cpp:
-        * wtf/Platform.h:
-        * yarr/Yarr.h:
-        * yarr/YarrJIT.cpp:
-        * yarr/YarrJIT.h:
-        * yarr/YarrParser.h:
-        * yarr/YarrPattern.h:
-        * yarr/YarrSyntaxChecker.h:
-        * yarr/yarr.pri: Added.
-
-2011-02-04  Ilya Tikhonovsky  <loislo@chromium.org>
-
-        Unreviewed rollout two patches r77614 and r77612.
-
-        REGRESSION: Snow Leopard Intel Release anumber of failing tests.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::Heap):
-        (JSC::Heap::reset):
-        * runtime/Heap.h:
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::allocate):
-        (JSC::MarkedSpace::sweep):
-        (JSC::MarkedSpace::reset):
-        * runtime/MarkedSpace.h:
-
-2011-02-04  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix 32bit build.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::reset): Use an explicit cast to avoid shortening warnings,
-        since 1.5 is double (64bit), and the result is size_t (32bit).
-
-2011-02-03  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Cameron Zwarich.
-
-        Changed MarkedSpace to delegate grow/shrink decisions to Heap
-        https://bugs.webkit.org/show_bug.cgi?id=53759
-        
-        SunSpider reports no change.
-        
-        * runtime/Heap.cpp:
-        (JSC::Heap::Heap):
-        (JSC::Heap::reset):
-        * runtime/Heap.h: Reorganized a few data members for better cache locality.
-        Added a grow policy.
-        
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::allocate):
-        (JSC::MarkedSpace::sweep):
-        (JSC::MarkedSpace::reset): Don't shrink automatically. Instead, wait for
-        the heap to make an explicit sweep call.
-
-        * runtime/MarkedSpace.h:
-        (JSC::MarkedSpace::highWaterMark):
-        (JSC::MarkedSpace::setHighWaterMark): Use a watermark to determine how
-        many bytes to allocate before failing and giving the heap an opportunity
-        to collect garbage. This also means that we allocate blocks on demand,
-        instead of ahead of time.
-
-2011-02-03  James Kozianski  <koz@chromium.org>
-
-        Reviewed by Dimitri Glazkov.
-
-        Add navigator.registerProtocolHandler behind a flag.
-        https://bugs.webkit.org/show_bug.cgi?id=52609
-
-        * Configurations/FeatureDefines.xcconfig:
-
-2011-02-03  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Not all blocks are freed when the heap is freed (counting is hard!)
-        https://bugs.webkit.org/show_bug.cgi?id=53732
-
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::destroy): Freeing a block compacts the list, so just
-        keep freeing block 0 until there are no blocks left.
-
-2011-02-03  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix the Mac build.
-
-        * JavaScriptCore.xcodeproj/project.pbxproj: The new MarkedBlock.h header
-        needs to be private, not project, so other projects can include headers
-        that depend on it.
-
-2011-02-03  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Start using MarkedBlock instead of CollectorBlock
-        https://bugs.webkit.org/show_bug.cgi?id=53693
-        
-        SunSpider reports no change.
-        
-        * runtime/MarkedBlock.h:
-        (JSC::MarkedBlock::blockFor):
-        (JSC::MarkedBlock::setMarked):
-        (JSC::MarkedBlock::isCellAligned):
-        (JSC::MarkedBlock::isPossibleCell): Updated for const-ness.
-
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::allocateBlock):
-        (JSC::MarkedSpace::containsSlowCase):
-        (JSC::MarkedSpace::clearMarkBits): Updated for const-ness.
-
-        * runtime/MarkedSpace.h:
-        (JSC::CollectorHeap::collectorBlock):
-        (JSC::MarkedSpace::heap):
-        (JSC::MarkedSpace::isMarked):
-        (JSC::MarkedSpace::testAndSetMarked):
-        (JSC::MarkedSpace::setMarked):
-        (JSC::MarkedSpace::contains): Switched from CollectorBlock to MarkedBlock,
-        and deleted dead CollectorBlock-related code.
-
-2011-02-03  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        Avoid strlen() in AtomicString::fromUTF8
-        https://bugs.webkit.org/show_bug.cgi?id=50516
-
-        Add an overload to calculateStringHashFromUTF8 to get
-        strlen() of the input data with only one call.
-
-        This change shows about 3% performance win on the xml-parser benchmark.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * wtf/text/AtomicString.cpp:
-        (WTF::AtomicString::fromUTF8):
-        * wtf/unicode/UTF8.cpp:
-        (WTF::Unicode::calculateStringHashAndLengthFromUTF8Internal):
-        (WTF::Unicode::calculateStringHashFromUTF8):
-        (WTF::Unicode::calculateStringHashAndLengthFromUTF8):
-        * wtf/unicode/UTF8.h:
-
-2011-02-02  Gavin Barraclough  <barraclough@apple.com>
-
-        Windows build fix.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2011-02-02  Gavin Barraclough  <barraclough@apple.com>
-
-        oops, build fix!
-
-        * wtf/Assertions.cpp:
-
-2011-02-02  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Bug 53650 - Add a BACKTRACE macro to Assertions.h
-
-        Add a BACKTRACE macro to Assertions.h, which will print a backtrace on
-        debug Mac builds, make CRASH (and thus ASSERT) automatically call this.
-
-        * JavaScriptCore.exp:
-        * wtf/Assertions.cpp:
-        * wtf/Assertions.h:
-
-2011-02-02  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Improper backtrack of nested non-capturing greedy paren to prior paren
-        https://bugs.webkit.org/show_bug.cgi?id=53261
-
-        A paren that follows a non-capturing greedy paren nested within a 
-        non-capturing fixed paren was back tracking to the last paren 
-        processed instead of the immediately prior paren.
-        Refactored default backtracking of parens to prior paren to work for
-        both nested (within) and immediately prior (after) parens.
-
-        * yarr/YarrJIT.cpp:
-        (JSC::Yarr::YarrGenerator::GenerationState::addParenthesesTail):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::TermGenerationState):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::setJumpListToPriorParen):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::getJumpListToPriorParen):
-        (JSC::Yarr::YarrGenerator::ParenthesesTail::ParenthesesTail):
-        (JSC::Yarr::YarrGenerator::ParenthesesTail::generateCode):
-        (JSC::Yarr::YarrGenerator::generateParenthesesDisjunction):
-        (JSC::Yarr::YarrGenerator::generateParenthesesSingle):
-        (JSC::Yarr::YarrGenerator::generateDisjunction):
-
-2011-02-02  Jeff Miller  <jeffm@apple.com>
-
-        Reviewed by Darin Adler and Steve Falkenburg.
-
-        Add DerivedSources.make to some Visual Studio projects
-        https://bugs.webkit.org/show_bug.cgi?id=53607
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj: Add DerivedSources.make.
-
-2011-02-02  Steve Lacey  <sjl@chromium.org>
-
-        Reviewed by Eric Carlson.
-
-        Implement basic media statistics on media elements.
-        https://bugs.webkit.org/show_bug.cgi?id=53322
-
-        * Configurations/FeatureDefines.xcconfig:
-
-2011-02-02  Kevin Ollivier  <kevino@theolliviers.com>
-
-        [wx] Build fixes for wxWebKit.
-
-        * wtf/wx/StringWx.cpp:
-        (WTF::String::String):
-
-2011-02-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        A little more Heap refactoring
-        https://bugs.webkit.org/show_bug.cgi?id=53577
-        
-        SunSpider reports no change.
-        
-        Split out MarkedBlock into its own file / class.
-        
-        Did the following renames:
-            isCellMarked => isMarked
-            checkMarkCell => testAndSetMarked
-            markCell => setMarked
-            cellOffset => cellNumber
-            collectorBlock => blockFor
-
-        * Android.mk:
-        * CMakeLists.txt:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * runtime/Heap.cpp:
-        (JSC::WeakGCHandlePool::update):
-        * runtime/Heap.h:
-        (JSC::Heap::isMarked):
-        (JSC::Heap::testAndSetMarked):
-        (JSC::Heap::setMarked):
-        * runtime/JSArray.h:
-        (JSC::MarkStack::markChildren):
-        (JSC::MarkStack::drain):
-        * runtime/JSCell.h:
-        (JSC::JSCell::MarkStack::internalAppend):
-        * runtime/MarkedBlock.cpp: Added.
-        * runtime/MarkedBlock.h: Added.
-        (JSC::MarkedBlock::blockFor):
-        (JSC::MarkedBlock::cellNumber):
-        (JSC::MarkedBlock::isMarked):
-        (JSC::MarkedBlock::testAndSetMarked):
-        (JSC::MarkedBlock::setMarked):
-        (JSC::MarkedBlock::isCellAligned):
-        (JSC::MarkedBlock::isPossibleCell):
-        * runtime/MarkedSpace.h:
-        (JSC::MarkedSpace::isMarked):
-        (JSC::MarkedSpace::testAndSetMarked):
-        (JSC::MarkedSpace::setMarked):
-        * runtime/SmallStrings.cpp:
-        (JSC::isMarked):
-        * runtime/WeakGCMap.h:
-        (JSC::WeakGCMap::isValid):
-        (JSC::::get):
-        (JSC::::take):
-        (JSC::::set):
-
-2011-02-02  Sam Weinig  <sam@webkit.org>
-
-        Fix windows clean build.
-
-        * DerivedSources.make:
-
-2011-02-02  Alejandro G. Castro  <alex@igalia.com>
-
-        Reviewed by Martin Robinson.
-
-        [GTK] Fix dist compilation
-        https://bugs.webkit.org/show_bug.cgi?id=53579
-
-        * GNUmakefile.am: Added WriteBarrier.h to the sources, it was
-        added in r77151
-
-2011-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
-
-        Unreviewed, rolling out r77297.
-        http://trac.webkit.org/changeset/77297
-        https://bugs.webkit.org/show_bug.cgi?id=53538
-
-        caused leopard crashes (Requested by paroga on #webkit).
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * wtf/text/AtomicString.cpp:
-        (WTF::AtomicString::fromUTF8):
-        * wtf/unicode/UTF8.cpp:
-        (WTF::Unicode::calculateStringHashFromUTF8):
-        * wtf/unicode/UTF8.h:
-
-2011-02-01  Sam Weinig  <sam@webkit.org>
-
-        Fix Mac production builds.
-
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2011-02-01  Sam Weinig  <sam@webkit.org>
-
-        Try to fix the windows build.
-
-        * DerivedSources.make:
-
-2011-02-01  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        Avoid strlen() in AtomicString::fromUTF8
-        https://bugs.webkit.org/show_bug.cgi?id=50516
-
-        Add an overload to calculateStringHashFromUTF8 to get
-        strlen() of the input data with only one call.
-
-        This change shows about 3% performance win on the xml-parser benchmark.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * wtf/text/AtomicString.cpp:
-        (WTF::AtomicString::fromUTF8):
-        * wtf/unicode/UTF8.cpp:
-        (WTF::Unicode::calculateStringHashAndLengthFromUTF8Internal):
-        (WTF::Unicode::calculateStringHashFromUTF8):
-        (WTF::Unicode::calculateStringHashAndLengthFromUTF8):
-        * wtf/unicode/UTF8.h:
-
-2011-02-01  Sam Weinig  <sam@webkit.org>
-
-        Reviewed by Beth Dakin.
-
-        Part 2 for <rdar://problem/8492788>
-        Adopt WKScrollbarPainterController
-
-        Use header detection to define scrollbar painting controller #define.
-
-        * DerivedSources.make:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2011-02-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Refactor JSGlobalObject-related tear-down
-        https://bugs.webkit.org/show_bug.cgi?id=53478
-        
-        While investigating crashes caused by r77082, I noticed some strange
-        destructor-time behaviors. This patch makes them less strange.
-
-        * bytecode/CodeBlock.cpp:
-        (JSC::CodeBlock::CodeBlock):
-        (JSC::CodeBlock::markAggregate):
-        * bytecode/CodeBlock.h:
-        (JSC::CodeBlock::globalObject):
-        (JSC::GlobalCodeBlock::GlobalCodeBlock):
-        (JSC::GlobalCodeBlock::~GlobalCodeBlock): Store the set of global code
-        blocks on the Heap, instead of on independent global objects. The heap
-        is guaranteed to outlast any GC-owned data structure. The heap is also
-        a natural place to store objects that needs out-of-band marking, since
-        the heap is responsible for marking all roots.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::markRoots):
-        (JSC::Heap::globalObjectCount):
-        (JSC::Heap::protectedGlobalObjectCount):
-        * runtime/Heap.h:
-        (JSC::Heap::codeBlocks):
-        * runtime/JSGlobalData.cpp:
-        (JSC::JSGlobalData::JSGlobalData):
-        * runtime/JSGlobalData.h:
-        * runtime/JSGlobalObject.cpp:
-        (JSC::JSGlobalObject::~JSGlobalObject):
-        (JSC::JSGlobalObject::init):
-        (JSC::JSGlobalObject::markChildren):
-        * runtime/JSGlobalObject.h:
-        * runtime/MarkedSpace.cpp: Store the set of global objects in a weak map
-        owned by JSGlobalData, instead of an instrusive circular linked list.
-        This is simpler, and it avoids destructor-time access between garbage
-        collected objects, which is hard to get right.
-
-        (JSC::MarkedSpace::destroy): Make sure to clear mark bits before tearing
-        everything down. Otherwise, weak data structures will incorrectly report
-        that objects pending destruction are still alive.
-
-2011-02-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        REGRESSION(77082): GC-related crashes seen: on WebKit2 bot; on GTK 32bit
-        bot; loading trac pages; typing in search field
-        https://bugs.webkit.org/show_bug.cgi?id=53519
-        
-        The crashes were all caused by failure to run an object's destructor.
-
-        * runtime/CollectorHeapIterator.h:
-        (JSC::ObjectIterator::ObjectIterator): Don't skip forward upon
-        construction. The iterator class used to do that when it was designed
-        for prior-to-beginning initialization. I forgot to remove this line
-        of code when I changed the iterator to normal initialization.
-        
-        Skipping forward upon construction was causing the heap to skip running
-        the destructor for the very first object in a block when destroying the
-        block. This usually did not crash, since block destruction is rare and
-        most objects have pretty trivial destructors. However, in the rare case
-        when the heap would destroy a block whose first object was a global
-        object or a DOM node, BOOM.
-
-2011-01-31  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        Update JSObject storage for new marking API
-        https://bugs.webkit.org/show_bug.cgi?id=53467
-
-        JSObject no longer uses EncodedJSValue for its property storage.
-        This produces a stream of mechanical changes to PropertySlot and
-        anonymous storage APIs.
-
-        * JavaScriptCore.exp:
-        * runtime/ArrayPrototype.cpp:
-        (JSC::ArrayPrototype::ArrayPrototype):
-        * runtime/BooleanConstructor.cpp:
-        (JSC::constructBoolean):
-        (JSC::constructBooleanFromImmediateBoolean):
-        * runtime/BooleanObject.cpp:
-        (JSC::BooleanObject::BooleanObject):
-        * runtime/BooleanObject.h:
-        * runtime/BooleanPrototype.cpp:
-        (JSC::BooleanPrototype::BooleanPrototype):
-        * runtime/DateInstance.cpp:
-        (JSC::DateInstance::DateInstance):
-        * runtime/DatePrototype.cpp:
-        (JSC::DatePrototype::DatePrototype):
-        * runtime/JSActivation.cpp:
-        (JSC::JSActivation::getOwnPropertySlot):
-        * runtime/JSArray.cpp:
-        (JSC::JSArray::getOwnPropertySlot):
-        * runtime/JSFunction.cpp:
-        (JSC::JSFunction::getOwnPropertySlot):
-        * runtime/JSGlobalObject.h:
-        (JSC::JSGlobalObject::JSGlobalObject):
-        * runtime/JSObject.cpp:
-        (JSC::JSObject::fillGetterPropertySlot):
-        * runtime/JSObject.h:
-        (JSC::JSObject::getDirectLocation):
-        (JSC::JSObject::offsetForLocation):
-        (JSC::JSObject::putAnonymousValue):
-        (JSC::JSObject::clearAnonymousValue):
-        (JSC::JSObject::getAnonymousValue):
-        (JSC::JSObject::putThisToAnonymousValue):
-        (JSC::JSObject::locationForOffset):
-        (JSC::JSObject::inlineGetOwnPropertySlot):
-        * runtime/JSObjectWithGlobalObject.cpp:
-        (JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
-        * runtime/JSWrapperObject.h:
-        (JSC::JSWrapperObject::JSWrapperObject):
-        (JSC::JSWrapperObject::setInternalValue):
-        * runtime/Lookup.cpp:
-        (JSC::setUpStaticFunctionSlot):
-        * runtime/NumberConstructor.cpp:
-        (JSC::constructWithNumberConstructor):
-        * runtime/NumberObject.cpp:
-        (JSC::NumberObject::NumberObject):
-        (JSC::constructNumber):
-        * runtime/NumberObject.h:
-        * runtime/NumberPrototype.cpp:
-        (JSC::NumberPrototype::NumberPrototype):
-        * runtime/PropertySlot.h:
-        (JSC::PropertySlot::getValue):
-        (JSC::PropertySlot::setValue):
-        (JSC::PropertySlot::setRegisterSlot):
-        * runtime/StringObject.cpp:
-        (JSC::StringObject::StringObject):
-        * runtime/StringPrototype.cpp:
-        (JSC::StringPrototype::StringPrototype):
-        * runtime/WriteBarrier.h:
-        (JSC::WriteBarrierBase::setWithoutWriteBarrier):
-
-2011-02-01  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Antonio Gomes.
-
-        Modify RandomNumberSeed.h to use USE(MERSENNE_TWISTER_19937)
-        https://bugs.webkit.org/show_bug.cgi?id=53506
-
-        Currently, use of the Mersenne Twister pseudorandom number generator
-        is hardcoded to the Windows CE port. With the passing of bug #53253,
-        we can generalize support for this PRNG to all ports that use srand(3)
-        and rand(3), including Windows CE.
-
-        * wtf/RandomNumberSeed.h:
-        (WTF::initializeRandomNumberGenerator):
-
-2011-02-01  Dave Tapuska  <dtapuska@rim.com>
-
-        Reviewed by Gavin Barraclough.
-
-        MacroAssemblerARM would generate code that did 32bit loads
-        on addresses that were not aligned. More specifically it would
-        generate a ldr r8,[r1, #7] which isn't valid on ARMv5 and lower.
-        The intended instruction really is ldrb r8,[r1, #7]; ensure we
-        call load8 instead of load32.
-
-        https://bugs.webkit.org/show_bug.cgi?id=46095
-
-        * assembler/MacroAssemblerARM.h:
-        (JSC::MacroAssemblerARM::set32Test32):
-        (JSC::MacroAssemblerARM::set32Test8):
-
-2011-02-01  Darin Fisher  <darin@chromium.org>
-
-        Reviewed by Eric Seidel.
-
-        Fix some Visual Studio compiler warnings.
-        https://bugs.webkit.org/show_bug.cgi?id=53476
-
-        * wtf/MathExtras.h:
-        (clampToInteger):
-        (clampToPositiveInteger):
-        * wtf/ThreadingWin.cpp:
-        (WTF::absoluteTimeToWaitTimeoutInterval):
-
-2011-01-31  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Bogus callframe during stack unwinding
-        https://bugs.webkit.org/show_bug.cgi?id=53454
-
-        Trying to access a callframe's globalData after destroying its
-        ScopeChain is not a good thing.  While we could access the
-        globalData directly through the (known valid) scopechain we're
-        holding on to, it feels fragile.  Instead we push the valid
-        ScopeChain onto the callframe again to ensure that the callframe
-        itself remains valid.
-
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::unwindCallFrame):
-
-2011-01-31  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
-        https://bugs.webkit.org/show_bug.cgi?id=53271
-
-        Reapplying this change again.
-        Changed isValid() to use .get() as a result of change r77151.
-
-        Added new isValid() methods to check if a contained object in
-        a WeakGCMap is valid when using an unchecked iterator.
-
-        * runtime/WeakGCMap.h:
-        (JSC::WeakGCMap::isValid):
-
-2011-01-31  Oliver Hunt  <oliver@apple.com>
-
-        Convert markstack to a slot visitor API
-        https://bugs.webkit.org/show_bug.cgi?id=53219
-
-        rolling r77098, r77099, r77100, r77109, and
-        r77111 back in, along with a few more Qt fix attempts.
-
-        * API/JSCallbackObject.h:
-        (JSC::JSCallbackObjectData::setPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
-        (JSC::JSCallbackObject::setPrivateProperty):
-        * API/JSCallbackObjectFunctions.h:
-        (JSC::::put):
-        (JSC::::staticFunctionGetter):
-        * API/JSObjectRef.cpp:
-        (JSObjectMakeConstructor):
-        (JSObjectSetPrivateProperty):
-        * API/JSWeakObjectMapRefInternal.h:
-        * JavaScriptCore.exp:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * bytecode/CodeBlock.cpp:
-        (JSC::CodeBlock::markAggregate):
-        * bytecode/CodeBlock.h:
-        (JSC::CodeBlock::globalObject):
-        * bytecompiler/BytecodeGenerator.cpp:
-        (JSC::BytecodeGenerator::BytecodeGenerator):
-        (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
-        (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
-        (JSC::BytecodeGenerator::findScopedProperty):
-        * debugger/Debugger.cpp:
-        (JSC::evaluateInGlobalCallFrame):
-        * debugger/DebuggerActivation.cpp:
-        (JSC::DebuggerActivation::DebuggerActivation):
-        (JSC::DebuggerActivation::markChildren):
-        * debugger/DebuggerActivation.h:
-        * debugger/DebuggerCallFrame.cpp:
-        (JSC::DebuggerCallFrame::evaluate):
-        * interpreter/CallFrame.h:
-        (JSC::ExecState::exception):
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::resolve):
-        (JSC::Interpreter::resolveSkip):
-        (JSC::Interpreter::resolveGlobal):
-        (JSC::Interpreter::resolveGlobalDynamic):
-        (JSC::Interpreter::resolveBaseAndProperty):
-        (JSC::Interpreter::unwindCallFrame):
-        (JSC::appendSourceToError):
-        (JSC::Interpreter::execute):
-        (JSC::Interpreter::tryCacheGetByID):
-        (JSC::Interpreter::privateExecute):
-        * jit/JITStubs.cpp:
-        (JSC::JITThunks::tryCacheGetByID):
-        (JSC::DEFINE_STUB_FUNCTION):
-        * jsc.cpp:
-        (GlobalObject::GlobalObject):
-        * runtime/ArgList.cpp:
-        (JSC::MarkedArgumentBuffer::markLists):
-        * runtime/Arguments.cpp:
-        (JSC::Arguments::markChildren):
-        (JSC::Arguments::getOwnPropertySlot):
-        (JSC::Arguments::getOwnPropertyDescriptor):
-        (JSC::Arguments::put):
-        * runtime/Arguments.h:
-        (JSC::Arguments::setActivation):
-        (JSC::Arguments::Arguments):
-        * runtime/ArrayConstructor.cpp:
-        (JSC::ArrayConstructor::ArrayConstructor):
-        (JSC::constructArrayWithSizeQuirk):
-        * runtime/ArrayPrototype.cpp:
-        (JSC::arrayProtoFuncSplice):
-        * runtime/BatchedTransitionOptimizer.h:
-        (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
-        (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
-        * runtime/BooleanConstructor.cpp:
-        (JSC::BooleanConstructor::BooleanConstructor):
-        (JSC::constructBoolean):
-        (JSC::constructBooleanFromImmediateBoolean):
-        * runtime/BooleanPrototype.cpp:
-        (JSC::BooleanPrototype::BooleanPrototype):
-        * runtime/ConservativeSet.cpp:
-        (JSC::ConservativeSet::grow):
-        * runtime/ConservativeSet.h:
-        (JSC::ConservativeSet::~ConservativeSet):
-        (JSC::ConservativeSet::mark):
-        * runtime/DateConstructor.cpp:
-        (JSC::DateConstructor::DateConstructor):
-        * runtime/DateInstance.cpp:
-        (JSC::DateInstance::DateInstance):
-        * runtime/DatePrototype.cpp:
-        (JSC::dateProtoFuncSetTime):
-        (JSC::setNewValueFromTimeArgs):
-        (JSC::setNewValueFromDateArgs):
-        (JSC::dateProtoFuncSetYear):
-        * runtime/ErrorConstructor.cpp:
-        (JSC::ErrorConstructor::ErrorConstructor):
-        * runtime/ErrorInstance.cpp:
-        (JSC::ErrorInstance::ErrorInstance):
-        * runtime/ErrorPrototype.cpp:
-        (JSC::ErrorPrototype::ErrorPrototype):
-        * runtime/FunctionConstructor.cpp:
-        (JSC::FunctionConstructor::FunctionConstructor):
-        * runtime/FunctionPrototype.cpp:
-        (JSC::FunctionPrototype::FunctionPrototype):
-        * runtime/GetterSetter.cpp:
-        (JSC::GetterSetter::markChildren):
-        * runtime/GetterSetter.h:
-        (JSC::GetterSetter::GetterSetter):
-        (JSC::GetterSetter::getter):
-        (JSC::GetterSetter::setGetter):
-        (JSC::GetterSetter::setter):
-        (JSC::GetterSetter::setSetter):
-        * runtime/GlobalEvalFunction.cpp:
-        (JSC::GlobalEvalFunction::GlobalEvalFunction):
-        (JSC::GlobalEvalFunction::markChildren):
-        * runtime/GlobalEvalFunction.h:
-        (JSC::GlobalEvalFunction::cachedGlobalObject):
-        * runtime/Heap.cpp:
-        (JSC::Heap::markProtectedObjects):
-        (JSC::Heap::markTempSortVectors):
-        (JSC::Heap::markRoots):
-        * runtime/InternalFunction.cpp:
-        (JSC::InternalFunction::InternalFunction):
-        * runtime/JSAPIValueWrapper.h:
-        (JSC::JSAPIValueWrapper::value):
-        (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
-        * runtime/JSActivation.cpp:
-        (JSC::JSActivation::markChildren):
-        (JSC::JSActivation::put):
-        * runtime/JSArray.cpp:
-        (JSC::JSArray::JSArray):
-        (JSC::JSArray::getOwnPropertySlot):
-        (JSC::JSArray::getOwnPropertyDescriptor):
-        (JSC::JSArray::put):
-        (JSC::JSArray::putSlowCase):
-        (JSC::JSArray::deleteProperty):
-        (JSC::JSArray::increaseVectorLength):
-        (JSC::JSArray::setLength):
-        (JSC::JSArray::pop):
-        (JSC::JSArray::push):
-        (JSC::JSArray::unshiftCount):
-        (JSC::JSArray::sort):
-        (JSC::JSArray::fillArgList):
-        (JSC::JSArray::copyToRegisters):
-        (JSC::JSArray::compactForSorting):
-        * runtime/JSArray.h:
-        (JSC::JSArray::getIndex):
-        (JSC::JSArray::setIndex):
-        (JSC::JSArray::uncheckedSetIndex):
-        (JSC::JSArray::markChildrenDirect):
-        * runtime/JSByteArray.cpp:
-        (JSC::JSByteArray::JSByteArray):
-        * runtime/JSCell.h:
-        (JSC::JSCell::MarkStack::append):
-        (JSC::JSCell::MarkStack::internalAppend):
-        (JSC::JSCell::MarkStack::deprecatedAppend):
-        * runtime/JSFunction.cpp:
-        (JSC::JSFunction::JSFunction):
-        (JSC::JSFunction::getOwnPropertySlot):
-        * runtime/JSGlobalData.h:
-        * runtime/JSGlobalObject.cpp:
-        (JSC::markIfNeeded):
-        (JSC::JSGlobalObject::reset):
-        (JSC::JSGlobalObject::resetPrototype):
-        (JSC::JSGlobalObject::markChildren):
-        * runtime/JSGlobalObject.h:
-        (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
-        (JSC::JSGlobalObject::regExpConstructor):
-        (JSC::JSGlobalObject::errorConstructor):
-        (JSC::JSGlobalObject::evalErrorConstructor):
-        (JSC::JSGlobalObject::rangeErrorConstructor):
-        (JSC::JSGlobalObject::referenceErrorConstructor):
-        (JSC::JSGlobalObject::syntaxErrorConstructor):
-        (JSC::JSGlobalObject::typeErrorConstructor):
-        (JSC::JSGlobalObject::URIErrorConstructor):
-        (JSC::JSGlobalObject::evalFunction):
-        (JSC::JSGlobalObject::objectPrototype):
-        (JSC::JSGlobalObject::functionPrototype):
-        (JSC::JSGlobalObject::arrayPrototype):
-        (JSC::JSGlobalObject::booleanPrototype):
-        (JSC::JSGlobalObject::stringPrototype):
-        (JSC::JSGlobalObject::numberPrototype):
-        (JSC::JSGlobalObject::datePrototype):
-        (JSC::JSGlobalObject::regExpPrototype):
-        (JSC::JSGlobalObject::methodCallDummy):
-        (JSC::Structure::prototypeForLookup):
-        (JSC::constructArray):
-        * runtime/JSONObject.cpp:
-        (JSC::Stringifier::Holder::object):
-        (JSC::Stringifier::Holder::objectSlot):
-        (JSC::Stringifier::markAggregate):
-        (JSC::Stringifier::stringify):
-        (JSC::Stringifier::Holder::appendNextProperty):
-        (JSC::Walker::callReviver):
-        (JSC::Walker::walk):
-        * runtime/JSObject.cpp:
-        (JSC::JSObject::defineGetter):
-        (JSC::JSObject::defineSetter):
-        (JSC::JSObject::removeDirect):
-        (JSC::JSObject::putDirectFunction):
-        (JSC::JSObject::putDirectFunctionWithoutTransition):
-        (JSC::putDescriptor):
-        (JSC::JSObject::defineOwnProperty):
-        * runtime/JSObject.h:
-        (JSC::JSObject::getDirectOffset):
-        (JSC::JSObject::putDirectOffset):
-        (JSC::JSObject::putUndefinedAtDirectOffset):
-        (JSC::JSObject::flattenDictionaryObject):
-        (JSC::JSObject::putDirectInternal):
-        (JSC::JSObject::putDirect):
-        (JSC::JSObject::putDirectFunction):
-        (JSC::JSObject::putDirectWithoutTransition):
-        (JSC::JSObject::putDirectFunctionWithoutTransition):
-        (JSC::JSValue::putDirect):
-        (JSC::JSObject::allocatePropertyStorageInline):
-        (JSC::JSObject::markChildrenDirect):
-        * runtime/JSPropertyNameIterator.cpp:
-        (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
-        (JSC::JSPropertyNameIterator::get):
-        * runtime/JSPropertyNameIterator.h:
-        * runtime/JSStaticScopeObject.cpp:
-        (JSC::JSStaticScopeObject::markChildren):
-        * runtime/JSString.cpp:
-        (JSC::StringObject::create):
-        * runtime/JSValue.h:
-        * runtime/JSWrapperObject.cpp:
-        (JSC::JSWrapperObject::markChildren):
-        * runtime/JSWrapperObject.h:
-        (JSC::JSWrapperObject::internalValue):
-        (JSC::JSWrapperObject::setInternalValue):
-        * runtime/LiteralParser.cpp:
-        (JSC::LiteralParser::parse):
-        * runtime/Lookup.cpp:
-        (JSC::setUpStaticFunctionSlot):
-        * runtime/Lookup.h:
-        (JSC::lookupPut):
-        * runtime/MarkStack.h:
-        (JSC::MarkStack::MarkStack):
-        (JSC::MarkStack::deprecatedAppendValues):
-        (JSC::MarkStack::appendValues):
-        * runtime/MathObject.cpp:
-        (JSC::MathObject::MathObject):
-        * runtime/NativeErrorConstructor.cpp:
-        (JSC::NativeErrorConstructor::NativeErrorConstructor):
-        * runtime/NativeErrorPrototype.cpp:
-        (JSC::NativeErrorPrototype::NativeErrorPrototype):
-        * runtime/NumberConstructor.cpp:
-        (JSC::NumberConstructor::NumberConstructor):
-        (JSC::constructWithNumberConstructor):
-        * runtime/NumberObject.cpp:
-        (JSC::constructNumber):
-        * runtime/NumberPrototype.cpp:
-        (JSC::NumberPrototype::NumberPrototype):
-        * runtime/ObjectConstructor.cpp:
-        (JSC::ObjectConstructor::ObjectConstructor):
-        (JSC::objectConstructorGetOwnPropertyDescriptor):
-        * runtime/Operations.h:
-        (JSC::normalizePrototypeChain):
-        (JSC::resolveBase):
-        * runtime/PrototypeFunction.cpp:
-        (JSC::PrototypeFunction::PrototypeFunction):
-        * runtime/PutPropertySlot.h:
-        (JSC::PutPropertySlot::setExistingProperty):
-        (JSC::PutPropertySlot::setNewProperty):
-        (JSC::PutPropertySlot::base):
-        * runtime/RegExpConstructor.cpp:
-        (JSC::RegExpConstructor::RegExpConstructor):
-        * runtime/ScopeChain.cpp:
-        (JSC::ScopeChainNode::print):
-        * runtime/ScopeChain.h:
-        (JSC::ScopeChainNode::~ScopeChainNode):
-        (JSC::ScopeChainIterator::operator*):
-        (JSC::ScopeChainIterator::operator->):
-        (JSC::ScopeChain::top):
-        * runtime/ScopeChainMark.h:
-        (JSC::ScopeChain::markAggregate):
-        * runtime/SmallStrings.cpp:
-        (JSC::isMarked):
-        (JSC::SmallStrings::markChildren):
-        * runtime/SmallStrings.h:
-        (JSC::SmallStrings::emptyString):
-        (JSC::SmallStrings::singleCharacterString):
-        (JSC::SmallStrings::singleCharacterStrings):
-        * runtime/StringConstructor.cpp:
-        (JSC::StringConstructor::StringConstructor):
-        * runtime/StringObject.cpp:
-        (JSC::StringObject::StringObject):
-        * runtime/StringObject.h:
-        * runtime/StringPrototype.cpp:
-        (JSC::StringPrototype::StringPrototype):
-        * runtime/Structure.cpp:
-        (JSC::Structure::Structure):
-        (JSC::Structure::addPropertyTransition):
-        (JSC::Structure::toDictionaryTransition):
-        (JSC::Structure::flattenDictionaryStructure):
-        * runtime/Structure.h:
-        (JSC::Structure::storedPrototype):
-        (JSC::Structure::storedPrototypeSlot):
-        * runtime/WeakGCMap.h:
-        (JSC::WeakGCMap::uncheckedGet):
-        (JSC::WeakGCMap::uncheckedGetSlot):
-        (JSC::::get):
-        (JSC::::take):
-        (JSC::::set):
-        (JSC::::uncheckedRemove):
-        * runtime/WriteBarrier.h: Added.
-        (JSC::DeprecatedPtr::DeprecatedPtr):
-        (JSC::DeprecatedPtr::get):
-        (JSC::DeprecatedPtr::operator*):
-        (JSC::DeprecatedPtr::operator->):
-        (JSC::DeprecatedPtr::slot):
-        (JSC::DeprecatedPtr::operator UnspecifiedBoolType*):
-        (JSC::DeprecatedPtr::operator!):
-        (JSC::WriteBarrierBase::set):
-        (JSC::WriteBarrierBase::get):
-        (JSC::WriteBarrierBase::operator*):
-        (JSC::WriteBarrierBase::operator->):
-        (JSC::WriteBarrierBase::clear):
-        (JSC::WriteBarrierBase::slot):
-        (JSC::WriteBarrierBase::operator UnspecifiedBoolType*):
-        (JSC::WriteBarrierBase::operator!):
-        (JSC::WriteBarrier::WriteBarrier):
-        (JSC::operator==):
-
-2011-01-31  Dan Winship  <danw@gnome.org>
-
-        Reviewed by Gustavo Noronha Silva.
-
-        wss (websockets ssl) support for gtk via new gio TLS support
-        https://bugs.webkit.org/show_bug.cgi?id=50344
-
-        Add a GPollableOutputStream typedef for TLS WebSockets support
-
-        * wtf/gobject/GTypedefs.h:
-
-2011-01-31  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Geoff Garen.
-
-        https://bugs.webkit.org/show_bug.cgi?id=53352
-        Heavy external fragmentation in FixedVMPoolAllocator can lead to a CRASH().
-
-        The FixedVMPoolAllocator currently uses a best fix policy -
-        switch to first fit, this is less prone to external fragmentation.
-
-        * jit/ExecutableAllocatorFixedVMPool.cpp:
-        (JSC::AllocationTableSizeClass::AllocationTableSizeClass):
-        (JSC::AllocationTableSizeClass::blockSize):
-        (JSC::AllocationTableSizeClass::blockCount):
-        (JSC::AllocationTableSizeClass::blockAlignment):
-        (JSC::AllocationTableSizeClass::size):
-        (JSC::AllocationTableLeaf::AllocationTableLeaf):
-        (JSC::AllocationTableLeaf::~AllocationTableLeaf):
-        (JSC::AllocationTableLeaf::allocate):
-        (JSC::AllocationTableLeaf::free):
-        (JSC::AllocationTableLeaf::isEmpty):
-        (JSC::AllocationTableLeaf::isFull):
-        (JSC::AllocationTableLeaf::size):
-        (JSC::AllocationTableLeaf::classForSize):
-        (JSC::AllocationTableLeaf::dump):
-        (JSC::LazyAllocationTable::LazyAllocationTable):
-        (JSC::LazyAllocationTable::~LazyAllocationTable):
-        (JSC::LazyAllocationTable::allocate):
-        (JSC::LazyAllocationTable::free):
-        (JSC::LazyAllocationTable::isEmpty):
-        (JSC::LazyAllocationTable::isFull):
-        (JSC::LazyAllocationTable::size):
-        (JSC::LazyAllocationTable::dump):
-        (JSC::LazyAllocationTable::classForSize):
-        (JSC::AllocationTableDirectory::AllocationTableDirectory):
-        (JSC::AllocationTableDirectory::~AllocationTableDirectory):
-        (JSC::AllocationTableDirectory::allocate):
-        (JSC::AllocationTableDirectory::free):
-        (JSC::AllocationTableDirectory::isEmpty):
-        (JSC::AllocationTableDirectory::isFull):
-        (JSC::AllocationTableDirectory::size):
-        (JSC::AllocationTableDirectory::classForSize):
-        (JSC::AllocationTableDirectory::dump):
-        (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
-        (JSC::FixedVMPoolAllocator::alloc):
-        (JSC::FixedVMPoolAllocator::free):
-        (JSC::FixedVMPoolAllocator::allocated):
-        (JSC::FixedVMPoolAllocator::isValid):
-        (JSC::FixedVMPoolAllocator::classForSize):
-        (JSC::FixedVMPoolAllocator::offsetToPointer):
-        (JSC::FixedVMPoolAllocator::pointerToOffset):
-        (JSC::ExecutableAllocator::committedByteCount):
-        (JSC::ExecutableAllocator::isValid):
-        (JSC::ExecutableAllocator::underMemoryPressure):
-        (JSC::ExecutablePool::systemAlloc):
-        (JSC::ExecutablePool::systemRelease):
-        * wtf/PageReservation.h:
-        (WTF::PageReservation::PageReservation):
-        (WTF::PageReservation::commit):
-        (WTF::PageReservation::decommit):
-        (WTF::PageReservation::committed):
-
-2011-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
-
-        Unreviewed, rolling out r76969.
-        http://trac.webkit.org/changeset/76969
-        https://bugs.webkit.org/show_bug.cgi?id=53418
-
-        "It is causing crashes in GTK+ and Leopard bots" (Requested by
-        alexg__ on #webkit).
-
-        * runtime/WeakGCMap.h:
-
-2011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Unreviewed, rolling out r77098, r77099, r77100, r77109, and
-        r77111.
-        http://trac.webkit.org/changeset/77098
-        http://trac.webkit.org/changeset/77099
-        http://trac.webkit.org/changeset/77100
-        http://trac.webkit.org/changeset/77109
-        http://trac.webkit.org/changeset/77111
-        https://bugs.webkit.org/show_bug.cgi?id=53219
-
-        Qt build is broken
-
-        * API/JSCallbackObject.h:
-        (JSC::JSCallbackObjectData::setPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
-        (JSC::JSCallbackObject::setPrivateProperty):
-        * API/JSCallbackObjectFunctions.h:
-        (JSC::::put):
-        (JSC::::staticFunctionGetter):
-        * API/JSObjectRef.cpp:
-        (JSObjectMakeConstructor):
-        (JSObjectSetPrivateProperty):
-        * API/JSWeakObjectMapRefInternal.h:
-        * JavaScriptCore.exp:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * bytecode/CodeBlock.cpp:
-        (JSC::CodeBlock::markAggregate):
-        * bytecode/CodeBlock.h:
-        (JSC::CodeBlock::globalObject):
-        * bytecompiler/BytecodeGenerator.cpp:
-        (JSC::BytecodeGenerator::BytecodeGenerator):
-        (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
-        (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
-        (JSC::BytecodeGenerator::findScopedProperty):
-        * debugger/Debugger.cpp:
-        (JSC::evaluateInGlobalCallFrame):
-        * debugger/DebuggerActivation.cpp:
-        (JSC::DebuggerActivation::DebuggerActivation):
-        (JSC::DebuggerActivation::markChildren):
-        * debugger/DebuggerActivation.h:
-        * debugger/DebuggerCallFrame.cpp:
-        (JSC::DebuggerCallFrame::evaluate):
-        * interpreter/CallFrame.h:
-        (JSC::ExecState::exception):
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::resolve):
-        (JSC::Interpreter::resolveSkip):
-        (JSC::Interpreter::resolveGlobal):
-        (JSC::Interpreter::resolveGlobalDynamic):
-        (JSC::Interpreter::resolveBaseAndProperty):
-        (JSC::Interpreter::unwindCallFrame):
-        (JSC::appendSourceToError):
-        (JSC::Interpreter::execute):
-        (JSC::Interpreter::tryCacheGetByID):
-        (JSC::Interpreter::privateExecute):
-        * jit/JITStubs.cpp:
-        (JSC::JITThunks::tryCacheGetByID):
-        (JSC::DEFINE_STUB_FUNCTION):
-        * jsc.cpp:
-        (GlobalObject::GlobalObject):
-        * runtime/ArgList.cpp:
-        (JSC::MarkedArgumentBuffer::markLists):
-        * runtime/Arguments.cpp:
-        (JSC::Arguments::markChildren):
-        (JSC::Arguments::getOwnPropertySlot):
-        (JSC::Arguments::getOwnPropertyDescriptor):
-        (JSC::Arguments::put):
-        * runtime/Arguments.h:
-        (JSC::Arguments::setActivation):
-        (JSC::Arguments::Arguments):
-        * runtime/ArrayConstructor.cpp:
-        (JSC::ArrayConstructor::ArrayConstructor):
-        (JSC::constructArrayWithSizeQuirk):
-        * runtime/ArrayPrototype.cpp:
-        (JSC::arrayProtoFuncSplice):
-        * runtime/BatchedTransitionOptimizer.h:
-        (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
-        (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
-        * runtime/BooleanConstructor.cpp:
-        (JSC::BooleanConstructor::BooleanConstructor):
-        (JSC::constructBoolean):
-        (JSC::constructBooleanFromImmediateBoolean):
-        * runtime/BooleanPrototype.cpp:
-        (JSC::BooleanPrototype::BooleanPrototype):
-        * runtime/ConservativeSet.cpp:
-        (JSC::ConservativeSet::grow):
-        * runtime/ConservativeSet.h:
-        (JSC::ConservativeSet::~ConservativeSet):
-        (JSC::ConservativeSet::mark):
-        * runtime/DateConstructor.cpp:
-        (JSC::DateConstructor::DateConstructor):
-        * runtime/DateInstance.cpp:
-        (JSC::DateInstance::DateInstance):
-        * runtime/DatePrototype.cpp:
-        (JSC::dateProtoFuncSetTime):
-        (JSC::setNewValueFromTimeArgs):
-        (JSC::setNewValueFromDateArgs):
-        (JSC::dateProtoFuncSetYear):
-        * runtime/ErrorConstructor.cpp:
-        (JSC::ErrorConstructor::ErrorConstructor):
-        * runtime/ErrorInstance.cpp:
-        (JSC::ErrorInstance::ErrorInstance):
-        * runtime/ErrorPrototype.cpp:
-        (JSC::ErrorPrototype::ErrorPrototype):
-        * runtime/FunctionConstructor.cpp:
-        (JSC::FunctionConstructor::FunctionConstructor):
-        * runtime/FunctionPrototype.cpp:
-        (JSC::FunctionPrototype::FunctionPrototype):
-        * runtime/GetterSetter.cpp:
-        (JSC::GetterSetter::markChildren):
-        * runtime/GetterSetter.h:
-        (JSC::GetterSetter::GetterSetter):
-        (JSC::GetterSetter::getter):
-        (JSC::GetterSetter::setGetter):
-        (JSC::GetterSetter::setter):
-        (JSC::GetterSetter::setSetter):
-        * runtime/GlobalEvalFunction.cpp:
-        (JSC::GlobalEvalFunction::GlobalEvalFunction):
-        (JSC::GlobalEvalFunction::markChildren):
-        * runtime/GlobalEvalFunction.h:
-        (JSC::GlobalEvalFunction::cachedGlobalObject):
-        * runtime/Heap.cpp:
-        (JSC::Heap::markProtectedObjects):
-        (JSC::Heap::markTempSortVectors):
-        (JSC::Heap::markRoots):
-        * runtime/InternalFunction.cpp:
-        (JSC::InternalFunction::InternalFunction):
-        * runtime/JSAPIValueWrapper.h:
-        (JSC::JSAPIValueWrapper::value):
-        (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
-        * runtime/JSActivation.cpp:
-        (JSC::JSActivation::markChildren):
-        (JSC::JSActivation::put):
-        * runtime/JSArray.cpp:
-        (JSC::JSArray::JSArray):
-        (JSC::JSArray::getOwnPropertySlot):
-        (JSC::JSArray::getOwnPropertyDescriptor):
-        (JSC::JSArray::put):
-        (JSC::JSArray::putSlowCase):
-        (JSC::JSArray::deleteProperty):
-        (JSC::JSArray::increaseVectorLength):
-        (JSC::JSArray::setLength):
-        (JSC::JSArray::pop):
-        (JSC::JSArray::push):
-        (JSC::JSArray::unshiftCount):
-        (JSC::JSArray::sort):
-        (JSC::JSArray::fillArgList):
-        (JSC::JSArray::copyToRegisters):
-        (JSC::JSArray::compactForSorting):
-        * runtime/JSArray.h:
-        (JSC::JSArray::getIndex):
-        (JSC::JSArray::setIndex):
-        (JSC::JSArray::uncheckedSetIndex):
-        (JSC::JSArray::markChildrenDirect):
-        * runtime/JSByteArray.cpp:
-        (JSC::JSByteArray::JSByteArray):
-        * runtime/JSCell.h:
-        (JSC::JSCell::JSValue::toThisObject):
-        (JSC::JSCell::MarkStack::append):
-        * runtime/JSFunction.cpp:
-        (JSC::JSFunction::JSFunction):
-        (JSC::JSFunction::getOwnPropertySlot):
-        * runtime/JSGlobalData.h:
-        * runtime/JSGlobalObject.cpp:
-        (JSC::markIfNeeded):
-        (JSC::JSGlobalObject::reset):
-        (JSC::JSGlobalObject::resetPrototype):
-        (JSC::JSGlobalObject::markChildren):
-        * runtime/JSGlobalObject.h:
-        (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
-        (JSC::JSGlobalObject::regExpConstructor):
-        (JSC::JSGlobalObject::errorConstructor):
-        (JSC::JSGlobalObject::evalErrorConstructor):
-        (JSC::JSGlobalObject::rangeErrorConstructor):
-        (JSC::JSGlobalObject::referenceErrorConstructor):
-        (JSC::JSGlobalObject::syntaxErrorConstructor):
-        (JSC::JSGlobalObject::typeErrorConstructor):
-        (JSC::JSGlobalObject::URIErrorConstructor):
-        (JSC::JSGlobalObject::evalFunction):
-        (JSC::JSGlobalObject::objectPrototype):
-        (JSC::JSGlobalObject::functionPrototype):
-        (JSC::JSGlobalObject::arrayPrototype):
-        (JSC::JSGlobalObject::booleanPrototype):
-        (JSC::JSGlobalObject::stringPrototype):
-        (JSC::JSGlobalObject::numberPrototype):
-        (JSC::JSGlobalObject::datePrototype):
-        (JSC::JSGlobalObject::regExpPrototype):
-        (JSC::JSGlobalObject::methodCallDummy):
-        (JSC::Structure::prototypeForLookup):
-        (JSC::constructArray):
-        * runtime/JSONObject.cpp:
-        (JSC::Stringifier::Holder::object):
-        (JSC::Stringifier::markAggregate):
-        (JSC::Stringifier::stringify):
-        (JSC::Stringifier::Holder::appendNextProperty):
-        (JSC::Walker::callReviver):
-        (JSC::Walker::walk):
-        * runtime/JSObject.cpp:
-        (JSC::JSObject::defineGetter):
-        (JSC::JSObject::defineSetter):
-        (JSC::JSObject::removeDirect):
-        (JSC::JSObject::putDirectFunction):
-        (JSC::JSObject::putDirectFunctionWithoutTransition):
-        (JSC::putDescriptor):
-        (JSC::JSObject::defineOwnProperty):
-        * runtime/JSObject.h:
-        (JSC::JSObject::getDirectOffset):
-        (JSC::JSObject::putDirectOffset):
-        (JSC::JSObject::flattenDictionaryObject):
-        (JSC::JSObject::putDirectInternal):
-        (JSC::JSObject::putDirect):
-        (JSC::JSObject::putDirectFunction):
-        (JSC::JSObject::putDirectWithoutTransition):
-        (JSC::JSObject::putDirectFunctionWithoutTransition):
-        (JSC::JSValue::putDirect):
-        (JSC::JSObject::allocatePropertyStorageInline):
-        (JSC::JSObject::markChildrenDirect):
-        * runtime/JSPropertyNameIterator.cpp:
-        (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
-        (JSC::JSPropertyNameIterator::get):
-        * runtime/JSPropertyNameIterator.h:
-        * runtime/JSStaticScopeObject.cpp:
-        (JSC::JSStaticScopeObject::markChildren):
-        * runtime/JSString.cpp:
-        (JSC::StringObject::create):
-        * runtime/JSValue.h:
-        * runtime/JSWrapperObject.cpp:
-        (JSC::JSWrapperObject::markChildren):
-        * runtime/JSWrapperObject.h:
-        (JSC::JSWrapperObject::internalValue):
-        (JSC::JSWrapperObject::setInternalValue):
-        * runtime/LiteralParser.cpp:
-        (JSC::LiteralParser::parse):
-        * runtime/Lookup.cpp:
-        (JSC::setUpStaticFunctionSlot):
-        * runtime/Lookup.h:
-        (JSC::lookupPut):
-        * runtime/MarkStack.h:
-        (JSC::MarkStack::appendValues):
-        * runtime/MathObject.cpp:
-        (JSC::MathObject::MathObject):
-        * runtime/NativeErrorConstructor.cpp:
-        (JSC::NativeErrorConstructor::NativeErrorConstructor):
-        * runtime/NativeErrorPrototype.cpp:
-        (JSC::NativeErrorPrototype::NativeErrorPrototype):
-        * runtime/NumberConstructor.cpp:
-        (JSC::NumberConstructor::NumberConstructor):
-        (JSC::constructWithNumberConstructor):
-        * runtime/NumberObject.cpp:
-        (JSC::constructNumber):
-        * runtime/NumberPrototype.cpp:
-        (JSC::NumberPrototype::NumberPrototype):
-        * runtime/ObjectConstructor.cpp:
-        (JSC::ObjectConstructor::ObjectConstructor):
-        (JSC::objectConstructorGetOwnPropertyDescriptor):
-        * runtime/Operations.h:
-        (JSC::normalizePrototypeChain):
-        (JSC::resolveBase):
-        * runtime/PrototypeFunction.cpp:
-        (JSC::PrototypeFunction::PrototypeFunction):
-        * runtime/PutPropertySlot.h:
-        (JSC::PutPropertySlot::setExistingProperty):
-        (JSC::PutPropertySlot::setNewProperty):
-        (JSC::PutPropertySlot::base):
-        * runtime/RegExpConstructor.cpp:
-        (JSC::RegExpConstructor::RegExpConstructor):
-        * runtime/ScopeChain.cpp:
-        (JSC::ScopeChainNode::print):
-        * runtime/ScopeChain.h:
-        (JSC::ScopeChainNode::~ScopeChainNode):
-        (JSC::ScopeChainIterator::operator*):
-        (JSC::ScopeChainIterator::operator->):
-        (JSC::ScopeChain::top):
-        * runtime/ScopeChainMark.h:
-        (JSC::ScopeChain::markAggregate):
-        * runtime/SmallStrings.cpp:
-        (JSC::isMarked):
-        (JSC::SmallStrings::markChildren):
-        * runtime/SmallStrings.h:
-        (JSC::SmallStrings::emptyString):
-        (JSC::SmallStrings::singleCharacterString):
-        (JSC::SmallStrings::singleCharacterStrings):
-        * runtime/StringConstructor.cpp:
-        (JSC::StringConstructor::StringConstructor):
-        * runtime/StringObject.cpp:
-        (JSC::StringObject::StringObject):
-        * runtime/StringObject.h:
-        * runtime/StringPrototype.cpp:
-        (JSC::StringPrototype::StringPrototype):
-        * runtime/Structure.cpp:
-        (JSC::Structure::Structure):
-        (JSC::Structure::addPropertyTransition):
-        (JSC::Structure::toDictionaryTransition):
-        (JSC::Structure::flattenDictionaryStructure):
-        * runtime/Structure.h:
-        (JSC::Structure::storedPrototype):
-        * runtime/WeakGCMap.h:
-        (JSC::WeakGCMap::uncheckedGet):
-        (JSC::WeakGCMap::isValid):
-        (JSC::::get):
-        (JSC::::take):
-        (JSC::::set):
-        (JSC::::uncheckedRemove):
-        * runtime/WriteBarrier.h: Removed.
-
-2011-01-30  Simon Fraser  <simon.fraser@apple.com>
-
-        Build fix the build fix. I assume Oliver meant m_cell, not m_value.
-
-        * runtime/WriteBarrier.h:
-        (JSC::WriteBarrierBase::clear):
-
-2011-01-30  Oliver Hunt  <oliver@apple.com>
-
-        More Qt build fixes
-
-        * runtime/WriteBarrier.h:
-        (JSC::WriteBarrierBase::clear):
-
-2011-01-30  Oliver Hunt  <oliver@apple.com>
-
-        Convert markstack to a slot visitor API
-        https://bugs.webkit.org/show_bug.cgi?id=53219
-
-        rolling r77006 and r77020 back in.
-
-        * API/JSCallbackObject.h:
-        (JSC::JSCallbackObjectData::setPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
-        (JSC::JSCallbackObject::setPrivateProperty):
-        * API/JSCallbackObjectFunctions.h:
-        (JSC::::put):
-        (JSC::::staticFunctionGetter):
-        * API/JSObjectRef.cpp:
-        (JSObjectMakeConstructor):
-        (JSObjectSetPrivateProperty):
-        * API/JSWeakObjectMapRefInternal.h:
-        * JavaScriptCore.exp:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * bytecode/CodeBlock.cpp:
-        (JSC::CodeBlock::markAggregate):
-        * bytecode/CodeBlock.h:
-        (JSC::CodeBlock::globalObject):
-        * bytecompiler/BytecodeGenerator.cpp:
-        (JSC::BytecodeGenerator::BytecodeGenerator):
-        (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
-        (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
-        (JSC::BytecodeGenerator::findScopedProperty):
-        * debugger/Debugger.cpp:
-        (JSC::evaluateInGlobalCallFrame):
-        * debugger/DebuggerActivation.cpp:
-        (JSC::DebuggerActivation::DebuggerActivation):
-        (JSC::DebuggerActivation::markChildren):
-        * debugger/DebuggerActivation.h:
-        * debugger/DebuggerCallFrame.cpp:
-        (JSC::DebuggerCallFrame::evaluate):
-        * interpreter/CallFrame.h:
-        (JSC::ExecState::exception):
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::resolve):
-        (JSC::Interpreter::resolveSkip):
-        (JSC::Interpreter::resolveGlobal):
-        (JSC::Interpreter::resolveGlobalDynamic):
-        (JSC::Interpreter::resolveBaseAndProperty):
-        (JSC::Interpreter::unwindCallFrame):
-        (JSC::appendSourceToError):
-        (JSC::Interpreter::execute):
-        (JSC::Interpreter::tryCacheGetByID):
-        (JSC::Interpreter::privateExecute):
-        * jit/JITStubs.cpp:
-        (JSC::JITThunks::tryCacheGetByID):
-        (JSC::DEFINE_STUB_FUNCTION):
-        * jsc.cpp:
-        (GlobalObject::GlobalObject):
-        * runtime/ArgList.cpp:
-        (JSC::MarkedArgumentBuffer::markLists):
-        * runtime/Arguments.cpp:
-        (JSC::Arguments::markChildren):
-        (JSC::Arguments::getOwnPropertySlot):
-        (JSC::Arguments::getOwnPropertyDescriptor):
-        (JSC::Arguments::put):
-        * runtime/Arguments.h:
-        (JSC::Arguments::setActivation):
-        (JSC::Arguments::Arguments):
-        * runtime/ArrayConstructor.cpp:
-        (JSC::ArrayConstructor::ArrayConstructor):
-        (JSC::constructArrayWithSizeQuirk):
-        * runtime/ArrayPrototype.cpp:
-        (JSC::arrayProtoFuncSplice):
-        * runtime/BatchedTransitionOptimizer.h:
-        (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
-        (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
-        * runtime/BooleanConstructor.cpp:
-        (JSC::BooleanConstructor::BooleanConstructor):
-        (JSC::constructBoolean):
-        (JSC::constructBooleanFromImmediateBoolean):
-        * runtime/BooleanPrototype.cpp:
-        (JSC::BooleanPrototype::BooleanPrototype):
-        * runtime/ConservativeSet.cpp:
-        (JSC::ConservativeSet::grow):
-        * runtime/ConservativeSet.h:
-        (JSC::ConservativeSet::~ConservativeSet):
-        (JSC::ConservativeSet::mark):
-        * runtime/DateConstructor.cpp:
-        (JSC::DateConstructor::DateConstructor):
-        * runtime/DateInstance.cpp:
-        (JSC::DateInstance::DateInstance):
-        * runtime/DatePrototype.cpp:
-        (JSC::dateProtoFuncSetTime):
-        (JSC::setNewValueFromTimeArgs):
-        (JSC::setNewValueFromDateArgs):
-        (JSC::dateProtoFuncSetYear):
-        * runtime/ErrorConstructor.cpp:
-        (JSC::ErrorConstructor::ErrorConstructor):
-        * runtime/ErrorInstance.cpp:
-        (JSC::ErrorInstance::ErrorInstance):
-        * runtime/ErrorPrototype.cpp:
-        (JSC::ErrorPrototype::ErrorPrototype):
-        * runtime/FunctionConstructor.cpp:
-        (JSC::FunctionConstructor::FunctionConstructor):
-        * runtime/FunctionPrototype.cpp:
-        (JSC::FunctionPrototype::FunctionPrototype):
-        * runtime/GetterSetter.cpp:
-        (JSC::GetterSetter::markChildren):
-        * runtime/GetterSetter.h:
-        (JSC::GetterSetter::GetterSetter):
-        (JSC::GetterSetter::getter):
-        (JSC::GetterSetter::setGetter):
-        (JSC::GetterSetter::setter):
-        (JSC::GetterSetter::setSetter):
-        * runtime/GlobalEvalFunction.cpp:
-        (JSC::GlobalEvalFunction::GlobalEvalFunction):
-        (JSC::GlobalEvalFunction::markChildren):
-        * runtime/GlobalEvalFunction.h:
-        (JSC::GlobalEvalFunction::cachedGlobalObject):
-        * runtime/Heap.cpp:
-        (JSC::Heap::markProtectedObjects):
-        (JSC::Heap::markTempSortVectors):
-        (JSC::Heap::markRoots):
-        * runtime/InternalFunction.cpp:
-        (JSC::InternalFunction::InternalFunction):
-        * runtime/JSAPIValueWrapper.h:
-        (JSC::JSAPIValueWrapper::value):
-        (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
-        * runtime/JSActivation.cpp:
-        (JSC::JSActivation::markChildren):
-        (JSC::JSActivation::put):
-        * runtime/JSArray.cpp:
-        (JSC::JSArray::JSArray):
-        (JSC::JSArray::getOwnPropertySlot):
-        (JSC::JSArray::getOwnPropertyDescriptor):
-        (JSC::JSArray::put):
-        (JSC::JSArray::putSlowCase):
-        (JSC::JSArray::deleteProperty):
-        (JSC::JSArray::increaseVectorLength):
-        (JSC::JSArray::setLength):
-        (JSC::JSArray::pop):
-        (JSC::JSArray::push):
-        (JSC::JSArray::unshiftCount):
-        (JSC::JSArray::sort):
-        (JSC::JSArray::fillArgList):
-        (JSC::JSArray::copyToRegisters):
-        (JSC::JSArray::compactForSorting):
-        * runtime/JSArray.h:
-        (JSC::JSArray::getIndex):
-        (JSC::JSArray::setIndex):
-        (JSC::JSArray::uncheckedSetIndex):
-        (JSC::JSArray::markChildrenDirect):
-        * runtime/JSByteArray.cpp:
-        (JSC::JSByteArray::JSByteArray):
-        * runtime/JSCell.h:
-        (JSC::JSCell::MarkStack::append):
-        (JSC::JSCell::MarkStack::internalAppend):
-        (JSC::JSCell::MarkStack::deprecatedAppend):
-        * runtime/JSFunction.cpp:
-        (JSC::JSFunction::JSFunction):
-        (JSC::JSFunction::getOwnPropertySlot):
-        * runtime/JSGlobalData.h:
-        * runtime/JSGlobalObject.cpp:
-        (JSC::markIfNeeded):
-        (JSC::JSGlobalObject::reset):
-        (JSC::JSGlobalObject::resetPrototype):
-        (JSC::JSGlobalObject::markChildren):
-        * runtime/JSGlobalObject.h:
-        (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
-        (JSC::JSGlobalObject::regExpConstructor):
-        (JSC::JSGlobalObject::errorConstructor):
-        (JSC::JSGlobalObject::evalErrorConstructor):
-        (JSC::JSGlobalObject::rangeErrorConstructor):
-        (JSC::JSGlobalObject::referenceErrorConstructor):
-        (JSC::JSGlobalObject::syntaxErrorConstructor):
-        (JSC::JSGlobalObject::typeErrorConstructor):
-        (JSC::JSGlobalObject::URIErrorConstructor):
-        (JSC::JSGlobalObject::evalFunction):
-        (JSC::JSGlobalObject::objectPrototype):
-        (JSC::JSGlobalObject::functionPrototype):
-        (JSC::JSGlobalObject::arrayPrototype):
-        (JSC::JSGlobalObject::booleanPrototype):
-        (JSC::JSGlobalObject::stringPrototype):
-        (JSC::JSGlobalObject::numberPrototype):
-        (JSC::JSGlobalObject::datePrototype):
-        (JSC::JSGlobalObject::regExpPrototype):
-        (JSC::JSGlobalObject::methodCallDummy):
-        (JSC::Structure::prototypeForLookup):
-        (JSC::constructArray):
-        * runtime/JSONObject.cpp:
-        (JSC::Stringifier::Holder::object):
-        (JSC::Stringifier::Holder::objectSlot):
-        (JSC::Stringifier::markAggregate):
-        (JSC::Stringifier::stringify):
-        (JSC::Stringifier::Holder::appendNextProperty):
-        (JSC::Walker::callReviver):
-        (JSC::Walker::walk):
-        * runtime/JSObject.cpp:
-        (JSC::JSObject::defineGetter):
-        (JSC::JSObject::defineSetter):
-        (JSC::JSObject::removeDirect):
-        (JSC::JSObject::putDirectFunction):
-        (JSC::JSObject::putDirectFunctionWithoutTransition):
-        (JSC::putDescriptor):
-        (JSC::JSObject::defineOwnProperty):
-        * runtime/JSObject.h:
-        (JSC::JSObject::getDirectOffset):
-        (JSC::JSObject::putDirectOffset):
-        (JSC::JSObject::putUndefinedAtDirectOffset):
-        (JSC::JSObject::flattenDictionaryObject):
-        (JSC::JSObject::putDirectInternal):
-        (JSC::JSObject::putDirect):
-        (JSC::JSObject::putDirectFunction):
-        (JSC::JSObject::putDirectWithoutTransition):
-        (JSC::JSObject::putDirectFunctionWithoutTransition):
-        (JSC::JSValue::putDirect):
-        (JSC::JSObject::allocatePropertyStorageInline):
-        (JSC::JSObject::markChildrenDirect):
-        * runtime/JSPropertyNameIterator.cpp:
-        (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
-        (JSC::JSPropertyNameIterator::get):
-        * runtime/JSPropertyNameIterator.h:
-        * runtime/JSStaticScopeObject.cpp:
-        (JSC::JSStaticScopeObject::markChildren):
-        * runtime/JSString.cpp:
-        (JSC::StringObject::create):
-        * runtime/JSValue.h:
-        * runtime/JSWrapperObject.cpp:
-        (JSC::JSWrapperObject::markChildren):
-        * runtime/JSWrapperObject.h:
-        (JSC::JSWrapperObject::internalValue):
-        (JSC::JSWrapperObject::setInternalValue):
-        * runtime/LiteralParser.cpp:
-        (JSC::LiteralParser::parse):
-        * runtime/Lookup.cpp:
-        (JSC::setUpStaticFunctionSlot):
-        * runtime/Lookup.h:
-        (JSC::lookupPut):
-        * runtime/MarkStack.h:
-        (JSC::MarkStack::MarkStack):
-        (JSC::MarkStack::deprecatedAppendValues):
-        (JSC::MarkStack::appendValues):
-        * runtime/MathObject.cpp:
-        (JSC::MathObject::MathObject):
-        * runtime/NativeErrorConstructor.cpp:
-        (JSC::NativeErrorConstructor::NativeErrorConstructor):
-        * runtime/NativeErrorPrototype.cpp:
-        (JSC::NativeErrorPrototype::NativeErrorPrototype):
-        * runtime/NumberConstructor.cpp:
-        (JSC::NumberConstructor::NumberConstructor):
-        (JSC::constructWithNumberConstructor):
-        * runtime/NumberObject.cpp:
-        (JSC::constructNumber):
-        * runtime/NumberPrototype.cpp:
-        (JSC::NumberPrototype::NumberPrototype):
-        * runtime/ObjectConstructor.cpp:
-        (JSC::ObjectConstructor::ObjectConstructor):
-        (JSC::objectConstructorGetOwnPropertyDescriptor):
-        * runtime/Operations.h:
-        (JSC::normalizePrototypeChain):
-        (JSC::resolveBase):
-        * runtime/PrototypeFunction.cpp:
-        (JSC::PrototypeFunction::PrototypeFunction):
-        * runtime/PutPropertySlot.h:
-        (JSC::PutPropertySlot::setExistingProperty):
-        (JSC::PutPropertySlot::setNewProperty):
-        (JSC::PutPropertySlot::base):
-        * runtime/RegExpConstructor.cpp:
-        (JSC::RegExpConstructor::RegExpConstructor):
-        * runtime/ScopeChain.cpp:
-        (JSC::ScopeChainNode::print):
-        * runtime/ScopeChain.h:
-        (JSC::ScopeChainNode::~ScopeChainNode):
-        (JSC::ScopeChainIterator::operator*):
-        (JSC::ScopeChainIterator::operator->):
-        (JSC::ScopeChain::top):
-        * runtime/ScopeChainMark.h:
-        (JSC::ScopeChain::markAggregate):
-        * runtime/SmallStrings.cpp:
-        (JSC::isMarked):
-        (JSC::SmallStrings::markChildren):
-        * runtime/SmallStrings.h:
-        (JSC::SmallStrings::emptyString):
-        (JSC::SmallStrings::singleCharacterString):
-        (JSC::SmallStrings::singleCharacterStrings):
-        * runtime/StringConstructor.cpp:
-        (JSC::StringConstructor::StringConstructor):
-        * runtime/StringObject.cpp:
-        (JSC::StringObject::StringObject):
-        * runtime/StringObject.h:
-        * runtime/StringPrototype.cpp:
-        (JSC::StringPrototype::StringPrototype):
-        * runtime/Structure.cpp:
-        (JSC::Structure::Structure):
-        (JSC::Structure::addPropertyTransition):
-        (JSC::Structure::toDictionaryTransition):
-        (JSC::Structure::flattenDictionaryStructure):
-        * runtime/Structure.h:
-        (JSC::Structure::storedPrototype):
-        (JSC::Structure::storedPrototypeSlot):
-        * runtime/WeakGCMap.h:
-        (JSC::WeakGCMap::uncheckedGet):
-        (JSC::WeakGCMap::uncheckedGetSlot):
-        (JSC::WeakGCMap::isValid):
-        (JSC::::get):
-        (JSC::::take):
-        (JSC::::set):
-        (JSC::::uncheckedRemove):
-        * runtime/WriteBarrier.h: Added.
-        (JSC::DeprecatedPtr::DeprecatedPtr):
-        (JSC::DeprecatedPtr::get):
-        (JSC::DeprecatedPtr::operator*):
-        (JSC::DeprecatedPtr::operator->):
-        (JSC::DeprecatedPtr::slot):
-        (JSC::DeprecatedPtr::operator UnspecifiedBoolType*):
-        (JSC::DeprecatedPtr::operator!):
-        (JSC::WriteBarrierBase::set):
-        (JSC::WriteBarrierBase::get):
-        (JSC::WriteBarrierBase::operator*):
-        (JSC::WriteBarrierBase::operator->):
-        (JSC::WriteBarrierBase::slot):
-        (JSC::WriteBarrierBase::operator UnspecifiedBoolType*):
-        (JSC::WriteBarrierBase::operator!):
-        (JSC::WriteBarrier::WriteBarrier):
-        (JSC::operator==):
-
-2011-01-30  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Filter all Heap collection through a common reset function, in
-        preparation for adding features triggered by collection.
-        https://bugs.webkit.org/show_bug.cgi?id=53396
-        
-        SunSpider reports no change.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::reportExtraMemoryCostSlowCase): When we're over the extraCost
-        limit, just call collectAllGarbage() instead of rolling our own special
-        way of resetting the heap. In theory, this may be slower in some cases,
-        but it also fixes cases of pathological heap growth that we've seen,
-        where the only objects being allocated are temporary and huge
-        (<rdar://problem/8885843>).
-
-        (JSC::Heap::allocate):
-        (JSC::Heap::collectAllGarbage): Use the shared reset function.
-
-        (JSC::Heap::reset):
-        * runtime/Heap.h: Carved a new shared reset function out of the old
-        collectAllGarbage.
-
-2011-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
-
-        Unreviewed, rolling out r77025.
-        http://trac.webkit.org/changeset/77025
-        https://bugs.webkit.org/show_bug.cgi?id=53401
-
-        It made js1_5/Regress/regress-159334.js fail on 64 bit Linux
-        (Requested by Ossy on #webkit).
-
-        * jit/ExecutableAllocatorFixedVMPool.cpp:
-        (JSC::FreeListEntry::FreeListEntry):
-        (JSC::AVLTreeAbstractorForFreeList::get_less):
-        (JSC::AVLTreeAbstractorForFreeList::set_less):
-        (JSC::AVLTreeAbstractorForFreeList::get_greater):
-        (JSC::AVLTreeAbstractorForFreeList::set_greater):
-        (JSC::AVLTreeAbstractorForFreeList::get_balance_factor):
-        (JSC::AVLTreeAbstractorForFreeList::set_balance_factor):
-        (JSC::AVLTreeAbstractorForFreeList::null):
-        (JSC::AVLTreeAbstractorForFreeList::compare_key_key):
-        (JSC::AVLTreeAbstractorForFreeList::compare_key_node):
-        (JSC::AVLTreeAbstractorForFreeList::compare_node_node):
-        (JSC::reverseSortFreeListEntriesByPointer):
-        (JSC::reverseSortCommonSizedAllocations):
-        (JSC::FixedVMPoolAllocator::release):
-        (JSC::FixedVMPoolAllocator::reuse):
-        (JSC::FixedVMPoolAllocator::addToFreeList):
-        (JSC::FixedVMPoolAllocator::coalesceFreeSpace):
-        (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
-        (JSC::FixedVMPoolAllocator::alloc):
-        (JSC::FixedVMPoolAllocator::free):
-        (JSC::FixedVMPoolAllocator::isValid):
-        (JSC::FixedVMPoolAllocator::allocInternal):
-        (JSC::FixedVMPoolAllocator::isWithinVMPool):
-        (JSC::FixedVMPoolAllocator::addToCommittedByteCount):
-        (JSC::ExecutableAllocator::committedByteCount):
-        (JSC::maybeModifyVMPoolSize):
-        (JSC::ExecutableAllocator::isValid):
-        (JSC::ExecutableAllocator::underMemoryPressure):
-        (JSC::ExecutablePool::systemAlloc):
-        (JSC::ExecutablePool::systemRelease):
-        * wtf/PageReservation.h:
-        (WTF::PageReservation::PageReservation):
-        (WTF::PageReservation::commit):
-        (WTF::PageReservation::decommit):
-
-2011-01-30  Leo Yang  <leo.yang@torchmobile.com.cn>
-
-        Reviewed by Daniel Bates.
-
-        Code style issue in JavaScriptCore/wtf/CurrentTime.h
-        https://bugs.webkit.org/show_bug.cgi?id=53394
-
-        According to rule #3 at http://webkit.org/coding/coding-style.html,
-        This patch fix style issue in CurrentTime.h.
-
-        No functionality change, no new tests.
-
-        * wtf/CurrentTime.h:
-        (WTF::currentTimeMS):
-        (WTF::getLocalTime):
-
-2011-01-30  Benjamin Poulain  <ikipou@gmail.com>
-
-        Reviewed by Kenneth Rohde Christiansen.
-
-        [Qt] JavaScriptCore does not link on Mac if building WebKit 2
-        https://bugs.webkit.org/show_bug.cgi?id=53377
-
-        The option "-whole-archive" is not availabe with the libtool of Mac OS X,
-        instead, we can use "-all_load" on Mac.
-
-        * JavaScriptCore.pri:
-
-2011-01-29  Geoffrey Garen  <ggaren@apple.com>
-
-        Sorry Leopard bot -- I committed a change by accident.
-
-        * JavaScriptCore.exp: You may have your symbols back now.
-
-2011-01-29  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Cameron Zwarich.
-
-        Simplified Heap iteration
-        https://bugs.webkit.org/show_bug.cgi?id=53393
-
-        * runtime/CollectorHeapIterator.h:
-        (JSC::CollectorHeapIterator::isValid):
-        (JSC::CollectorHeapIterator::isLive):
-        (JSC::CollectorHeapIterator::advance): Removed "max" argument to
-        advance because it's a constant.
-        (JSC::LiveObjectIterator::LiveObjectIterator):
-        (JSC::LiveObjectIterator::operator++):
-        (JSC::DeadObjectIterator::DeadObjectIterator):
-        (JSC::DeadObjectIterator::operator++):
-        (JSC::ObjectIterator::ObjectIterator):
-        (JSC::ObjectIterator::operator++): Factored out common checks into
-        two helper functions -- isValid() for "Am I past the end?" and isLive()
-        for "Is the cell I'm pointing to live?".
-
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::freeBlock):
-        (JSC::MarkedSpace::sweep): Always sweep from the beginning of the heap
-        to the end, to avoid making sweep subtly reliant on internal Heap state.
-        (JSC::MarkedSpace::primaryHeapBegin):
-        (JSC::MarkedSpace::primaryHeapEnd): Always be explicit about where
-        iteration begins.
-
-2011-01-29  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Cameron Zwarich.
-
-        Simplified heap destruction
-        https://bugs.webkit.org/show_bug.cgi?id=53392
-
-        * JavaScriptCore.exp:
-        * runtime/Heap.cpp:
-        (JSC::Heap::destroy):
-        * runtime/Heap.h:
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::destroy):
-        * runtime/MarkedSpace.h: Don't go out of our way to destroy GC-protected
-        cells last -- the difficult contortions required to do so just don't seem
-        justified. We make no guarantees about GC protection after the client
-        throws away JSGlobalData, and it doesn't seem like any meaningful
-        guarantee is even possible.
-
-2011-01-29  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Maciej Stachowiak.
-
-        Switched heap to use the Bitmap class and removed CollectorBitmap
-        https://bugs.webkit.org/show_bug.cgi?id=53391
-        
-        SunSpider says 1.005x as fast. Seems like a fluke.
-
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::allocate): Updated for rename and returning a value
-        rather than taking a value by reference.
-
-        * runtime/MarkedSpace.h: Code reuse is good.
-
-        * wtf/Bitmap.h:
-        (WTF::::testAndSet): Added, since this is the one thing Bitmap was missing
-        which CollectorBitmap had. (Renamed from the less conventional "getset".)
-
-        (WTF::::nextPossiblyUnset): Renamed and changed to return a value for
-        clarity. It's all the same with inlining.
-
-2011-01-28  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Maciej Stachowiak.
-
-        Some more Heap cleanup.
-        https://bugs.webkit.org/show_bug.cgi?id=53357
-        
-        * JavaScriptCore.exp:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Updated exported symbols.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::reportExtraMemoryCostSlowCase): Renamed recordExtraCost to 
-        reportExtraMemoryCostSlowCase to match our naming conventions.
-
-        (JSC::Heap::capacity): Renamed size to capacity because this function
-        returns the capacity of the heap, including unused portions.
-
-        * runtime/Heap.h:
-        (JSC::Heap::globalData):
-        (JSC::Heap::markedSpace):
-        (JSC::Heap::machineStackMarker):
-        (JSC::Heap::reportExtraMemoryCost): Moved statics to the top of the file.
-        Moved ctor and dtor to the beginning of the class definition. Grouped
-        functions by purpose.
-
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::capacity): Renamed size to capacity because this
-        function returns the capacity of the heap, including unused portions.
-
-        * runtime/MarkedSpace.h: Removed statistics and the Statistics class because
-        the same information can be gotten just by calling size() and capacity().
-
-        * runtime/MemoryStatistics.cpp:
-        * runtime/MemoryStatistics.h: Ditto.
-
-2011-01-29  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Eric Seidel.
-
-        Move wince/mt19937ar.c to ThirdParty and make it a policy choice
-        https://bugs.webkit.org/show_bug.cgi?id=53253
-
-        Make inclusion of MT19937 a policy decision.
-
-        Currently, we hardcoded to  use MT19937 when building for
-        Windows CE. Instead, we should make this a policy decision
-        with the Windows CE port using this by default.
-
-        * JavaScriptCore.pri: Append Source/ThirdParty to the end
-        of the list include directories.
-        * wtf/CMakeLists.txt: Ditto.
-        * wtf/Platform.h: Defined WTF_USE_MERSENNE_TWISTER_19937 when
-        building for Windows CE.
-        * wtf/RandomNumber.cpp:
-        (WTF::randomNumber): Substituted USE(MERSENNE_TWISTER_19937) for OS(WINCE).
-
-2011-01-29  Cameron Zwarich  <zwarich@apple.com>
-
-        Reviewed by David Kilzer.
-
-        Bug 53374 - Remove uses of unsafe string functions in debugging code
-        https://bugs.webkit.org/show_bug.cgi?id=53374
-
-        * runtime/RegExp.cpp:
-        (JSC::RegExp::printTraceData):
-
-2011-01-29  Cameron Zwarich  <zwarich@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        JavaScriptCoreUseJIT environment variable broken
-        https://bugs.webkit.org/show_bug.cgi?id=53372
-
-        * runtime/JSGlobalData.cpp:
-        (JSC::JSGlobalData::JSGlobalData): Check the actual value in the string returned
-        by getenv() rather than just doing a NULL check on the return value.
-
-2011-01-29  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by David Kilzer.
-
-        Move CharacterNames.h into WTF directory
-        https://bugs.webkit.org/show_bug.cgi?id=49618
-
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-        * wtf/unicode/CharacterNames.h: Renamed from WebCore/platform/text/CharacterNames.h.
-        * wtf/unicode/UTF8.cpp:
-
-2011-01-28  Simon Fraser  <simon.fraser@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Add various clampToInt() methods to MathExtras.h
-        https://bugs.webkit.org/show_bug.cgi?id=52910
-        
-        Add functions for clamping doubles and floats to valid int
-        ranges, for signed and positive integers.
-
-        * wtf/MathExtras.h:
-        (clampToInteger):
-        (clampToPositiveInteger):
-
-2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
-
-        Unreviewed, rolling out r77006 and r77020.
-        http://trac.webkit.org/changeset/77006
-        http://trac.webkit.org/changeset/77020
-        https://bugs.webkit.org/show_bug.cgi?id=53360
-
-        "Broke Windows tests" (Requested by rniwa on #webkit).
-
-        * API/JSCallbackObject.h:
-        (JSC::JSCallbackObjectData::setPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
-        (JSC::JSCallbackObject::setPrivateProperty):
-        * API/JSCallbackObjectFunctions.h:
-        (JSC::::put):
-        (JSC::::staticFunctionGetter):
-        * API/JSObjectRef.cpp:
-        (JSObjectMakeConstructor):
-        (JSObjectSetPrivateProperty):
-        * API/JSWeakObjectMapRefInternal.h:
-        * JavaScriptCore.exp:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * bytecode/CodeBlock.cpp:
-        (JSC::CodeBlock::markAggregate):
-        * bytecode/CodeBlock.h:
-        (JSC::CodeBlock::globalObject):
-        * bytecompiler/BytecodeGenerator.cpp:
-        (JSC::BytecodeGenerator::BytecodeGenerator):
-        (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
-        (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
-        (JSC::BytecodeGenerator::findScopedProperty):
-        * debugger/Debugger.cpp:
-        (JSC::evaluateInGlobalCallFrame):
-        * debugger/DebuggerActivation.cpp:
-        (JSC::DebuggerActivation::DebuggerActivation):
-        (JSC::DebuggerActivation::markChildren):
-        * debugger/DebuggerActivation.h:
-        * debugger/DebuggerCallFrame.cpp:
-        (JSC::DebuggerCallFrame::evaluate):
-        * interpreter/CallFrame.h:
-        (JSC::ExecState::exception):
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::resolve):
-        (JSC::Interpreter::resolveSkip):
-        (JSC::Interpreter::resolveGlobal):
-        (JSC::Interpreter::resolveGlobalDynamic):
-        (JSC::Interpreter::resolveBaseAndProperty):
-        (JSC::Interpreter::unwindCallFrame):
-        (JSC::appendSourceToError):
-        (JSC::Interpreter::execute):
-        (JSC::Interpreter::tryCacheGetByID):
-        (JSC::Interpreter::privateExecute):
-        * jit/JITStubs.cpp:
-        (JSC::JITThunks::tryCacheGetByID):
-        (JSC::DEFINE_STUB_FUNCTION):
-        * jsc.cpp:
-        (GlobalObject::GlobalObject):
-        * runtime/ArgList.cpp:
-        (JSC::MarkedArgumentBuffer::markLists):
-        * runtime/Arguments.cpp:
-        (JSC::Arguments::markChildren):
-        (JSC::Arguments::getOwnPropertySlot):
-        (JSC::Arguments::getOwnPropertyDescriptor):
-        (JSC::Arguments::put):
-        * runtime/Arguments.h:
-        (JSC::Arguments::setActivation):
-        (JSC::Arguments::Arguments):
-        * runtime/ArrayConstructor.cpp:
-        (JSC::ArrayConstructor::ArrayConstructor):
-        (JSC::constructArrayWithSizeQuirk):
-        * runtime/ArrayPrototype.cpp:
-        (JSC::arrayProtoFuncSplice):
-        * runtime/BatchedTransitionOptimizer.h:
-        (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
-        (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
-        * runtime/BooleanConstructor.cpp:
-        (JSC::BooleanConstructor::BooleanConstructor):
-        (JSC::constructBoolean):
-        (JSC::constructBooleanFromImmediateBoolean):
-        * runtime/BooleanPrototype.cpp:
-        (JSC::BooleanPrototype::BooleanPrototype):
-        * runtime/ConservativeSet.cpp:
-        (JSC::ConservativeSet::grow):
-        * runtime/ConservativeSet.h:
-        (JSC::ConservativeSet::~ConservativeSet):
-        (JSC::ConservativeSet::mark):
-        * runtime/DateConstructor.cpp:
-        (JSC::DateConstructor::DateConstructor):
-        * runtime/DateInstance.cpp:
-        (JSC::DateInstance::DateInstance):
-        * runtime/DatePrototype.cpp:
-        (JSC::dateProtoFuncSetTime):
-        (JSC::setNewValueFromTimeArgs):
-        (JSC::setNewValueFromDateArgs):
-        (JSC::dateProtoFuncSetYear):
-        * runtime/ErrorConstructor.cpp:
-        (JSC::ErrorConstructor::ErrorConstructor):
-        * runtime/ErrorInstance.cpp:
-        (JSC::ErrorInstance::ErrorInstance):
-        * runtime/ErrorPrototype.cpp:
-        (JSC::ErrorPrototype::ErrorPrototype):
-        * runtime/FunctionConstructor.cpp:
-        (JSC::FunctionConstructor::FunctionConstructor):
-        * runtime/FunctionPrototype.cpp:
-        (JSC::FunctionPrototype::FunctionPrototype):
-        * runtime/GetterSetter.cpp:
-        (JSC::GetterSetter::markChildren):
-        * runtime/GetterSetter.h:
-        (JSC::GetterSetter::GetterSetter):
-        (JSC::GetterSetter::getter):
-        (JSC::GetterSetter::setGetter):
-        (JSC::GetterSetter::setter):
-        (JSC::GetterSetter::setSetter):
-        * runtime/GlobalEvalFunction.cpp:
-        (JSC::GlobalEvalFunction::GlobalEvalFunction):
-        (JSC::GlobalEvalFunction::markChildren):
-        * runtime/GlobalEvalFunction.h:
-        (JSC::GlobalEvalFunction::cachedGlobalObject):
-        * runtime/Heap.cpp:
-        (JSC::Heap::markProtectedObjects):
-        (JSC::Heap::markTempSortVectors):
-        (JSC::Heap::markRoots):
-        * runtime/InternalFunction.cpp:
-        (JSC::InternalFunction::InternalFunction):
-        * runtime/JSAPIValueWrapper.h:
-        (JSC::JSAPIValueWrapper::value):
-        (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
-        * runtime/JSActivation.cpp:
-        (JSC::JSActivation::markChildren):
-        (JSC::JSActivation::put):
-        * runtime/JSArray.cpp:
-        (JSC::JSArray::JSArray):
-        (JSC::JSArray::getOwnPropertySlot):
-        (JSC::JSArray::getOwnPropertyDescriptor):
-        (JSC::JSArray::put):
-        (JSC::JSArray::putSlowCase):
-        (JSC::JSArray::deleteProperty):
-        (JSC::JSArray::increaseVectorLength):
-        (JSC::JSArray::setLength):
-        (JSC::JSArray::pop):
-        (JSC::JSArray::push):
-        (JSC::JSArray::unshiftCount):
-        (JSC::JSArray::sort):
-        (JSC::JSArray::fillArgList):
-        (JSC::JSArray::copyToRegisters):
-        (JSC::JSArray::compactForSorting):
-        * runtime/JSArray.h:
-        (JSC::JSArray::getIndex):
-        (JSC::JSArray::setIndex):
-        (JSC::JSArray::uncheckedSetIndex):
-        (JSC::JSArray::markChildrenDirect):
-        * runtime/JSByteArray.cpp:
-        (JSC::JSByteArray::JSByteArray):
-        * runtime/JSCell.h:
-        (JSC::JSCell::JSValue::toThisObject):
-        (JSC::JSCell::MarkStack::append):
-        * runtime/JSFunction.cpp:
-        (JSC::JSFunction::JSFunction):
-        (JSC::JSFunction::getOwnPropertySlot):
-        * runtime/JSGlobalData.h:
-        * runtime/JSGlobalObject.cpp:
-        (JSC::markIfNeeded):
-        (JSC::JSGlobalObject::reset):
-        (JSC::JSGlobalObject::resetPrototype):
-        (JSC::JSGlobalObject::markChildren):
-        * runtime/JSGlobalObject.h:
-        (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
-        (JSC::JSGlobalObject::regExpConstructor):
-        (JSC::JSGlobalObject::errorConstructor):
-        (JSC::JSGlobalObject::evalErrorConstructor):
-        (JSC::JSGlobalObject::rangeErrorConstructor):
-        (JSC::JSGlobalObject::referenceErrorConstructor):
-        (JSC::JSGlobalObject::syntaxErrorConstructor):
-        (JSC::JSGlobalObject::typeErrorConstructor):
-        (JSC::JSGlobalObject::URIErrorConstructor):
-        (JSC::JSGlobalObject::evalFunction):
-        (JSC::JSGlobalObject::objectPrototype):
-        (JSC::JSGlobalObject::functionPrototype):
-        (JSC::JSGlobalObject::arrayPrototype):
-        (JSC::JSGlobalObject::booleanPrototype):
-        (JSC::JSGlobalObject::stringPrototype):
-        (JSC::JSGlobalObject::numberPrototype):
-        (JSC::JSGlobalObject::datePrototype):
-        (JSC::JSGlobalObject::regExpPrototype):
-        (JSC::JSGlobalObject::methodCallDummy):
-        (JSC::Structure::prototypeForLookup):
-        (JSC::constructArray):
-        * runtime/JSONObject.cpp:
-        (JSC::Stringifier::Holder::object):
-        (JSC::Stringifier::markAggregate):
-        (JSC::Stringifier::stringify):
-        (JSC::Stringifier::Holder::appendNextProperty):
-        (JSC::Walker::callReviver):
-        (JSC::Walker::walk):
-        * runtime/JSObject.cpp:
-        (JSC::JSObject::defineGetter):
-        (JSC::JSObject::defineSetter):
-        (JSC::JSObject::removeDirect):
-        (JSC::JSObject::putDirectFunction):
-        (JSC::JSObject::putDirectFunctionWithoutTransition):
-        (JSC::putDescriptor):
-        (JSC::JSObject::defineOwnProperty):
-        * runtime/JSObject.h:
-        (JSC::JSObject::getDirectOffset):
-        (JSC::JSObject::putDirectOffset):
-        (JSC::JSObject::flattenDictionaryObject):
-        (JSC::JSObject::putDirectInternal):
-        (JSC::JSObject::putDirect):
-        (JSC::JSObject::putDirectFunction):
-        (JSC::JSObject::putDirectWithoutTransition):
-        (JSC::JSObject::putDirectFunctionWithoutTransition):
-        (JSC::JSValue::putDirect):
-        (JSC::JSObject::allocatePropertyStorageInline):
-        (JSC::JSObject::markChildrenDirect):
-        * runtime/JSPropertyNameIterator.cpp:
-        (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
-        (JSC::JSPropertyNameIterator::get):
-        * runtime/JSPropertyNameIterator.h:
-        * runtime/JSStaticScopeObject.cpp:
-        (JSC::JSStaticScopeObject::markChildren):
-        * runtime/JSString.cpp:
-        (JSC::StringObject::create):
-        * runtime/JSValue.h:
-        * runtime/JSWrapperObject.cpp:
-        (JSC::JSWrapperObject::markChildren):
-        * runtime/JSWrapperObject.h:
-        (JSC::JSWrapperObject::internalValue):
-        (JSC::JSWrapperObject::setInternalValue):
-        * runtime/LiteralParser.cpp:
-        (JSC::LiteralParser::parse):
-        * runtime/Lookup.cpp:
-        (JSC::setUpStaticFunctionSlot):
-        * runtime/Lookup.h:
-        (JSC::lookupPut):
-        * runtime/MarkStack.h:
-        (JSC::MarkStack::appendValues):
-        * runtime/MathObject.cpp:
-        (JSC::MathObject::MathObject):
-        * runtime/NativeErrorConstructor.cpp:
-        (JSC::NativeErrorConstructor::NativeErrorConstructor):
-        * runtime/NativeErrorPrototype.cpp:
-        (JSC::NativeErrorPrototype::NativeErrorPrototype):
-        * runtime/NumberConstructor.cpp:
-        (JSC::NumberConstructor::NumberConstructor):
-        (JSC::constructWithNumberConstructor):
-        * runtime/NumberObject.cpp:
-        (JSC::constructNumber):
-        * runtime/NumberPrototype.cpp:
-        (JSC::NumberPrototype::NumberPrototype):
-        * runtime/ObjectConstructor.cpp:
-        (JSC::ObjectConstructor::ObjectConstructor):
-        (JSC::objectConstructorGetOwnPropertyDescriptor):
-        * runtime/Operations.h:
-        (JSC::normalizePrototypeChain):
-        (JSC::resolveBase):
-        * runtime/PrototypeFunction.cpp:
-        (JSC::PrototypeFunction::PrototypeFunction):
-        * runtime/PutPropertySlot.h:
-        (JSC::PutPropertySlot::setExistingProperty):
-        (JSC::PutPropertySlot::setNewProperty):
-        (JSC::PutPropertySlot::base):
-        * runtime/RegExpConstructor.cpp:
-        (JSC::RegExpConstructor::RegExpConstructor):
-        * runtime/ScopeChain.cpp:
-        (JSC::ScopeChainNode::print):
-        * runtime/ScopeChain.h:
-        (JSC::ScopeChainNode::~ScopeChainNode):
-        (JSC::ScopeChainIterator::operator*):
-        (JSC::ScopeChainIterator::operator->):
-        (JSC::ScopeChain::top):
-        * runtime/ScopeChainMark.h:
-        (JSC::ScopeChain::markAggregate):
-        * runtime/SmallStrings.cpp:
-        (JSC::isMarked):
-        (JSC::SmallStrings::markChildren):
-        * runtime/SmallStrings.h:
-        (JSC::SmallStrings::emptyString):
-        (JSC::SmallStrings::singleCharacterString):
-        (JSC::SmallStrings::singleCharacterStrings):
-        * runtime/StringConstructor.cpp:
-        (JSC::StringConstructor::StringConstructor):
-        * runtime/StringObject.cpp:
-        (JSC::StringObject::StringObject):
-        * runtime/StringObject.h:
-        * runtime/StringPrototype.cpp:
-        (JSC::StringPrototype::StringPrototype):
-        * runtime/Structure.cpp:
-        (JSC::Structure::Structure):
-        (JSC::Structure::addPropertyTransition):
-        (JSC::Structure::toDictionaryTransition):
-        (JSC::Structure::flattenDictionaryStructure):
-        * runtime/Structure.h:
-        (JSC::Structure::storedPrototype):
-        * runtime/WeakGCMap.h:
-        (JSC::WeakGCMap::uncheckedGet):
-        (JSC::WeakGCMap::isValid):
-        (JSC::::get):
-        (JSC::::take):
-        (JSC::::set):
-        (JSC::::uncheckedRemove):
-        * runtime/WriteBarrier.h: Removed.
-
-2011-01-28  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Geoff Garen.
-
-        https://bugs.webkit.org/show_bug.cgi?id=53352
-        Heavy external fragmentation in FixedVMPoolAllocator can lead to a CRASH().
-
-        The FixedVMPoolAllocator currently uses a best fix policy -
-        switch to first fit, this is less prone to external fragmentation.
-
-        * jit/ExecutableAllocatorFixedVMPool.cpp:
-        (JSC::AllocationTableSizeClass::AllocationTableSizeClass):
-        (JSC::AllocationTableSizeClass::blockSize):
-        (JSC::AllocationTableSizeClass::blockCount):
-        (JSC::AllocationTableSizeClass::blockAlignment):
-        (JSC::AllocationTableSizeClass::size):
-        (JSC::AllocationTableLeaf::AllocationTableLeaf):
-        (JSC::AllocationTableLeaf::~AllocationTableLeaf):
-        (JSC::AllocationTableLeaf::allocate):
-        (JSC::AllocationTableLeaf::free):
-        (JSC::AllocationTableLeaf::isEmpty):
-        (JSC::AllocationTableLeaf::isFull):
-        (JSC::AllocationTableLeaf::size):
-        (JSC::AllocationTableLeaf::classForSize):
-        (JSC::AllocationTableLeaf::dump):
-        (JSC::LazyAllocationTable::LazyAllocationTable):
-        (JSC::LazyAllocationTable::~LazyAllocationTable):
-        (JSC::LazyAllocationTable::allocate):
-        (JSC::LazyAllocationTable::free):
-        (JSC::LazyAllocationTable::isEmpty):
-        (JSC::LazyAllocationTable::isFull):
-        (JSC::LazyAllocationTable::size):
-        (JSC::LazyAllocationTable::dump):
-        (JSC::LazyAllocationTable::classForSize):
-        (JSC::AllocationTableDirectory::AllocationTableDirectory):
-        (JSC::AllocationTableDirectory::~AllocationTableDirectory):
-        (JSC::AllocationTableDirectory::allocate):
-        (JSC::AllocationTableDirectory::free):
-        (JSC::AllocationTableDirectory::isEmpty):
-        (JSC::AllocationTableDirectory::isFull):
-        (JSC::AllocationTableDirectory::size):
-        (JSC::AllocationTableDirectory::classForSize):
-        (JSC::AllocationTableDirectory::dump):
-        (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator):
-        (JSC::FixedVMPoolAllocator::alloc):
-        (JSC::FixedVMPoolAllocator::free):
-        (JSC::FixedVMPoolAllocator::allocated):
-        (JSC::FixedVMPoolAllocator::isValid):
-        (JSC::FixedVMPoolAllocator::classForSize):
-        (JSC::FixedVMPoolAllocator::offsetToPointer):
-        (JSC::FixedVMPoolAllocator::pointerToOffset):
-        (JSC::ExecutableAllocator::committedByteCount):
-        (JSC::ExecutableAllocator::isValid):
-        (JSC::ExecutableAllocator::underMemoryPressure):
-        (JSC::ExecutablePool::systemAlloc):
-        (JSC::ExecutablePool::systemRelease):
-        * wtf/PageReservation.h:
-        (WTF::PageReservation::PageReservation):
-        (WTF::PageReservation::commit):
-        (WTF::PageReservation::decommit):
-        (WTF::PageReservation::committed):
-
-2011-01-27  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        Convert markstack to a slot visitor API
-        https://bugs.webkit.org/show_bug.cgi?id=53219
-
-        Move the MarkStack over to a slot based marking API.
-
-        In order to avoiding aliasing concerns there are two new types
-        that need to be used when holding on to JSValues and JSCell that
-        need to be marked: WriteBarrier and DeprecatedPtr.  WriteBarrier
-        is expected to be used for any JSValue or Cell that's lifetime and
-        marking is controlled by another GC object.  DeprecatedPtr is used
-        for any value that we need to rework ownership for.
-
-        The change over to this model has produced a large amount of
-        code changes, but they are mostly mechanical (forwarding JSGlobalData,
-        etc).
-
-        * API/JSCallbackObject.h:
-        (JSC::JSCallbackObjectData::setPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
-        (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
-        (JSC::JSCallbackObject::setPrivateProperty):
-        * API/JSCallbackObjectFunctions.h:
-        (JSC::::put):
-        (JSC::::staticFunctionGetter):
-        * API/JSObjectRef.cpp:
-        (JSObjectMakeConstructor):
-        (JSObjectSetPrivateProperty):
-        * API/JSWeakObjectMapRefInternal.h:
-        * JavaScriptCore.exp:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * bytecode/CodeBlock.cpp:
-        (JSC::CodeBlock::markAggregate):
-        * bytecode/CodeBlock.h:
-        (JSC::CodeBlock::globalObject):
-        * bytecompiler/BytecodeGenerator.cpp:
-        (JSC::BytecodeGenerator::BytecodeGenerator):
-        (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
-        (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
-        (JSC::BytecodeGenerator::findScopedProperty):
-        * debugger/DebuggerActivation.cpp:
-        (JSC::DebuggerActivation::DebuggerActivation):
-        (JSC::DebuggerActivation::markChildren):
-        * debugger/DebuggerActivation.h:
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::resolve):
-        (JSC::Interpreter::resolveSkip):
-        (JSC::Interpreter::resolveGlobalDynamic):
-        (JSC::Interpreter::resolveBaseAndProperty):
-        (JSC::Interpreter::unwindCallFrame):
-        (JSC::appendSourceToError):
-        (JSC::Interpreter::execute):
-        (JSC::Interpreter::privateExecute):
-        * interpreter/Register.h:
-        (JSC::Register::jsValueSlot):
-        * jit/JITStubs.cpp:
-        (JSC::JITThunks::tryCacheGetByID):
-        (JSC::DEFINE_STUB_FUNCTION):
-        * jsc.cpp:
-        (GlobalObject::GlobalObject):
-        * runtime/Arguments.cpp:
-        (JSC::Arguments::markChildren):
-        (JSC::Arguments::getOwnPropertySlot):
-        (JSC::Arguments::getOwnPropertyDescriptor):
-        (JSC::Arguments::put):
-        * runtime/Arguments.h:
-        (JSC::Arguments::setActivation):
-        (JSC::Arguments::Arguments):
-        * runtime/ArrayConstructor.cpp:
-        (JSC::ArrayConstructor::ArrayConstructor):
-        (JSC::constructArrayWithSizeQuirk):
-        * runtime/ArrayPrototype.cpp:
-        (JSC::arrayProtoFuncSplice):
-        * runtime/BatchedTransitionOptimizer.h:
-        (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
-        (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
-        * runtime/BooleanConstructor.cpp:
-        (JSC::BooleanConstructor::BooleanConstructor):
-        (JSC::constructBoolean):
-        (JSC::constructBooleanFromImmediateBoolean):
-        * runtime/BooleanPrototype.cpp:
-        (JSC::BooleanPrototype::BooleanPrototype):
-        * runtime/ConservativeSet.h:
-        (JSC::ConservativeSet::mark):
-        * runtime/DateConstructor.cpp:
-        (JSC::DateConstructor::DateConstructor):
-        * runtime/DateInstance.cpp:
-        (JSC::DateInstance::DateInstance):
-        * runtime/DatePrototype.cpp:
-        (JSC::dateProtoFuncSetTime):
-        (JSC::setNewValueFromTimeArgs):
-        (JSC::setNewValueFromDateArgs):
-        (JSC::dateProtoFuncSetYear):
-        * runtime/ErrorConstructor.cpp:
-        (JSC::ErrorConstructor::ErrorConstructor):
-        * runtime/ErrorInstance.cpp:
-        (JSC::ErrorInstance::ErrorInstance):
-        * runtime/ErrorPrototype.cpp:
-        (JSC::ErrorPrototype::ErrorPrototype):
-        * runtime/FunctionConstructor.cpp:
-        (JSC::FunctionConstructor::FunctionConstructor):
-        * runtime/FunctionPrototype.cpp:
-        (JSC::FunctionPrototype::FunctionPrototype):
-        * runtime/GetterSetter.cpp:
-        (JSC::GetterSetter::markChildren):
-        * runtime/GetterSetter.h:
-        (JSC::GetterSetter::GetterSetter):
-        (JSC::GetterSetter::getter):
-        (JSC::GetterSetter::setGetter):
-        (JSC::GetterSetter::setter):
-        (JSC::GetterSetter::setSetter):
-        * runtime/GlobalEvalFunction.cpp:
-        (JSC::GlobalEvalFunction::GlobalEvalFunction):
-        (JSC::GlobalEvalFunction::markChildren):
-        * runtime/GlobalEvalFunction.h:
-        (JSC::GlobalEvalFunction::cachedGlobalObject):
-        * runtime/Heap.cpp:
-        (JSC::Heap::markProtectedObjects):
-        (JSC::Heap::markTempSortVectors):
-        (JSC::Heap::markRoots):
-        * runtime/InternalFunction.cpp:
-        (JSC::InternalFunction::InternalFunction):
-        * runtime/JSAPIValueWrapper.h:
-        (JSC::JSAPIValueWrapper::value):
-        (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
-        * runtime/JSActivation.cpp:
-        (JSC::JSActivation::put):
-        * runtime/JSArray.cpp:
-        (JSC::JSArray::JSArray):
-        (JSC::JSArray::getOwnPropertySlot):
-        (JSC::JSArray::getOwnPropertyDescriptor):
-        (JSC::JSArray::put):
-        (JSC::JSArray::putSlowCase):
-        (JSC::JSArray::deleteProperty):
-        (JSC::JSArray::increaseVectorLength):
-        (JSC::JSArray::setLength):
-        (JSC::JSArray::pop):
-        (JSC::JSArray::push):
-        (JSC::JSArray::unshiftCount):
-        (JSC::JSArray::sort):
-        (JSC::JSArray::fillArgList):
-        (JSC::JSArray::copyToRegisters):
-        (JSC::JSArray::compactForSorting):
-        * runtime/JSArray.h:
-        (JSC::JSArray::getIndex):
-        (JSC::JSArray::setIndex):
-        (JSC::JSArray::uncheckedSetIndex):
-        (JSC::JSArray::markChildrenDirect):
-        * runtime/JSByteArray.cpp:
-        (JSC::JSByteArray::JSByteArray):
-        * runtime/JSCell.h:
-        (JSC::JSCell::MarkStack::append):
-        (JSC::JSCell::MarkStack::appendCell):
-        * runtime/JSFunction.cpp:
-        (JSC::JSFunction::JSFunction):
-        (JSC::JSFunction::getOwnPropertySlot):
-        * runtime/JSGlobalObject.cpp:
-        (JSC::markIfNeeded):
-        (JSC::JSGlobalObject::reset):
-        (JSC::JSGlobalObject::resetPrototype):
-        (JSC::JSGlobalObject::markChildren):
-        * runtime/JSGlobalObject.h:
-        (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
-        (JSC::JSGlobalObject::regExpConstructor):
-        (JSC::JSGlobalObject::errorConstructor):
-        (JSC::JSGlobalObject::evalErrorConstructor):
-        (JSC::JSGlobalObject::rangeErrorConstructor):
-        (JSC::JSGlobalObject::referenceErrorConstructor):
-        (JSC::JSGlobalObject::syntaxErrorConstructor):
-        (JSC::JSGlobalObject::typeErrorConstructor):
-        (JSC::JSGlobalObject::URIErrorConstructor):
-        (JSC::JSGlobalObject::evalFunction):
-        (JSC::JSGlobalObject::objectPrototype):
-        (JSC::JSGlobalObject::functionPrototype):
-        (JSC::JSGlobalObject::arrayPrototype):
-        (JSC::JSGlobalObject::booleanPrototype):
-        (JSC::JSGlobalObject::stringPrototype):
-        (JSC::JSGlobalObject::numberPrototype):
-        (JSC::JSGlobalObject::datePrototype):
-        (JSC::JSGlobalObject::regExpPrototype):
-        (JSC::JSGlobalObject::methodCallDummy):
-        (JSC::constructArray):
-        * runtime/JSONObject.cpp:
-        (JSC::Stringifier::Holder::object):
-        (JSC::Stringifier::Holder::objectSlot):
-        (JSC::Stringifier::markAggregate):
-        (JSC::Stringifier::stringify):
-        (JSC::Stringifier::Holder::appendNextProperty):
-        (JSC::Walker::callReviver):
-        (JSC::Walker::walk):
-        * runtime/JSObject.cpp:
-        (JSC::JSObject::defineGetter):
-        (JSC::JSObject::defineSetter):
-        (JSC::JSObject::removeDirect):
-        (JSC::JSObject::putDirectFunction):
-        (JSC::JSObject::putDirectFunctionWithoutTransition):
-        (JSC::putDescriptor):
-        (JSC::JSObject::defineOwnProperty):
-        * runtime/JSObject.h:
-        (JSC::JSObject::putDirectOffset):
-        (JSC::JSObject::putUndefinedAtDirectOffset):
-        (JSC::JSObject::flattenDictionaryObject):
-        (JSC::JSObject::putDirectInternal):
-        (JSC::JSObject::putDirect):
-        (JSC::JSObject::putDirectFunction):
-        (JSC::JSObject::putDirectWithoutTransition):
-        (JSC::JSObject::putDirectFunctionWithoutTransition):
-        (JSC::JSValue::putDirect):
-        (JSC::JSObject::allocatePropertyStorageInline):
-        (JSC::JSObject::markChildrenDirect):
-        * runtime/JSStaticScopeObject.cpp:
-        (JSC::JSStaticScopeObject::markChildren):
-        * runtime/JSString.cpp:
-        (JSC::StringObject::create):
-        * runtime/JSValue.h:
-        * runtime/JSWrapperObject.cpp:
-        (JSC::JSWrapperObject::markChildren):
-        * runtime/JSWrapperObject.h:
-        (JSC::JSWrapperObject::internalValue):
-        (JSC::JSWrapperObject::setInternalValue):
-        * runtime/LiteralParser.cpp:
-        (JSC::LiteralParser::parse):
-        * runtime/Lookup.cpp:
-        (JSC::setUpStaticFunctionSlot):
-        * runtime/Lookup.h:
-        (JSC::lookupPut):
-        * runtime/MarkStack.h:
-        * runtime/MathObject.cpp:
-        (JSC::MathObject::MathObject):
-        * runtime/NativeErrorConstructor.cpp:
-        (JSC::NativeErrorConstructor::NativeErrorConstructor):
-        * runtime/NativeErrorPrototype.cpp:
-        (JSC::NativeErrorPrototype::NativeErrorPrototype):
-        * runtime/NumberConstructor.cpp:
-        (JSC::NumberConstructor::NumberConstructor):
-        (JSC::constructWithNumberConstructor):
-        * runtime/NumberObject.cpp:
-        (JSC::constructNumber):
-        * runtime/NumberPrototype.cpp:
-        (JSC::NumberPrototype::NumberPrototype):
-        * runtime/ObjectConstructor.cpp:
-        (JSC::ObjectConstructor::ObjectConstructor):
-        (JSC::objectConstructorGetOwnPropertyDescriptor):
-        * runtime/Operations.h:
-        (JSC::normalizePrototypeChain):
-        (JSC::resolveBase):
-        * runtime/PrototypeFunction.cpp:
-        (JSC::PrototypeFunction::PrototypeFunction):
-        * runtime/PutPropertySlot.h:
-        (JSC::PutPropertySlot::setExistingProperty):
-        (JSC::PutPropertySlot::setNewProperty):
-        (JSC::PutPropertySlot::base):
-        * runtime/RegExpConstructor.cpp:
-        (JSC::RegExpConstructor::RegExpConstructor):
-        * runtime/ScopeChain.cpp:
-        (JSC::ScopeChainNode::print):
-        * runtime/ScopeChain.h:
-        (JSC::ScopeChainNode::~ScopeChainNode):
-        (JSC::ScopeChainIterator::operator*):
-        (JSC::ScopeChainIterator::operator->):
-        (JSC::ScopeChain::top):
-        * runtime/ScopeChainMark.h:
-        (JSC::ScopeChain::markAggregate):
-        * runtime/SmallStrings.cpp:
-        (JSC::isMarked):
-        (JSC::SmallStrings::markChildren):
-        * runtime/SmallStrings.h:
-        (JSC::SmallStrings::emptyString):
-        (JSC::SmallStrings::singleCharacterString):
-        (JSC::SmallStrings::singleCharacterStrings):
-        * runtime/StringConstructor.cpp:
-        (JSC::StringConstructor::StringConstructor):
-        * runtime/StringObject.cpp:
-        (JSC::StringObject::StringObject):
-        * runtime/StringObject.h:
-        * runtime/StringPrototype.cpp:
-        (JSC::StringPrototype::StringPrototype):
-        * runtime/Structure.cpp:
-        (JSC::Structure::flattenDictionaryStructure):
-        * runtime/Structure.h:
-        (JSC::Structure::storedPrototypeSlot):
-        * runtime/WeakGCMap.h:
-        (JSC::WeakGCMap::uncheckedGet):
-        (JSC::WeakGCMap::uncheckedGetSlot):
-        (JSC::::get):
-        (JSC::::take):
-        (JSC::::set):
-        (JSC::::uncheckedRemove):
-        * runtime/WriteBarrier.h: Added.
-        (JSC::DeprecatedPtr::DeprecatedPtr):
-        (JSC::DeprecatedPtr::get):
-        (JSC::DeprecatedPtr::operator*):
-        (JSC::DeprecatedPtr::operator->):
-        (JSC::DeprecatedPtr::slot):
-        (JSC::DeprecatedPtr::operator UnspecifiedBoolType*):
-        (JSC::DeprecatedPtr::operator!):
-        (JSC::WriteBarrierBase::set):
-        (JSC::WriteBarrierBase::get):
-        (JSC::WriteBarrierBase::operator*):
-        (JSC::WriteBarrierBase::operator->):
-        (JSC::WriteBarrierBase::slot):
-        (JSC::WriteBarrierBase::operator UnspecifiedBoolType*):
-        (JSC::WriteBarrierBase::operator!):
-        (JSC::WriteBarrier::WriteBarrier):
-        (JSC::operator==):
-
-2011-01-28  Adam Roben  <aroben@apple.com>
-
-        Chromium build fix after r76967
-
-        * wtf/ThreadingPrimitives.h: Use OS(WINDOWS) instead of PLATFORM(WIN), to match other
-        similar macros in this file.
-
-2011-01-28  Michael Saboff  <msaboff@apple.com>
-
-        Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
-        https://bugs.webkit.org/show_bug.cgi?id=53271
-
-        Reapplying this this change.  No change from prior patch in
-        JavaScriptCore.
-
-        Added new isValid() methods to check if a contained object in
-        a WeakGCMap is valid when using an unchecked iterator.
-
-        * runtime/WeakGCMap.h:
-        (JSC::WeakGCMap::isValid):
-
-2011-01-27  Adam Roben  <aroben@apple.com>
-
-        Extract code to convert a WTF absolute time to a Win32 wait interval into a separate
-        function
-
-        Fixes <http://webkit.org/b/53208> <rdar://problem/8922490> BinarySemaphore should wrap a
-        Win32 event
-
-        Reviewed by Dave Hyatt.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export the new function.
-
-        * wtf/ThreadingPrimitives.h: Declare the new function.
-
-        * wtf/ThreadingWin.cpp:
-        (WTF::ThreadCondition::timedWait): Moved code to convert the absolute time to a wait
-        interval from here...
-        (WTF::absoluteTimeToWaitTimeoutInterval): ...to here.
-
-2011-01-28  Sam Weinig  <sam@webkit.org>
-
-        Reviewed by Maciej Stachowiak.
-
-        Add basic rubber banding support
-        <rdar://problem/8219429>
-        https://bugs.webkit.org/show_bug.cgi?id=53277
-
-        * wtf/Platform.h: Add ENABLE for rubber banding.
-
-2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
-
-        Unreviewed, rolling out r76893.
-        http://trac.webkit.org/changeset/76893
-        https://bugs.webkit.org/show_bug.cgi?id=53287
-
-        It made some tests crash on GTK and Qt debug bots (Requested
-        by Ossy on #webkit).
-
-        * runtime/WeakGCMap.h:
-
-2011-01-27  Adam Barth  <abarth@webkit.org>
-
-        Reviewed by Eric Seidel.
-
-        Add WTFString method to compare equality with Vector<UChar>
-        https://bugs.webkit.org/show_bug.cgi?id=53266
-
-        I'm planning to use this method in the new XSS filter implementation,
-        but it seems generally useful.
-
-        * wtf/text/StringImpl.h:
-        (WTF::equalIgnoringNullity):
-        * wtf/text/WTFString.h:
-        (WTF::equalIgnoringNullity):
-
-2011-01-27  Michael Saboff  <msaboff@apple.com>
-
-        Potentially Unsafe HashSet of RuntimeObject* in RootObject definition
-        https://bugs.webkit.org/show_bug.cgi?id=53271
-
-        Added new isValid() methods to check if a contained object in
-        a WeakGCMap is valid when using an unchecked iterator.
-
-        * runtime/WeakGCMap.h:
-        (JSC::WeakGCMap::isValid):
-
-2011-01-26  Sam Weinig  <sam@webkit.org>
-
-        Reviewed by Maciej Stachowiak.
-
-        Add events to represent the start/end of a gesture scroll
-        https://bugs.webkit.org/show_bug.cgi?id=53215
-
-        * wtf/Platform.h: Add ENABLE for gesture events. 
-
-2011-01-26  Yael Aharon  <yael.aharon@nokia.com>
-
-        Reviewed by Laszlo Gombos.
-
-        [Qt][Symbian] Fix --minimal build
-        https://bugs.webkit.org/show_bug.cgi?id=52839
-
-        Move definition of USE_SYSTEM_MALLOC out of pri file.
-        Put it in platform.h instead.
-
-        * wtf/Platform.h:
-        * wtf/TCSystemAlloc.cpp:
-        * wtf/wtf.pri:
-
-2011-01-26  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Andreas Kling.
-
-        [WINCE] Add JIT support to build system
-        https://bugs.webkit.org/show_bug.cgi?id=53079
-
-        * CMakeListsWinCE.txt:
-
-2011-01-25  Adam Roben  <aroben@apple.com>
-
-        Windows Production build fix
-
-        Reviewed by Steve Falkenburg.
-
-        * JavaScriptCore.vcproj/JavaScriptCore.make: Set BUILDSTYLE to Release_PGO at the very start
-        of the file so that ConfigurationBuildDir takes that into account. Also set it the right way
-        (by redefining the macro) rather than the wrong way (by modifying the environment variable).
-
-2011-01-25  Steve Falkenburg  <sfalken@apple.com>
-
-        Rubber-stamped by Adam Roben.
-
-        Windows production build fix.
-        Use correct environment variable escaping
-
-        * JavaScriptCore.vcproj/JavaScriptCore.make:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
-
-2011-01-25  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        JSON.stringify processing time exponentially grows with size of object
-        https://bugs.webkit.org/show_bug.cgi?id=51922
-
-        Remove last use of reserveCapacity from JSON stringification, as it results
-        in appalling append behaviour when there are a large number of property names
-        and nothing else.
-
-        * runtime/JSONObject.cpp:
-        (JSC::Stringifier::appendQuotedString):
-
-2011-01-25  Antti Koivisto  <antti@apple.com>
-
-        Not reviewed.
-        
-        Try to fix windows build.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2011-01-25  Antti Koivisto  <antti@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        REGRESSION: Leak in JSParser::Scope::copyCapturedVariablesToVector()
-        https://bugs.webkit.org/show_bug.cgi?id=53061
-         
-        Cache did not know about the subclass so failed to fully delete the items. 
-        Got rid of the subclass and moved the classes to separate files.
-
-        * CMakeLists.txt:
-        * GNUmakefile.am:
-        * JavaScriptCore.exp:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * parser/JSParser.cpp:
-        (JSC::JSParser::Scope::saveFunctionInfo):
-        (JSC::JSParser::Scope::restoreFunctionInfo):
-        (JSC::JSParser::findCachedFunctionInfo):
-        (JSC::JSParser::parseFunctionInfo):
-        * parser/SourceProvider.h:
-        * parser/SourceProviderCache.cpp: Added.
-        (JSC::SourceProviderCache::~SourceProviderCache):
-        (JSC::SourceProviderCache::byteSize):
-        * parser/SourceProviderCache.h: Added.
-        (JSC::SourceProviderCache::SourceProviderCache):
-        (JSC::SourceProviderCache::add):
-        (JSC::SourceProviderCache::get):
-        * parser/SourceProviderCacheItem.h: Added.
-        (JSC::SourceProviderCacheItem::SourceProviderCacheItem):
-        (JSC::SourceProviderCacheItem::approximateByteSize):
-        (JSC::SourceProviderCacheItem::closeBraceToken):
-
-2011-01-25  Marcilio Mendonca  <mamendonca@rim.com>
-
-        Reviewed by Darin Adler.
-
-        Bug 53087: Refactoring: replaced a hanging "else" with a "return"
-        statement
-        https://bugs.webkit.org/show_bug.cgi?id=53087.
-
-        Refactoring work: Replaced a hanging "else" within an #if PLATFORM(M
-        with a "return" so that the code is more readable and less error pro
-        (e.g., "else" doesn't use braces so adding extra lines to the else
-        block won't have any effect; even worse, code still compiles
-        successfully.
-
-        * wtf/Assertions.cpp:
-
-2011-01-24  Chris Marrin  <cmarrin@apple.com>
-
-        Reviewed by Eric Seidel.
-
-        Change ENABLE_3D_CANVAS to ENABLE_WEBGL
-        https://bugs.webkit.org/show_bug.cgi?id=53041
-
-        * Configurations/FeatureDefines.xcconfig:
-
-2011-01-25  Adam Roben  <aroben@apple.com>
-
-        Windows Production build fix
-
-        * JavaScriptCore.vcproj/JavaScriptCore.make: Added a missing "set".
-
-2011-01-25  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Eric Seidel.
-
-        Add missing defines for COMPILER(RVCT) && CPU(ARM_THUMB2)
-        https://bugs.webkit.org/show_bug.cgi?id=52949
-
-        * jit/JITStubs.cpp:
-
-2011-01-24  Adam Roben  <aroben@apple.com>
-
-        Windows Production build fix
-
-        * JavaScriptCore.vcproj/JavaScriptCore.make: Update for move of JavaScriptCore into Source.
-
-2011-01-24  Peter Varga  <pvarga@webkit.org>
-
-        Reviewed by Oliver Hunt.
-
-        Optimize regex patterns which contain empty alternatives
-        https://bugs.webkit.org/show_bug.cgi?id=51395
-
-        Eliminate the empty alternatives from the regex pattern and convert it to do
-        the matching in an easier way.
-
-        * yarr/YarrPattern.cpp:
-        (JSC::Yarr::YarrPatternConstructor::atomParenthesesEnd):
-
-2011-01-24  Andras Becsi  <abecsi@webkit.org>
-
-        Reviewed by Csaba Osztrogonác.
-
-        [Qt] Move project files into Source
-        https://bugs.webkit.org/show_bug.cgi?id=52891
-
-        * JavaScriptCore.pri:
-        * JavaScriptCore.pro:
-        * jsc.pro:
-
-2011-01-23  Mark Rowe  <mrowe@apple.com>
-
-        Follow-up to r76477.
-
-        Fix the scripts that detect problematic code such as static initializers
-        and destructors, weak vtables, inappropriate files in the framework wrappers,
-        and public headers including private headers. These had all been broken
-        since the projects were moved in to the Source directory as the paths to the
-        scripts were not updated at that time.
-
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2011-01-23  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        Use WTF::StringHasher in WebCore
-        https://bugs.webkit.org/show_bug.cgi?id=52934
-
-        Add an additional function to calculate the hash
-        of data with a runtimedependent size.
-
-        * wtf/StringHasher.h:
-        (WTF::StringHasher::createBlobHash):
-
-2011-01-23  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by David Kilzer.
-
-        Fix comment in String::ascii()
-        https://bugs.webkit.org/show_bug.cgi?id=52980
-
-        * wtf/text/WTFString.cpp:
-        (WTF::String::ascii):
-
-2011-01-23  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by David Kilzer.
-
-        Add String::containsOnlyLatin1()
-        https://bugs.webkit.org/show_bug.cgi?id=52979
-
-        * wtf/text/WTFString.h:
-        (WTF::String::containsOnlyLatin1):
-        (WTF::charactersAreAllLatin1):
-
-2011-01-23  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Oliver Hunt.
-
-        Remove obsolete JSVALUE32 code
-        https://bugs.webkit.org/show_bug.cgi?id=52948
-
-        r70111 removed support for JSVALUE32.
-        ARM, MIPS and X86 support JSVALUE32_64 only.
-
-        * jit/JITStubs.cpp:
-
-2011-01-22  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Dan Bernstein.
-
-        ASSERT running run-webkit-tests --threaded.
-        https://bugs.webkit.org/show_bug.cgi?id=52971
-        
-        SunSpider and v8 report no change.
-
-        * runtime/ConservativeSet.cpp:
-        (JSC::ConservativeSet::grow):
-        (JSC::ConservativeSet::add):
-        * runtime/ConservativeSet.h: Tweaked the inline capacity to 128, and
-        the growth policy to 2X, to make SunSpider and v8 happy.
-        (JSC::ConservativeSet::ConservativeSet):
-        (JSC::ConservativeSet::~ConservativeSet):
-        (JSC::ConservativeSet::mark): Use OSAllocator directly, instead of malloc.
-        Malloc is forbidden during a multi-threaded mark phase because it can
-        cause deadlock.
-
-2011-01-22  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        Rubber-stamped by Maciej Stachowiak.
-
-        A few of Maciej's review suggestions for my last patch.
-        https://bugs.webkit.org/show_bug.cgi?id=52946        
-
-        SunSpider reports no change.
-
-        * Android.mk:
-        * CMakeLists.txt:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj: Updated build systems.
-
-        * runtime/ConservativeSet.cpp: Added.
-        (JSC::isPointerAligned):
-        (JSC::ConservativeSet::add):
-        * runtime/ConservativeSet.h: Added.
-        (JSC::ConservativeSet::ConservativeSet):
-        (JSC::ConservativeSet::mark): Split ConservativeSet out into its own
-        file, and moved the conservative check into ConservativeSet::add, making
-        ConservativeSet's responsibility clearer.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::markRoots):
-        * runtime/MachineStackMarker.cpp:
-        (JSC::MachineStackMarker::markCurrentThreadConservativelyInternal):
-        (JSC::MachineStackMarker::markOtherThreadConservatively):
-        * runtime/MachineStackMarker.h:
-        * runtime/MarkStack.h: Updated for changes above.
-
-2011-01-22  Patrick Gansterer  <paroga@webkit.org>
-
-        Unreviewed WinCE build fix for r76430.
-
-        * runtime/MachineStackMarker.cpp:
-        (JSC::swapIfBackwards):
-
-2011-01-21  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Beth Dakin.
-
-        Reorganized MarkedSpace, making many of its functions private.
-
-        * runtime/JSCell.h:
-        (JSC::JSCell::Heap::heap):
-        * runtime/MarkedSpace.h:
-        (JSC::MarkedSpace::globalData):
-        (JSC::MarkedSpace::heap):
-
-2011-01-21  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix build: moved helper function out of #ifdef.
-
-        * runtime/MachineStackMarker.cpp:
-        (JSC::swapIfBackwards):
-
-2011-01-21  Geoffrey Garen  <ggaren@apple.com>
-
-        Rubber-stamped by Maciej Stachowiak.
-
-        A few of Maciej's review suggestions for my last patch.
-        https://bugs.webkit.org/show_bug.cgi?id=52946        
-
-        SunSpider reports no change.
-
-        * runtime/MachineStackMarker.cpp:
-        (JSC::swapIfBackwards): Added a helper function for handling platforms
-        where the stack can grow in any direction.
-
-        (JSC::MachineStackMarker::markCurrentThreadConservativelyInternal):
-        (JSC::MachineStackMarker::markOtherThreadConservatively): Use the helper
-        function.
-
-        (JSC::isPointerAligned): Use "!" instead of "==0" because a robot told me to.
-
-        (JSC::MachineStackMarker::markConservatively): Changed to use a more
-        standard looping idiom, and to use the helper function above.
-
-        * runtime/MarkedSpace.h:
-        (JSC::MarkedSpace::isCellAligned): Use "!" instead of "==0" because a robot told me to.
-
-2011-01-21  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Maciej Stachowiak.
-
-        Cleaned up some conservative marking code.
-        https://bugs.webkit.org/show_bug.cgi?id=52946
-        
-        SunSpider reports no change.
-
-        * interpreter/RegisterFile.h: No need for a special marking function,
-        since we already expose a start() and end().
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::registerFile):
-        (JSC::Heap::markRoots):
-        * runtime/Heap.h:
-        (JSC::Heap::contains): Migrated markConservatively() to the machine stack
-        marker class. Now, Heap just provides a contains() function, which the
-        machine stack marker uses for checking whether a pointer points into the heap.
-
-        * runtime/MachineStackMarker.cpp:
-        (JSC::MachineStackMarker::markCurrentThreadConservativelyInternal):
-        (JSC::MachineStackMarker::markOtherThreadConservatively):
-        (JSC::isPointerAligned):
-        (JSC::MachineStackMarker::markConservatively):
-        * runtime/MachineStackMarker.h: Move the conservative marking code here.
-
-        * runtime/MarkStack.h:
-        (JSC::ConservativeSet::add):
-        (JSC::ConservativeSet::mark): Changed to using a vector instead of hash
-        set. Vector seems to be a bit faster, and it generates smaller code.
-
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::containsSlowCase):
-        * runtime/MarkedSpace.h:
-        (JSC::MarkedSpace::isCellAligned):
-        (JSC::MarkedSpace::isPossibleCell):
-        (JSC::MarkedSpace::contains): Kept the code for determining whether a
-        pointer pointed into marked space, and moved the code for marking
-        a set of conservative pointers into the machine stack marker.
-
-        * wtf/HashSet.h:
-        (WTF::::add): Added two missing inlines that I noticed while testing
-        vector vs hash set.
-
-2011-01-21  Mark Rowe  <mrowe@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Work around a Clang bug <rdar://problem/8876150> that leads to it incorrectly emitting an access
-        control warning when a client tries to use operator bool exposed above via "using PageBlock::operator bool".
-
-        * wtf/PageAllocation.h:
-        (WTF::PageAllocation::operator bool):
-        * wtf/PageReservation.h:
-        (WTF::PageReservation::operator bool):
-
-2011-01-21  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        [RegexFuzz] Hang with forward assertion
-        https://bugs.webkit.org/show_bug.cgi?id=52825
-        <rdar://problem/8894332>
-
-        The backtrackTo label from the first term in a list of terms is
-        being overwritten by processing of subsequent terms.  Changed
-        copyBacktrackToLabel() to check for an existing bcaktrackTo label
-        before copying and renamed it to propagateBacktrackToLabel() since
-        it no longer copies.
-
-        * yarr/YarrJIT.cpp:
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::propagateBacktrackToLabel):
-        (JSC::Yarr::YarrGenerator::generateParenthesesSingle):
-
-2011-01-21  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Moved the mark stack from global data to the heap, since it pertains
-        to the heap, and not the virtual machine as a whole.
-        https://bugs.webkit.org/show_bug.cgi?id=52930
-        
-        SunSpider reports no change.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::Heap):
-        (JSC::Heap::markRoots):
-        * runtime/Heap.h:
-        * runtime/JSGlobalData.cpp:
-        (JSC::JSGlobalData::JSGlobalData):
-        * runtime/JSGlobalData.h:
-
-2011-01-21  Peter Gal  <galpeter@inf.u-szeged.hu>
-
-        Reviewed by Darin Adler.
-
-        REGRESSION(r76177): All JavaScriptCore tests fail on ARM
-        https://bugs.webkit.org/show_bug.cgi?id=52814
-
-        Get the approximateByteSize value before releasing the OwnPtr.
-
-        * parser/JSParser.cpp:
-        (JSC::JSParser::parseFunctionInfo):
-
-2011-01-21  Xan Lopez  <xlopez@igalia.com>
-
-        Reviewed by Martin Robinson.
-
-        Remove unnecessary <stdio.h> include
-        https://bugs.webkit.org/show_bug.cgi?id=52884
-
-        * jit/JIT.cpp: remove unnecessary include.
-
-2011-01-20  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Reviewed by Maciej Stachowiak.
-
-        Added OwnPtrCommon.h because OwnArrayPtr::set calls deleteOwnedPtr.
-
-        * wtf/OwnArrayPtr.h:
-
-2011-01-20  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Oliver Hunt.
-
-        [WINCE] Remove obsolete JSVALUE32 code
-        https://bugs.webkit.org/show_bug.cgi?id=52450
-
-        Remove the "offset hack" in create_jit_stubs, since we
-        only support JSVALUE32_64 in the meantime.
-
-        * create_jit_stubs: Removed offset argument
-        * jit/JITStubs.cpp:
-
-2011-01-20  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        When marking conservatively, guard against reviving dead objects.
-        https://bugs.webkit.org/show_bug.cgi?id=52840
-        
-        SunSpider and v8 say no change.
-
-        * interpreter/RegisterFile.h:
-        (JSC::RegisterFile::markCallFrames): Updated to use the ConservativeSet API.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::recordExtraCost): No need to guard against conservative
-        marking reviving dead objects anymore, since the conservative marking
-        mechanism guards against this now.
-
-        (JSC::Heap::markConservatively):
-        (JSC::Heap::markProtectedObjects):
-        (JSC::Heap::markTempSortVectors): Don't drain the mark stack inside a
-        marking function. We want to establish a separation of concerns between
-        visiting roots and draining the mark stack.
-
-        (JSC::Heap::markRoots): Gather the set of conservative references before
-        clearning mark bits, because conservative marking now uses the mark bits
-        to determine if a reference is valid, and avoid reviving dead objects.
-
-        (JSC::Heap::collectAllGarbage): No need to guard against conservative
-        marking reviving dead objects anymore, since the conservative marking
-        mechanism guards against this now.
-
-        * runtime/Heap.h: Updated to use the ConservativeSet API.
-
-        * runtime/MachineStackMarker.cpp:
-        (JSC::MachineStackMarker::markCurrentThreadConservativelyInternal):
-        (JSC::MachineStackMarker::markCurrentThreadConservatively):
-        (JSC::MachineStackMarker::markOtherThreadConservatively):
-        (JSC::MachineStackMarker::markMachineStackConservatively):
-        * runtime/MachineStackMarker.h: Ditto.
-
-        * runtime/MarkStack.h:
-        (JSC::ConservativeSet::add):
-        (JSC::ConservativeSet::mark): Added ConservativeSet, for gathering the
-        set of conservative references. This is different from MarkStack, since
-        we don't mark the set until it is completely gathered.
-
-        * runtime/MarkedSpace.cpp:
-        (JSC::MarkedSpace::freeBlock):
-        (JSC::MarkedSpace::resizeBlocks):
-        (JSC::MarkedSpace::markConservatively):
-        * runtime/MarkedSpace.h: When marking conservatively, guard against
-        reviving dead objects.
-
-2011-01-20  Siddharth Mathur  <siddharth.mathur@nokia.com>
-
-        Reviewed by Geoffrey Garen.
-
-        [Symbian] Fix StackBounds::initialize()
-        https://bugs.webkit.org/show_bug.cgi?id=52842
-
-        * wtf/StackBounds.cpp:
-        (WTF::StackBounds::initialize): Use TThreadStackInfo.iLimit for stack limit
-
-2011-01-20  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        <rdar://problem/8890203> [RegexFuzz] Crash in generated code (52773)
-        https://bugs.webkit.org/show_bug.cgi?id=52773
-
-        Fixed case where an existing DataLabelPtr is overwritten.  The
-        replacing DataLabelPtr is now resolved immediately in
-        linkDataLabelToBacktrackIfExists().  Cleanup - eliminated bool
-        return value for the routine as it was never used.
-
-        * yarr/YarrJIT.cpp:
-        (JSC::Yarr::YarrGenerator::TermGenerationState::linkDataLabelToBacktrackIfExists):
-
-2011-01-20  Andras Becsi  <abecsi@webkit.org>
-
-        Reviewed by Csaba Osztrogonác.
-
-        [Qt][WK2] WebKit2 enabled build fails to link
-
-        Work around undefined reference linking issues until the buildsystem gets redesigned.
-        These issues first occured in minimal builds (see BUG 50519).
-
-        * JavaScriptCore.pri: link as whole-archive for WebKit2 builds
-
-2011-01-20  Zoltan Horvath  <zoltan@webkit.org>
-
-        Reviewed by Csaba Osztrogonác.
-
-        Refactoring of the custom allocation framework
-        https://bugs.webkit.org/show_bug.cgi?id=49897
-
-        Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
-        The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
-        equivalent macro implementation at the necessary places.
-
-        * wtf/FastAllocBase.h: Turn FastAllocBase's implementation into a macro.
-
-2011-01-20  Mark Rowe  <mrowe@apple.com>
-
-        Reviewed by Maciej Stachowiak.
-
-        Follow-up to r75766 / <rdar://problem/5469576>.
-
-        We were failing to initialize the key, causing all sorts of unexpected behavior.
-
-        * wtf/FastMalloc.cpp:
-        (WTF::setThreadHeap):
-        (WTF::TCMalloc_ThreadCache::GetThreadHeap):
-        (WTF::TCMalloc_ThreadCache::InitTSD): Ensure that the key is initialized.
-
-2011-01-18  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Rolled back in r76078, with crash fixed.
-        https://bugs.webkit.org/show_bug.cgi?id=52668
-        
-        * runtime/JSGlobalObject.cpp:
-        (JSC::JSGlobalObject::markChildren): Account for the fact that the global
-        object moves its variables into and out of the register file. While out
-        of the register file, the symbol table's size is not an accurate count
-        for the size of the register array, since the BytecodeGenerator might
-        be compiling, adding items to the symbol table.
-        
-2011-01-18  Darin Adler  <darin@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        Stack overflow when converting an Error object to string
-        https://bugs.webkit.org/show_bug.cgi?id=46410
-
-        * Android.mk: Added StringRecursionChecker.cpp and
-        StringRecursionChecker.h.
-        * CMakeLists.txt: Ditto.
-        * GNUmakefile.am: Ditto.
-        * JavaScriptCore.gypi: Ditto.
-        * JavaScriptCore.pro: Ditto.
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
-        * JavaScriptCore.xcodeproj/project.pbxproj: Ditto.
-
-        * runtime/ArrayPrototype.cpp:
-        (JSC::arrayProtoFuncToString): Use StringRecursionChecker instead
-        of the older hand-written code to do the same thing.
-        (JSC::arrayProtoFuncToLocaleString): Ditto.
-        (JSC::arrayProtoFuncJoin): Ditto.
-
-        * runtime/ErrorPrototype.cpp:
-        (JSC::errorProtoFuncToString): Use StringRecursionChecker.
-
-        * runtime/JSGlobalData.h: Renamed arrayVisitedElements to
-        stringRecursionCheckVisitedObjects.
-
-        * runtime/RegExpPrototype.cpp:
-        (JSC::regExpProtoFuncToString): Use StringRecursionChecker.
-
-        * runtime/StringRecursionChecker.cpp: Added.
-        * runtime/StringRecursionChecker.h: Added.
-
-2011-01-19  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Remove non-spec support for callable RegExp
-        https://bugs.webkit.org/show_bug.cgi?id=28285
-
-        Remove support for callable regexps.  If it breaks sites we can
-        just roll this out.
-
-        * runtime/RegExpObject.cpp:
-        * runtime/RegExpObject.h:
-        * tests/mozilla/expected.html: update results.
-
-2011-01-19  Antti Koivisto  <antti@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Cache function offsets to speed up javascript parsing
-        https://bugs.webkit.org/show_bug.cgi?id=52622
-        
-        Use cache to save function offsets and some other info.
-        This avoids quite a bit of work when reparsing the source.
-
-        * parser/ASTBuilder.h:
-        * parser/JSParser.cpp:
-        (JSC::JSParser::CachedFunctionInfo::CachedFunctionInfo):
-        (JSC::JSParser::CachedFunctionInfo::approximateByteSize):
-        (JSC::JSParser::CachedFunctionInfo::closeBraceToken):
-        (JSC::JSParser::Scope::copyCapturedVariablesToVector):
-        (JSC::JSParser::Scope::saveFunctionInfo):
-        (JSC::JSParser::Scope::restoreFunctionInfo):
-        (JSC::JSParser::findCachedFunctionInfo):
-        (JSC::JSParser::JSParser):
-        (JSC::JSParser::parseProgram):
-        (JSC::JSParser::parseFunctionInfo):
-        * parser/Lexer.h:
-        (JSC::Lexer::setOffset):
-        (JSC::Lexer::setLineNumber):
-        (JSC::Lexer::sourceProvider):
-        * parser/SourceProvider.h:
-        (JSC::SourceProviderCache::SourceProviderCache):
-        (JSC::SourceProviderCache::~SourceProviderCache):
-        (JSC::SourceProviderCache::byteSize):
-        (JSC::SourceProviderCache::add):
-        (JSC::SourceProviderCache::get):
-        (JSC::SourceProvider::SourceProvider):
-        (JSC::SourceProvider::~SourceProvider):
-        (JSC::SourceProvider::cache):
-        (JSC::SourceProvider::notifyCacheSizeChanged):
-        (JSC::SourceProvider::cacheSizeChanged):
-        * parser/SyntaxChecker.h:
-
-2011-01-19  Mark Rowe  <mrowe@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Follow-up to r75766 / <rdar://problem/5469576>.
-
-        * DerivedSources.make: Evaluate the SDKROOT variable correctly.
-
-2011-01-19  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        [jsfunfuzz] Defining a function called __proto__ inside an eval triggers an assertion
-        https://bugs.webkit.org/show_bug.cgi?id=52672
-
-        Rather than coming up with a somewhat convoluted mechanism to ensure that
-        developers can override the global objects prototype with a function named
-        __proto__ and expect it to work, we just disallow it at the syntax level.
-
-        * parser/JSParser.cpp:
-        (JSC::JSParser::parseFunctionInfo):
-
-2011-01-19  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Darin Adler.
-
-        <rdar://problem/8882994> Regression: Simple nested backtrack hangs
-        https://bugs.webkit.org/show_bug.cgi?id=52675
-
-        The changeset (r76076) for https://bugs.webkit.org/show_bug.cgi?id=52540
-        broke simple backtracking in some cases.  Reworked that change to 
-        link both jumps and labels.
-
-        * yarr/YarrJIT.cpp:
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::hasBacktrackToLabel):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::propagateBacktrackingFrom):
-        (JSC::Yarr::YarrGenerator::generateParenthesesSingle):
-
-2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
-
-        Reviewed by Yury Semikhatsky.
-
-        Web Inspector: [JSC] scripts have incorrect starting line (always 1).
-        https://bugs.webkit.org/show_bug.cgi?id=52721
-
-        * debugger/Debugger.cpp:
-        (JSC::Debugger::recompileAllJSFunctions):
-        * debugger/Debugger.h:
-        * parser/Parser.h:
-        (JSC::Parser::parse):
-        * parser/SourceCode.h:
-        (JSC::SourceCode::SourceCode):
-        * parser/SourceProvider.h:
-        (JSC::SourceProvider::startPosition):
-
-2011-01-19  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Reviewed by Laszlo Gombos and Tor Arne Vestbø.
-
-        [Qt] Remove unnecessary "../Source" from paths
-        after moving source files into Source is finished.
-
-        * JavaScriptCore.pri:
-
-2011-01-19  Benjamin Kalman  <kalman@chromium.org>
-
-        Reviewed by Darin Adler.
-
-        Don't return void from void function String::split
-        https://bugs.webkit.org/show_bug.cgi?id=52684
-
-        * wtf/text/WTFString.cpp:
-        (WTF::String::split):
-
-2011-01-18  Kenneth Russell  <kbr@google.com>
-
-        Unreviewed, rolling out r76078.
-        http://trac.webkit.org/changeset/76078
-        https://bugs.webkit.org/show_bug.cgi?id=52668
-
-        Caused crashes of fast/canvas/webgl/constants.html,
-        fast/canvas/webgl/gl-enum-tests.html, and possibly other layout
-        test crashes in Release mode. WebGL crashes were observed with
-        "run-webkit-tests fast/canvas/webgl". It was necessary to run
-        multiple tests to provoke the crash.
-
-        * interpreter/RegisterFile.h:
-        (JSC::RegisterFile::markGlobals):
-        * runtime/JSActivation.cpp:
-        (JSC::JSActivation::markChildren):
-        * runtime/JSGlobalObject.cpp:
-        (JSC::JSGlobalObject::markChildren):
-
-2011-01-18  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        [jsfunfuzz] Assertion asking activation for arguments when arguments is overridden
-        https://bugs.webkit.org/show_bug.cgi?id=52690
-
-        Clean up code to retrieve arguments from activation and function objects.
-        Remove the incorrect assertion from JSActivation's argumentsGetter.
-
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::retrieveArguments):
-        * runtime/JSActivation.cpp:
-        (JSC::JSActivation::argumentsGetter):
-
-2011-01-18  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Removed RegisterFile::markGlobals because it was obtuse, and it
-        unnecessarily relied on conservative marking.
-        https://bugs.webkit.org/show_bug.cgi?id=52668
-
-        * interpreter/RegisterFile.h: Removed markGlobals.
-
-        * runtime/JSActivation.cpp:
-        (JSC::JSActivation::markChildren): Added a comment explaning why some
-        JSActivations don't always mark their registers arrays.
-
-        * runtime/JSGlobalObject.cpp:
-        (JSC::JSGlobalObject::markChildren): Instead of calling markGlobals, mark
-        the registers array directly.
-
-2011-01-18  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        <rdar://problem/8875432> Regression: Some text-only e-mails cause hang beneath RegExp::match (52540)
-        https://bugs.webkit.org/show_bug.cgi?id=52540
-        https://bugs.webkit.org/show_bug.cgi?id=52662
-
-        Directly use backtrack label with parentheses nested under a
-        non-capturing parentheses.  Also linked current parentheses
-        tail code object for possible parens nested within a non-capturing
-        parentheses.
-
-        * yarr/YarrJIT.cpp:
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::linkBacktrackToLabel):
-        (JSC::Yarr::YarrGenerator::generateParenthesesSingle):
-
-2011-01-18  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Only use moving memory model assumption in ExecutableAllocator::intializePageSize() for Symbian OS
-        https://bugs.webkit.org/show_bug.cgi?id=52517
-
-        Patch by David Tapuska
-
-        Currently, we compile code with respect to the Symbian-specific moving memory model
-        assumption for all ARMv5 or lower architectures. Instead, we should only compile
-        such code when building for Symbian OS on those architectures because this model
-        is Symbian-specific.
-
-        * jit/ExecutableAllocator.cpp:
-        (JSC::ExecutableAllocator::intializePageSize):
-
-2011-01-18  Dimitry Andric  <dim@freebsd.org>
-
-        Reviewed by Andreas Kling.
-
-        Fix linking JavaScriptCore on FreeBSD/amd64
-        https://bugs.webkit.org/show_bug.cgi?id=52591
-
-        Linking of JavaScriptCore on FreeBSD/amd64 fails, for the same reason as
-        in bug 28422: cti_vm_throw needs a "@plt" suffix, otherwise the linker
-        complains about the relocation type.
-
-        * jit/JITStubs.cpp: use @plt suffix on x86_64 platforms, for both Linux
-        and FreeBSD.
-
-2011-01-18  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Antti Koivisto.
-
-        [jsfunfuzz] Assertion in codegen for array of NaN constants
-        https://bugs.webkit.org/show_bug.cgi?id=52643
-
-        Don't cache NaN literals in the code generator, as NaN doesn't compare
-        as equal to itself it causes problems when rehashing the number cache.
-
-        * bytecompiler/BytecodeGenerator.cpp:
-        (JSC::BytecodeGenerator::emitLoad):
-
-2011-01-17  Jarred Nicholls  <jarred@sencha.com>
-
-        Reviewed by Csaba Osztrogonác.
-
-        REGRESSION(r75709): Return value of fscanf() shouldn't be ignored.
-        https://bugs.webkit.org/show_bug.cgi?id=52585
-        
-        gcc 4.4.4+ has warn_unused_value attribute on fscanf, so we should check
-        the return value to get around the gcc warning
-
-        * jit/ExecutableAllocatorFixedVMPool.cpp:
-        (JSC::maybeModifyVMPoolSize):
-
-2011-01-17  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        [regexfuzz] Crash running regex with lookahead
-        https://bugs.webkit.org/show_bug.cgi?id=52548
-
-        Eliminated agressive chaining of backtracks.  This code was overwriting
-        already valid backtrack information.
-
-        * yarr/YarrJIT.cpp:
-        (JSC::Yarr::YarrGenerator::ParenthesesTail::processBacktracks):
-
-2011-01-17  Tony Gentilcore  <tonyg@chromium.org>
-
-        Reviewed by Alexey Proskuryakov.
-
-        Fix some headers with missing or misspelled #ifndef guards
-        https://bugs.webkit.org/show_bug.cgi?id=52545
-
-        * wtf/RefPtrHashMap.h:
-
-2011-01-17  Dan Bernstein  <mitz@apple.com>
-
-        Rubber-stamped by Mark Rowe.
-
-        Update xcodeproj svn:ignore to include xcuserdata.
-
-        * JavaScriptCore.xcodeproj: Modified property svn:ignore.
-
-2011-01-16  Adam Barth  <abarth@webkit.org>
-
-        Rubber-stamped by Eric Seidel.
-
-        Move WebKit into Source
-        https://bugs.webkit.org/show_bug.cgi?id=52530
-
-        * JavaScriptCore.gyp/JavaScriptCore.gyp:
-
-2011-01-16  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        [jsfunfuzz] Parser doesn't correctly validate for-loop syntax
-        https://bugs.webkit.org/show_bug.cgi?id=52516
-
-        Ensure that we always check for a semicolon after encountering
-        multiple declarations in the initialiser portion of a for-loop.
-
-        * parser/JSParser.cpp:
-        (JSC::JSParser::parseForStatement):
-
-2011-01-16  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        Strict mode restrictions on arguments and eval usage aren't complete
-        https://bugs.webkit.org/show_bug.cgi?id=52528
-
-        Fix a few bugs in strict mode where we incorrect allow mutation of
-        arguments and eval in the parser.
-
-        Alas the "optimisation" used by the syntax checker for validating
-        binary and unary expressions was too aggressive: we do actually need
-        a stack for operations and operands although it needn't be as complete
-        as that used for the full AST builder.
-
-        Also disallow assignment to arguments in all cases as allowing arguments
-        to be assignable is always an error in strict mode, regardless of context.
-
-        * parser/ASTBuilder.h:
-        (JSC::ASTBuilder::BinaryExprContext::BinaryExprContext):
-        (JSC::ASTBuilder::UnaryExprContext::UnaryExprContext):
-        * parser/JSParser.cpp:
-        (JSC::JSParser::parseAssignmentExpression):
-        (JSC::JSParser::parseBinaryExpression):
-        (JSC::JSParser::parseUnaryExpression):
-        * parser/SyntaxChecker.h:
-        (JSC::SyntaxChecker::BinaryExprContext::BinaryExprContext):
-        (JSC::SyntaxChecker::BinaryExprContext::~BinaryExprContext):
-        (JSC::SyntaxChecker::UnaryExprContext::UnaryExprContext):
-        (JSC::SyntaxChecker::UnaryExprContext::~UnaryExprContext):
-        (JSC::SyntaxChecker::appendBinaryExpressionInfo):
-        (JSC::SyntaxChecker::operatorStackPop):
-
-2011-01-15  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Rolled back in r75886.
-        https://bugs.webkit.org/show_bug.cgi?id=52527
-        
-        r75886 broke the GTK Linux bot because Linux was -- quite surprisingly --
-        set up to use the constants for embedded devices.
-
-        * jit/ExecutableAllocatorFixedVMPool.cpp:
-        (JSC::maybeModifyVMPoolSize): Separated Linux constants from embedded
-        constants.
-
-2011-01-15  Sheriff Bot  <webkit.review.bot@gmail.com>
-
-        Unreviewed, rolling out r75886.
-        http://trac.webkit.org/changeset/75886
-        https://bugs.webkit.org/show_bug.cgi?id=52526
-
-        "Broke GTK+ 64bit" (Requested by xan_ on #webkit).
-
-        * jit/ExecutableAllocatorFixedVMPool.cpp:
-
-2011-01-15  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        <rdar://problem/8870429> Shrink the executable pool on embedded devices
-
-        * jit/ExecutableAllocatorFixedVMPool.cpp: Dropped the pool size from 32MB
-        to 16MB.
-
-2011-01-15  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Maciej Stachowiak.
-
-        Incorrect behavior changing attributes of an accessor
-        https://bugs.webkit.org/show_bug.cgi?id=52515
-
-        defineProperty doesn't correctly handle changing attributes of an accessor
-        property.  This is because we don't pass the full descriptor to the 
-        putDescriptor helper function, which means we have insufficient information
-        to do the right thing. Once that's passed the correct behavior is relatively
-        simple to implement.
-
-        * runtime/JSObject.cpp:
-        (JSC::putDescriptor):
-        (JSC::JSObject::defineOwnProperty):
-
-2011-01-14  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Maciej Stachowiak.
-
-        [jsfunfuzz] Incorrect handling of consecutive duplicate labels
-        https://bugs.webkit.org/show_bug.cgi?id=52505
-
-        Compare StringImpl*'s instead of Identifier*'s when looking for duplicate
-        labels.
-
-        * parser/JSParser.cpp:
-        (JSC::JSParser::parseExpressionOrLabelStatement):
-
-2011-01-14  Simon Fraser  <simon.fraser@apple.com>
-
-        No review.
-        
-        Initialize m_operationInProgress after r75855.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::Heap):
-
-2011-01-14  Geoffrey Garen  <ggaren@apple.com>
-
-        Reverted accidentally committed code from my last checkin.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::markRoots):
-
-2011-01-14  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-        
-        Try to fix the GTK bot.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::Heap):
-        (JSC::Heap::markRoots): Kids, remember to initialize your data members.
-        Knowing is half the battle.
-
-2011-01-14  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Stephanie Lewis.
-
-        [jsfunfuzz] We should be clearing the lexers temporary character buffers when switching to strict mode
-        https://bugs.webkit.org/show_bug.cgi?id=52501
-
-        Clear the temporary character buffers used for reading escaped characters and
-        numbers.
-
-        * parser/Lexer.h:
-        (JSC::Lexer::setOffset):
-
-2011-01-14  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix non-Dtrace builds: #include Tracing.h instead of TracingDtrace.h.
-
-        * runtime/Heap.cpp:
-
-2011-01-13  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Split out a MarkedSpace strategy object from Heap.
-        https://bugs.webkit.org/show_bug.cgi?id=52421
-        
-        SunSpider reports no change.
-
-        * Android.mk:
-        * CMakeLists.txt:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj: Updated our 7 build systems. Which is cool.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::Heap):
-        (JSC::Heap::destroy):
-        (JSC::Heap::recordExtraCost):
-        (JSC::Heap::allocate):
-        (JSC::Heap::markConservatively):
-        (JSC::Heap::markRoots):
-        (JSC::Heap::objectCount):
-        (JSC::Heap::statistics):
-        (JSC::Heap::size):
-        (JSC::Heap::isBusy):
-        (JSC::Heap::collectAllGarbage):
-        (JSC::Heap::primaryHeapBegin):
-        (JSC::Heap::primaryHeapEnd):
-        * runtime/Heap.h:
-        (JSC::Heap::globalData):
-        (JSC::Heap::markedSpace):
-        (JSC::Heap::isCellMarked):
-        (JSC::Heap::checkMarkCell):
-        (JSC::Heap::markCell): Moved all code pertaining to managing chunks of
-        collector memory out of this class. Heap now just delegates to MarkedSpace.
-
-        * runtime/JSCell.h:
-        (JSC::JSCell::Heap::heap): Updated for MarkedSpace delegation.
-
-        * runtime/JSValue.h: Moved the ValueStringPair typedef to help with #includes.
-
-        * runtime/MarkedSpace.cpp: Copied from runtime/Heap.cpp.
-        (JSC::MarkedSpace::MarkedSpace):
-        (JSC::MarkedSpace::destroy):
-        (JSC::MarkedSpace::allocateBlock):
-        (JSC::MarkedSpace::freeBlock):
-        (JSC::MarkedSpace::allocate):
-        (JSC::MarkedSpace::resizeBlocks):
-        (JSC::MarkedSpace::growBlocks):
-        (JSC::MarkedSpace::shrinkBlocks):
-        (JSC::MarkedSpace::markConservatively):
-        (JSC::MarkedSpace::clearMarkBits):
-        (JSC::MarkedSpace::markedCells):
-        (JSC::MarkedSpace::sweep):
-        (JSC::MarkedSpace::objectCount):
-        (JSC::MarkedSpace::addToStatistics):
-        (JSC::MarkedSpace::statistics):
-        (JSC::MarkedSpace::size):
-        (JSC::MarkedSpace::reset):
-        (JSC::MarkedSpace::primaryHeapBegin):
-        (JSC::MarkedSpace::primaryHeapEnd):
-        * runtime/MarkedSpace.h: Copied from runtime/Heap.h.
-        (JSC::MarkedSpace::globalData):
-        (JSC::MarkedSpace::didShrink):
-        (JSC::MarkedSpace::cellBlock):
-        (JSC::MarkedSpace::cellOffset):
-        (JSC::MarkedSpace::isCellMarked):
-        (JSC::MarkedSpace::checkMarkCell):
-        (JSC::MarkedSpace::markCell): Moved all code pertaining to managing chunks of
-        collector memory into this class.
-
-        * runtime/MemoryStatistics.cpp:
-        (JSC::heapStatistics):
-        * runtime/MemoryStatistics.h: Updated for MarkedSpace delegation.
-
-2011-01-14  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        [jsfunfuzz] parser doesn't enforce continue restrictions correctly.
-        https://bugs.webkit.org/show_bug.cgi?id=52493
-
-        This patch reworks handling of break, continue and label statements
-        to correctly handle all the valid and invalid cases.  Previously certain
-        errors would be missed by the parser in strict mode, but the bytecode 
-        generator needed to handle those cases for non-strict code so nothing
-        failed, it simply became non-standard behaviour.
-
-        Now that we treat break and continue errors as early faults in non-strict
-        mode as well that safety net has been removed so the parser bugs result in
-        crashes at codegen time.
-
-        * parser/JSParser.cpp:
-        (JSC::JSParser::ScopeLabelInfo::ScopeLabelInfo):
-        (JSC::JSParser::next):
-        (JSC::JSParser::nextTokenIsColon):
-        (JSC::JSParser::continueIsValid):
-            Continue is only valid in loops so we can't use breakIsValid()
-        (JSC::JSParser::pushLabel):
-            We now track whether the label is for a loop (and is therefore a
-            valid target for continue.
-        (JSC::JSParser::popLabel):
-        (JSC::JSParser::getLabel):
-            Replace hasLabel with getLabel so that we can validate the target
-            when parsing continue statements.
-        (JSC::JSParser::Scope::continueIsValid):
-        (JSC::JSParser::Scope::pushLabel):
-        (JSC::JSParser::Scope::getLabel):
-        (JSC::JSParser::JSParser):
-        (JSC::JSParser::parseBreakStatement):
-        (JSC::JSParser::parseContinueStatement):
-        (JSC::LabelInfo::LabelInfo):
-        (JSC::JSParser::parseExpressionOrLabelStatement):
-            Consecutive labels now get handled iteratively so that we can determine
-            whether they're valid targets for continue.
-        * parser/Lexer.cpp:
-        (JSC::Lexer::nextTokenIsColon):
-        * parser/Lexer.h:
-        (JSC::Lexer::setOffset):
-
-2011-01-14  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Adam Roben.
-
-        Use the Windows thread pool instead of an extra thread for FastMalloc scavenging
-        https://bugs.webkit.org/show_bug.cgi?id=45186
-
-        * wtf/FastMalloc.cpp:
-        (WTF::TCMalloc_PageHeap::scheduleScavenger): Added missing this pointer to CreateTimerQueueTimer().
-
-2011-01-14  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Adam Roben.
-
-        Use the Windows thread pool instead of an extra thread for FastMalloc scavenging
-        https://bugs.webkit.org/show_bug.cgi?id=45186
-
-        r75819 accidentally changed the initial state of the scavenge timer.
-
-        * wtf/FastMalloc.cpp:
-        (WTF::TCMalloc_PageHeap::initializeScavenger): Changed initial state of m_scavengingSuspended to true.
-
-2011-01-14  Patrick Gansterer  <paroga@webkit.org>
-
-        Unreviewed Windows Release build fix.
-
-        * wtf/FastMalloc.cpp:
-        (WTF::TCMalloc_PageHeap::scavengerTimerFired):
-
-2011-01-14  Patrick Gansterer  <paroga@webkit.org>
-
-        Unreviewed Windows Release build fix.
-
-        * wtf/FastMalloc.cpp:
-        (WTF::TCMalloc_PageHeap::scavengerTimerFired):
-
-2011-01-14  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Adam Roben.
-
-        Use the Windows thread pool instead of an extra thread for FastMalloc scavenging
-        https://bugs.webkit.org/show_bug.cgi?id=45186
-
-        Use CreateTimerQueueTimer() to start periodicScavenge() and stop it with DeleteTimerQueueTimer().
-
-        * wtf/FastMalloc.cpp:
-        (WTF::TCMalloc_PageHeap::initializeScavenger):
-        (WTF::TCMalloc_PageHeap::isScavengerSuspended):
-        (WTF::TCMalloc_PageHeap::scheduleScavenger):
-        (WTF::TCMalloc_PageHeap::rescheduleScavenger):
-        (WTF::TCMalloc_PageHeap::suspendScavenger):
-        (WTF::scavengerTimerFired):
-        (WTF::TCMalloc_PageHeap::periodicScavenge):
-        (WTF::TCMalloc_PageHeap::signalScavenger):
-
-2011-01-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
-
-        Reviewed by Kenneth Rohde Christiansen.
-
-        Align import/export directives
-        https://bugs.webkit.org/show_bug.cgi?id=52208
-
-        * API/JSBase.h: Align import/export directives with
-        WebKit2/Shared/API/c/WKBase.h
-
-2011-01-14  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Incorrect backtracking for nested alternatives
-        https://bugs.webkit.org/show_bug.cgi?id=52387
-
-        In the process of propigating a datalabel it wasn't getting connected
-        to a destination when the destination was an indirect jump.  Added
-        code to recognize a direct backtrack destination that was an indirect
-        jump and added mechanism to associate DataLabelPtrs with indirect
-        jump entries.
-        Removed dead method
-        BacktrackDestination::linkDataLabelToHereIfExists()
-
-        * yarr/YarrJIT.cpp:
-        (JSC::Yarr::YarrGenerator::IndirectJumpEntry::IndirectJumpEntry):
-        (JSC::Yarr::YarrGenerator::IndirectJumpEntry::addDataLabel):
-        (JSC::Yarr::YarrGenerator::GenerationState::addIndirectJumpEntry):
-        (JSC::Yarr::YarrGenerator::GenerationState::emitIndirectJumpTable):
-        Changes to link indirect jumps with DataLabelPtr's.
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::clearSubDataLabelPtr):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::linkDataLabelToBacktrackIfExists): 
-        Updated to handle immediate linking of indirect jumps to
-        DataLabelPtr.
-        (JSC::Yarr::YarrGenerator::generateParenthesesDisjunction): Changed to
-        reflect updated linkDataLabelToBacktrackIfExists().
-
-2011-01-14  Pavel Podivilov  <podivilov@chromium.org>
-
-        Reviewed by Yury Semikhatsky.
-
-        Web Inspector: provide script column offset to frontend.
-        https://bugs.webkit.org/show_bug.cgi?id=52377
-
-        * parser/SourceCode.h:
-        (JSC::SourceCode::SourceCode):
-        (JSC::SourceCode::firstColumn):
-
-2011-01-13  Darin Adler  <darin@apple.com>
-
-        Reviewed by Geoff Garen.
-
-        <rdar://problem/5469576> Use __PTK_FRAMEWORK_JAVASCRIPTCORE_KEY0 if available.
-
-        * DerivedSources.make: Create a header file, HeaderDetection.h, that tells
-        us whether pthread_machdep.h is available.
-        * wtf/FastMalloc.cpp: If __PTK_FRAMEWORK_JAVASCRIPTCORE_KEY0 is available, then
-        don't do the pthread_getspecific_function_pointer trick.
-        (WTF::setThreadHeap): Ditto, but set thread-specific data.
-        (WTF::TCMalloc_ThreadCache::GetThreadHeap): Ditto, but get rather than set.
-
-2011-01-13  Xan Lopez  <xlopez@igalia.com>
-
-        Reviewed by Gavin Barraclough.
-
-        JIT requires VM overcommit (particularly on x86-64), Linux does not by default support this without swap?
-        https://bugs.webkit.org/show_bug.cgi?id=42756
-
-        The FixedVMPool Allocator does not work well on systems where
-        allocating very large amounts of memory upfront is not reasonable,
-        like Linux without overcommit enabled. As a workaround, on Linux,
-        default to the values used in embedded environments (in the MB
-        range), and only jump to the GB range if we detect at runtime that
-        overcommit is enabled. Should fix crashes on Linux/x86_64 with
-        less than 3 or 4GB of RAM.
-
-        * jit/ExecutableAllocatorFixedVMPool.cpp:
-        (JSC::FixedVMPoolAllocator::free): use new variables for VM pool
-        size and coalesce limit.
-        (JSC::ExecutableAllocator::isValid): swap the variables from
-        embedded to generic values at runtime, on linux, if overcommit is
-        enabled.
-        (JSC::ExecutableAllocator::underMemoryPressure): use new variables
-        for VM pool size and coalesce limit.
-
-2011-01-12  Xan Lopez  <xlopez@igalia.com>
-
-        Reviewed by Martin Robinson.
-
-        Add new Yarr.h header to the list file.
-
-        * GNUmakefile.am: ditto.
-
-2011-01-12  Martin Robinson  <mrobinson@igalia.com>
-
-        Missing Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h in WebKitGtk tarball
-        https://bugs.webkit.org/show_bug.cgi?id=52299
-
-        * GNUmakefile.am: Fix the GTK+ build on ARMv7 by including missing source
-        files in the source list.
-
-2011-01-12  Peter Varga  <pvarga@webkit.org>
-
-        Reviewed by Gavin Barraclough.
-
-        Add Yarr.h to YARR
-        https://bugs.webkit.org/show_bug.cgi?id=51021
-
-        Move other common constants and functions from YARR's different files
-        to Yarr.h.
-        Use Yarr.h header instead of including other YARR headers where it
-        is possible.
-
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * runtime/RegExp.cpp:
-        * yarr/Yarr.h: Added.
-        * yarr/YarrInterpreter.cpp:
-        * yarr/YarrInterpreter.h:
-        * yarr/YarrJIT.cpp:
-        (JSC::Yarr::jitCompile):
-        (JSC::Yarr::execute):
-        * yarr/YarrJIT.h:
-        * yarr/YarrParser.h:
-        * yarr/YarrPattern.cpp:
-        (JSC::Yarr::YarrPattern::compile):
-        (JSC::Yarr::YarrPattern::YarrPattern):
-        * yarr/YarrPattern.h:
-
-2011-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>
-
-        Unreviewed, rolling out r75595.
-        http://trac.webkit.org/changeset/75595
-        https://bugs.webkit.org/show_bug.cgi?id=52286
-
-        It broke fast/regex/pcre-test-1.html (Requested by Ossy on
-        #webkit).
-
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * runtime/RegExp.cpp:
-        * yarr/Yarr.h: Removed.
-        * yarr/YarrInterpreter.cpp:
-        * yarr/YarrInterpreter.h:
-        * yarr/YarrJIT.cpp:
-        (JSC::Yarr::jitCompile):
-        * yarr/YarrJIT.h:
-        (JSC::Yarr::execute):
-        * yarr/YarrParser.h:
-        * yarr/YarrPattern.cpp:
-        (JSC::Yarr::compile):
-        (JSC::Yarr::YarrPattern::YarrPattern):
-        * yarr/YarrPattern.h:
-
-2011-01-12  Peter Varga  <pvarga@webkit.org>
-
-        Reviewed by Gavin Barraclough.
-
-        Add Yarr.h to YARR
-        https://bugs.webkit.org/show_bug.cgi?id=51021
-
-        Move other common constants and functions from YARR's different files
-        to Yarr.h.
-        Use Yarr.h header instead of including other YARR headers where it
-        is possible.
-
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * runtime/RegExp.cpp:
-        * yarr/Yarr.h: Added.
-        * yarr/YarrInterpreter.cpp:
-        * yarr/YarrInterpreter.h:
-        * yarr/YarrJIT.cpp:
-        (JSC::Yarr::jitCompile):
-        (JSC::Yarr::execute):
-        * yarr/YarrJIT.h:
-        * yarr/YarrParser.h:
-        * yarr/YarrPattern.cpp:
-        (JSC::Yarr::YarrPattern::compile):
-        (JSC::Yarr::YarrPattern::YarrPattern):
-        * yarr/YarrPattern.h:
-
-2011-01-11  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        Missing call to popTempSortVector() for exception case in JSArray::sort.
-        https://bugs.webkit.org/show_bug.cgi?id=50718
-
-        Fix to patch of 50718 that added pushTempSortVector() and 
-        popTempSortVector() to JSArray::sort() to mark elements during sort.
-        Need to add popTempSortVector() for the return case if toString()
-        had an exception.
-
-        * runtime/JSArray.cpp:
-        (JSC::JSArray::sort): Added popTempSortVector()
-
-2011-01-11  Xan Lopez  <xlopez@igalia.com>
-
-        Reviewed by Darin Adler.
-
-        Microoptimization in ~JSString
-        https://bugs.webkit.org/show_bug.cgi?id=52222
-
-        The case where m_fibers is 0 seems to be the most common one
-        (almost 1/2 of the time, followed at some distance by m_fibers = 1
-        in 1/4 of the cases in a typical SunSpider execution). We can save
-        one comparison in this common case by doing a bit of refactoring
-        in the JSString destructor; overall a 0.3% progression, but only
-        the string tests show improvement.
-
-        * runtime/JSString.h:
-        (JSC::RopeBuilder::~JSString):
-
-2011-01-10  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        ASSERTION Failure in JSC::binaryChop
-        https://bugs.webkit.org/show_bug.cgi?id=25614
-
-        Changed JITStubs::cti_register_file_check() to use the current stack's
-        return PC to find the bytecode for handling the exception in the prior
-        frame.  Also added the appropriate arrity check routine call to the
-        JIT to bytecode vector (m_callReturnIndexVector) in the CodeBlock.
-
-        * jit/JIT.cpp:
-        (JSC::JIT::privateCompile): Changed the arrity check call location
-        so that it gets added to the m_calls list so that it's included in
-        CodeBlock::m_callReturnIndexVector.
-        * jit/JITStubs.cpp:
-        (JSC::DEFINE_STUB_FUNCTION): Use the current call frame's return PC.
-
-2011-01-10  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Martin Robinson.
-
-        Remove extraneous COMPILER(GCC) condition when checking GCC_VERSION_AT_LEAST()
-        https://bugs.webkit.org/show_bug.cgi?id=52178
-
-        It is sufficient to test GCC_VERSION_AT_LEAST() instead of both COMPILER(GCC) and
-        GCC_VERSION_AT_LEAST(). Notice GCC_VERSION_AT_LEAST() is defined to be 0 when we
-        are not compiling with GCC.
-
-        Fixes style issues at the callsites (i.e. replace comma with comma-space in
-        macro function argument list). Also, makes a spelling correction in a comment.
-
-        * jit/ExecutableAllocator.h:
-        (JSC::ExecutableAllocator::cacheFlush):
-        * wtf/Platform.h:
-
-2011-01-10  Geoffrey Garen  <ggaren@apple.com>
-
-        Build fix: removed some uses of nextNumber that I missed last time.
-
-        * runtime/Heap.cpp:
-        (JSC::Heap::reset):
-        (JSC::Heap::collectAllGarbage):
-
-2011-01-10  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Darin Adler.
-
-        Use __builtin_expect when compiling using RVCT in GNU mode
-        https://bugs.webkit.org/show_bug.cgi?id=51866
-
-        We should only use __builtin_expect if we are compiling with GCC or RVCT 3 or higher in GNU mode
-        as pointed out by Siddharth Mathur per <http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0202h/Cjabddedbde.html>.
-
-        * wtf/AlwaysInline.h:
-        * wtf/Platform.h: Removed define WTF_COMPILER_RVCT4_OR_GREATER. Instead added macro
-        function RVCT_VERSION_AT_LEAST so that we can test for an arbitrary minimum RVCT
-        version.
-
-2011-01-10  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Moved Collector.* => Heap.*, since the file contains a class named "Heap".
-
-        * API/JSCallbackObject.cpp:
-        * Android.mk:
-        * CMakeLists.txt:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * interpreter/Interpreter.cpp:
-        * interpreter/RegisterFile.h:
-        * jit/JITStubs.cpp:
-        * runtime/Collector.cpp: Removed.
-        * runtime/Collector.h: Removed.
-        * runtime/CollectorHeapIterator.h:
-        * runtime/GCActivityCallbackCF.cpp:
-        * runtime/Heap.cpp: Copied from JavaScriptCore/runtime/Collector.cpp.
-        * runtime/Heap.h: Copied from JavaScriptCore/runtime/Collector.h.
-        * runtime/InitializeThreading.cpp:
-        * runtime/JSCell.h:
-        * runtime/JSGlobalData.cpp:
-        * runtime/JSGlobalData.h:
-        * runtime/JSLock.cpp:
-        * runtime/JSNumberCell.h:
-        * runtime/MachineStackMarker.cpp:
-        * runtime/MemoryStatistics.h:
-        * runtime/Protect.h:
-        * runtime/UString.cpp:
-        * runtime/WeakGCMap.h:
-        * runtime/WeakGCPtr.h:
-
-2011-01-10  Xan Lopez  <xlopez@igalia.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Remove unused isString() case in JSString::toPrimitiveString()
-        https://bugs.webkit.org/show_bug.cgi?id=52167
-
-        We never call toPrimitiveString() with strings, so remove the
-        check and add an ASSERT ensuring this never happens. 0.7% overall
-        progression in sunspider, since one of the call sites is very hot.
-
-        * runtime/JSString.h:
-        (JSC::JSValue::toPrimitiveString):
-
-2011-01-10  Peter Varga  <pvarga@inf.u-szeged.hu>
-
-        Reviewed by Gavin Barraclough.
-
-        Rename the existing YARR files and classes
-        https://bugs.webkit.org/show_bug.cgi?id=51872
-
-        Replace the "Regex" prefix with "Yarr" in the name of YARR files and classes.
-
-        * Android.mk:
-        * CMakeLists.txt:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * runtime/RegExp.cpp:
-        (JSC::RegExp::compile):
-        (JSC::RegExp::match):
-        (JSC::RegExp::printTraceData):
-        * yarr/YarrInterpreter.cpp: Renamed from Source/JavaScriptCore/yarr/RegexInterpreter.cpp.
-        (JSC::Yarr::Interpreter::appendParenthesesDisjunctionContext):
-        (JSC::Yarr::Interpreter::popParenthesesDisjunctionContext):
-        (JSC::Yarr::Interpreter::DisjunctionContext::DisjunctionContext):
-        (JSC::Yarr::Interpreter::DisjunctionContext::operator new):
-        (JSC::Yarr::Interpreter::allocDisjunctionContext):
-        (JSC::Yarr::Interpreter::freeDisjunctionContext):
-        (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::ParenthesesDisjunctionContext):
-        (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::operator new):
-        (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::restoreOutput):
-        (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::getDisjunctionContext):
-        (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext):
-        (JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext):
-        (JSC::Yarr::Interpreter::InputStream::InputStream):
-        (JSC::Yarr::Interpreter::InputStream::next):
-        (JSC::Yarr::Interpreter::InputStream::rewind):
-        (JSC::Yarr::Interpreter::InputStream::read):
-        (JSC::Yarr::Interpreter::InputStream::readPair):
-        (JSC::Yarr::Interpreter::InputStream::readChecked):
-        (JSC::Yarr::Interpreter::InputStream::reread):
-        (JSC::Yarr::Interpreter::InputStream::prev):
-        (JSC::Yarr::Interpreter::InputStream::getPos):
-        (JSC::Yarr::Interpreter::InputStream::setPos):
-        (JSC::Yarr::Interpreter::InputStream::atStart):
-        (JSC::Yarr::Interpreter::InputStream::atEnd):
-        (JSC::Yarr::Interpreter::InputStream::checkInput):
-        (JSC::Yarr::Interpreter::InputStream::uncheckInput):
-        (JSC::Yarr::Interpreter::InputStream::isNotAvailableInput):
-        (JSC::Yarr::Interpreter::testCharacterClass):
-        (JSC::Yarr::Interpreter::checkCharacter):
-        (JSC::Yarr::Interpreter::checkCasedCharacter):
-        (JSC::Yarr::Interpreter::checkCharacterClass):
-        (JSC::Yarr::Interpreter::tryConsumeBackReference):
-        (JSC::Yarr::Interpreter::matchAssertionBOL):
-        (JSC::Yarr::Interpreter::matchAssertionEOL):
-        (JSC::Yarr::Interpreter::matchAssertionWordBoundary):
-        (JSC::Yarr::Interpreter::backtrackPatternCharacter):
-        (JSC::Yarr::Interpreter::backtrackPatternCasedCharacter):
-        (JSC::Yarr::Interpreter::matchCharacterClass):
-        (JSC::Yarr::Interpreter::backtrackCharacterClass):
-        (JSC::Yarr::Interpreter::matchBackReference):
-        (JSC::Yarr::Interpreter::backtrackBackReference):
-        (JSC::Yarr::Interpreter::recordParenthesesMatch):
-        (JSC::Yarr::Interpreter::resetMatches):
-        (JSC::Yarr::Interpreter::parenthesesDoBacktrack):
-        (JSC::Yarr::Interpreter::matchParenthesesOnceBegin):
-        (JSC::Yarr::Interpreter::matchParenthesesOnceEnd):
-        (JSC::Yarr::Interpreter::backtrackParenthesesOnceBegin):
-        (JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
-        (JSC::Yarr::Interpreter::matchParenthesesTerminalBegin):
-        (JSC::Yarr::Interpreter::matchParenthesesTerminalEnd):
-        (JSC::Yarr::Interpreter::backtrackParenthesesTerminalBegin):
-        (JSC::Yarr::Interpreter::backtrackParenthesesTerminalEnd):
-        (JSC::Yarr::Interpreter::matchParentheticalAssertionBegin):
-        (JSC::Yarr::Interpreter::matchParentheticalAssertionEnd):
-        (JSC::Yarr::Interpreter::backtrackParentheticalAssertionBegin):
-        (JSC::Yarr::Interpreter::backtrackParentheticalAssertionEnd):
-        (JSC::Yarr::Interpreter::matchParentheses):
-        (JSC::Yarr::Interpreter::backtrackParentheses):
-        (JSC::Yarr::Interpreter::lookupForBeginChars):
-        (JSC::Yarr::Interpreter::matchDisjunction):
-        (JSC::Yarr::Interpreter::matchNonZeroDisjunction):
-        (JSC::Yarr::Interpreter::interpret):
-        (JSC::Yarr::Interpreter::Interpreter):
-        (JSC::Yarr::ByteCompiler::ParenthesesStackEntry::ParenthesesStackEntry):
-        (JSC::Yarr::ByteCompiler::ByteCompiler):
-        (JSC::Yarr::ByteCompiler::compile):
-        (JSC::Yarr::ByteCompiler::checkInput):
-        (JSC::Yarr::ByteCompiler::assertionBOL):
-        (JSC::Yarr::ByteCompiler::assertionEOL):
-        (JSC::Yarr::ByteCompiler::assertionWordBoundary):
-        (JSC::Yarr::ByteCompiler::atomPatternCharacter):
-        (JSC::Yarr::ByteCompiler::atomCharacterClass):
-        (JSC::Yarr::ByteCompiler::atomBackReference):
-        (JSC::Yarr::ByteCompiler::atomParenthesesOnceBegin):
-        (JSC::Yarr::ByteCompiler::atomParenthesesTerminalBegin):
-        (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin):
-        (JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin):
-        (JSC::Yarr::ByteCompiler::atomParentheticalAssertionEnd):
-        (JSC::Yarr::ByteCompiler::popParenthesesStack):
-        (JSC::Yarr::ByteCompiler::dumpDisjunction):
-        (JSC::Yarr::ByteCompiler::closeAlternative):
-        (JSC::Yarr::ByteCompiler::closeBodyAlternative):
-        (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd):
-        (JSC::Yarr::ByteCompiler::atomParenthesesOnceEnd):
-        (JSC::Yarr::ByteCompiler::atomParenthesesTerminalEnd):
-        (JSC::Yarr::ByteCompiler::regexBegin):
-        (JSC::Yarr::ByteCompiler::regexEnd):
-        (JSC::Yarr::ByteCompiler::alternativeBodyDisjunction):
-        (JSC::Yarr::ByteCompiler::alternativeDisjunction):
-        (JSC::Yarr::ByteCompiler::emitDisjunction):
-        (JSC::Yarr::byteCompile):
-        (JSC::Yarr::interpret):
-        * yarr/YarrInterpreter.h: Renamed from Source/JavaScriptCore/yarr/RegexInterpreter.h.
-        (JSC::Yarr::ByteTerm::ByteTerm):
-        (JSC::Yarr::ByteTerm::BOL):
-        (JSC::Yarr::ByteTerm::CheckInput):
-        (JSC::Yarr::ByteTerm::EOL):
-        (JSC::Yarr::ByteTerm::WordBoundary):
-        (JSC::Yarr::ByteTerm::BackReference):
-        (JSC::Yarr::ByteTerm::BodyAlternativeBegin):
-        (JSC::Yarr::ByteTerm::BodyAlternativeDisjunction):
-        (JSC::Yarr::ByteTerm::BodyAlternativeEnd):
-        (JSC::Yarr::ByteTerm::AlternativeBegin):
-        (JSC::Yarr::ByteTerm::AlternativeDisjunction):
-        (JSC::Yarr::ByteTerm::AlternativeEnd):
-        (JSC::Yarr::ByteTerm::SubpatternBegin):
-        (JSC::Yarr::ByteTerm::SubpatternEnd):
-        (JSC::Yarr::ByteTerm::invert):
-        (JSC::Yarr::ByteTerm::capture):
-        (JSC::Yarr::ByteDisjunction::ByteDisjunction):
-        (JSC::Yarr::BytecodePattern::BytecodePattern):
-        (JSC::Yarr::BytecodePattern::~BytecodePattern):
-        * yarr/YarrJIT.cpp: Renamed from Source/JavaScriptCore/yarr/RegexJIT.cpp.
-        (JSC::Yarr::YarrGenerator::optimizeAlternative):
-        (JSC::Yarr::YarrGenerator::matchCharacterClassRange):
-        (JSC::Yarr::YarrGenerator::matchCharacterClass):
-        (JSC::Yarr::YarrGenerator::jumpIfNoAvailableInput):
-        (JSC::Yarr::YarrGenerator::jumpIfAvailableInput):
-        (JSC::Yarr::YarrGenerator::checkInput):
-        (JSC::Yarr::YarrGenerator::atEndOfInput):
-        (JSC::Yarr::YarrGenerator::notAtEndOfInput):
-        (JSC::Yarr::YarrGenerator::jumpIfCharEquals):
-        (JSC::Yarr::YarrGenerator::jumpIfCharNotEquals):
-        (JSC::Yarr::YarrGenerator::readCharacter):
-        (JSC::Yarr::YarrGenerator::storeToFrame):
-        (JSC::Yarr::YarrGenerator::storeToFrameWithPatch):
-        (JSC::Yarr::YarrGenerator::loadFromFrame):
-        (JSC::Yarr::YarrGenerator::loadFromFrameAndJump):
-        (JSC::Yarr::YarrGenerator::IndirectJumpEntry::IndirectJumpEntry):
-        (JSC::Yarr::YarrGenerator::IndirectJumpEntry::addJump):
-        (JSC::Yarr::YarrGenerator::AlternativeBacktrackRecord::AlternativeBacktrackRecord):
-        (JSC::Yarr::YarrGenerator::GenerationState::GenerationState):
-        (JSC::Yarr::YarrGenerator::GenerationState::addIndirectJumpEntry):
-        (JSC::Yarr::YarrGenerator::GenerationState::emitIndirectJumpTable):
-        (JSC::Yarr::YarrGenerator::GenerationState::incrementParenNestingLevel):
-        (JSC::Yarr::YarrGenerator::GenerationState::decrementParenNestingLevel):
-        (JSC::Yarr::YarrGenerator::GenerationState::addParenthesesTail):
-        (JSC::Yarr::YarrGenerator::GenerationState::emitParenthesesTail):
-        (JSC::Yarr::YarrGenerator::GenerationState::addJumpToNextInteration):
-        (JSC::Yarr::YarrGenerator::GenerationState::addJumpsToNextInteration):
-        (JSC::Yarr::YarrGenerator::GenerationState::addDataLabelToNextIteration):
-        (JSC::Yarr::YarrGenerator::GenerationState::linkToNextIteration):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::BacktrackDestination):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::clear):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::clearDataLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::hasDestination):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::isStackOffset):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::isLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::isJumpList):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::hasDataLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::copyTarget):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::copyTo):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::addBacktrackJump):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::setStackOffset):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::setLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::setNextBacktrackLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::copyBacktrackToLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::setBacktrackToLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::setBacktrackJumpList):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::setBacktrackSourceLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::setDataLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::setSubDataLabelPtr):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::linkToNextBacktrack):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::getStackOffset):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::getLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::getBacktrackJumps):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::getDataLabel):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::jumpToBacktrack):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::linkDataLabelToHereIfExists):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::plantJumpToBacktrackIfExists):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::linkAlternativeBacktracks):
-        (JSC::Yarr::YarrGenerator::BacktrackDestination::linkAlternativeBacktracksTo):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::TermGenerationState):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::resetAlternative):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::alternativeValid):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::nextAlternative):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::alternative):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::isLastAlternative):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::resetTerm):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::termValid):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::nextTerm):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::term):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::isLastTerm):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::getSubParenNum):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::isMainDisjunction):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::setParenthesesTail):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::getParenthesesTail):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::lookaheadTerm):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::isSinglePatternCharacterLookaheadTerm):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::inputOffset):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::clearBacktrack):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::jumpToBacktrack):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::plantJumpToBacktrackIfExists):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::linkDataLabelToBacktrackIfExists):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::addBacktrackJump):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::setBacktrackDataLabel):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::setBackTrackStackOffset):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::setBacktrackLabel):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::linkAlternativeBacktracks):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::linkAlternativeBacktracksTo):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::setBacktrackLink):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::chainBacktracks):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::chainBacktrackJumps):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::getBacktrackDestination):
-        (JSC::Yarr::YarrGenerator::TermGenerationState::propagateBacktrackingFrom):
-        (JSC::Yarr::YarrGenerator::ParenthesesTail::ParenthesesTail):
-        (JSC::Yarr::YarrGenerator::ParenthesesTail::processBacktracks):
-        (JSC::Yarr::YarrGenerator::ParenthesesTail::setNextIteration):
-        (JSC::Yarr::YarrGenerator::ParenthesesTail::addAfterParenJump):
-        (JSC::Yarr::YarrGenerator::ParenthesesTail::generateCode):
-        (JSC::Yarr::YarrGenerator::generateAssertionBOL):
-        (JSC::Yarr::YarrGenerator::generateAssertionEOL):
-        (JSC::Yarr::YarrGenerator::matchAssertionWordchar):
-        (JSC::Yarr::YarrGenerator::generateAssertionWordBoundary):
-        (JSC::Yarr::YarrGenerator::generatePatternCharacterSingle):
-        (JSC::Yarr::YarrGenerator::generatePatternCharacterPair):
-        (JSC::Yarr::YarrGenerator::generatePatternCharacterFixed):
-        (JSC::Yarr::YarrGenerator::generatePatternCharacterGreedy):
-        (JSC::Yarr::YarrGenerator::generatePatternCharacterNonGreedy):
-        (JSC::Yarr::YarrGenerator::generateCharacterClassSingle):
-        (JSC::Yarr::YarrGenerator::generateCharacterClassFixed):
-        (JSC::Yarr::YarrGenerator::generateCharacterClassGreedy):
-        (JSC::Yarr::YarrGenerator::generateCharacterClassNonGreedy):
-        (JSC::Yarr::YarrGenerator::generateParenthesesDisjunction):
-        (JSC::Yarr::YarrGenerator::generateParenthesesSingle):
-        (JSC::Yarr::YarrGenerator::generateParenthesesGreedyNoBacktrack):
-        (JSC::Yarr::YarrGenerator::generateParentheticalAssertion):
-        (JSC::Yarr::YarrGenerator::generateTerm):
-        (JSC::Yarr::YarrGenerator::generateDisjunction):
-        (JSC::Yarr::YarrGenerator::generateEnter):
-        (JSC::Yarr::YarrGenerator::generateReturn):
-        (JSC::Yarr::YarrGenerator::YarrGenerator):
-        (JSC::Yarr::YarrGenerator::generate):
-        (JSC::Yarr::YarrGenerator::compile):
-        (JSC::Yarr::jitCompile):
-        * yarr/YarrJIT.h: Renamed from Source/JavaScriptCore/yarr/RegexJIT.h.
-        (JSC::Yarr::YarrCodeBlock::YarrCodeBlock):
-        (JSC::Yarr::YarrCodeBlock::~YarrCodeBlock):
-        (JSC::Yarr::YarrCodeBlock::setFallBack):
-        (JSC::Yarr::YarrCodeBlock::isFallBack):
-        (JSC::Yarr::YarrCodeBlock::set):
-        (JSC::Yarr::YarrCodeBlock::execute):
-        (JSC::Yarr::YarrCodeBlock::getAddr):
-        (JSC::Yarr::execute):
-        * yarr/YarrParser.h: Renamed from Source/JavaScriptCore/yarr/RegexParser.h.
-        (JSC::Yarr::Parser::CharacterClassParserDelegate::CharacterClassParserDelegate):
-        (JSC::Yarr::Parser::CharacterClassParserDelegate::begin):
-        (JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacter):
-        (JSC::Yarr::Parser::CharacterClassParserDelegate::atomBuiltInCharacterClass):
-        (JSC::Yarr::Parser::CharacterClassParserDelegate::end):
-        (JSC::Yarr::Parser::CharacterClassParserDelegate::assertionWordBoundary):
-        (JSC::Yarr::Parser::CharacterClassParserDelegate::atomBackReference):
-        (JSC::Yarr::Parser::Parser):
-        (JSC::Yarr::Parser::parseEscape):
-        (JSC::Yarr::Parser::parseAtomEscape):
-        (JSC::Yarr::Parser::parseCharacterClassEscape):
-        (JSC::Yarr::Parser::parseCharacterClass):
-        (JSC::Yarr::Parser::parseParenthesesBegin):
-        (JSC::Yarr::Parser::parseParenthesesEnd):
-        (JSC::Yarr::Parser::parseQuantifier):
-        (JSC::Yarr::Parser::parseTokens):
-        (JSC::Yarr::Parser::parse):
-        (JSC::Yarr::Parser::saveState):
-        (JSC::Yarr::Parser::restoreState):
-        (JSC::Yarr::Parser::atEndOfPattern):
-        (JSC::Yarr::Parser::peek):
-        (JSC::Yarr::Parser::peekIsDigit):
-        (JSC::Yarr::Parser::peekDigit):
-        (JSC::Yarr::Parser::consume):
-        (JSC::Yarr::Parser::consumeDigit):
-        (JSC::Yarr::Parser::consumeNumber):
-        (JSC::Yarr::Parser::consumeOctal):
-        (JSC::Yarr::Parser::tryConsume):
-        (JSC::Yarr::Parser::tryConsumeHex):
-        (JSC::Yarr::parse):
-        * yarr/YarrPattern.cpp: Renamed from Source/JavaScriptCore/yarr/RegexPattern.cpp.
-        (JSC::Yarr::CharacterClassConstructor::CharacterClassConstructor):
-        (JSC::Yarr::CharacterClassConstructor::reset):
-        (JSC::Yarr::CharacterClassConstructor::append):
-        (JSC::Yarr::CharacterClassConstructor::putChar):
-        (JSC::Yarr::CharacterClassConstructor::isUnicodeUpper):
-        (JSC::Yarr::CharacterClassConstructor::isUnicodeLower):
-        (JSC::Yarr::CharacterClassConstructor::putRange):
-        (JSC::Yarr::CharacterClassConstructor::charClass):
-        (JSC::Yarr::CharacterClassConstructor::addSorted):
-        (JSC::Yarr::CharacterClassConstructor::addSortedRange):
-        (JSC::Yarr::BeginCharHelper::BeginCharHelper):
-        (JSC::Yarr::BeginCharHelper::addBeginChar):
-        (JSC::Yarr::BeginCharHelper::merge):
-        (JSC::Yarr::BeginCharHelper::addCharacter):
-        (JSC::Yarr::BeginCharHelper::linkHotTerms):
-        (JSC::Yarr::YarrPatternConstructor::YarrPatternConstructor):
-        (JSC::Yarr::YarrPatternConstructor::~YarrPatternConstructor):
-        (JSC::Yarr::YarrPatternConstructor::reset):
-        (JSC::Yarr::YarrPatternConstructor::assertionBOL):
-        (JSC::Yarr::YarrPatternConstructor::assertionEOL):
-        (JSC::Yarr::YarrPatternConstructor::assertionWordBoundary):
-        (JSC::Yarr::YarrPatternConstructor::atomPatternCharacter):
-        (JSC::Yarr::YarrPatternConstructor::atomBuiltInCharacterClass):
-        (JSC::Yarr::YarrPatternConstructor::atomCharacterClassBegin):
-        (JSC::Yarr::YarrPatternConstructor::atomCharacterClassAtom):
-        (JSC::Yarr::YarrPatternConstructor::atomCharacterClassRange):
-        (JSC::Yarr::YarrPatternConstructor::atomCharacterClassBuiltIn):
-        (JSC::Yarr::YarrPatternConstructor::atomCharacterClassEnd):
-        (JSC::Yarr::YarrPatternConstructor::atomParenthesesSubpatternBegin):
-        (JSC::Yarr::YarrPatternConstructor::atomParentheticalAssertionBegin):
-        (JSC::Yarr::YarrPatternConstructor::atomParenthesesEnd):
-        (JSC::Yarr::YarrPatternConstructor::atomBackReference):
-        (JSC::Yarr::YarrPatternConstructor::copyDisjunction):
-        (JSC::Yarr::YarrPatternConstructor::copyTerm):
-        (JSC::Yarr::YarrPatternConstructor::quantifyAtom):
-        (JSC::Yarr::YarrPatternConstructor::disjunction):
-        (JSC::Yarr::YarrPatternConstructor::regexBegin):
-        (JSC::Yarr::YarrPatternConstructor::regexEnd):
-        (JSC::Yarr::YarrPatternConstructor::regexError):
-        (JSC::Yarr::YarrPatternConstructor::setupAlternativeOffsets):
-        (JSC::Yarr::YarrPatternConstructor::setupDisjunctionOffsets):
-        (JSC::Yarr::YarrPatternConstructor::setupOffsets):
-        (JSC::Yarr::YarrPatternConstructor::checkForTerminalParentheses):
-        (JSC::Yarr::YarrPatternConstructor::optimizeBOL):
-        (JSC::Yarr::YarrPatternConstructor::addBeginTerm):
-        (JSC::Yarr::YarrPatternConstructor::setupDisjunctionBeginTerms):
-        (JSC::Yarr::YarrPatternConstructor::setupAlternativeBeginTerms):
-        (JSC::Yarr::YarrPatternConstructor::setupBeginChars):
-        (JSC::Yarr::compile):
-        (JSC::Yarr::YarrPattern::YarrPattern):
-        * yarr/YarrPattern.h: Renamed from Source/JavaScriptCore/yarr/RegexPattern.h.
-        (JSC::Yarr::CharacterRange::CharacterRange):
-        (JSC::Yarr::CharacterClassTable::create):
-        (JSC::Yarr::CharacterClassTable::CharacterClassTable):
-        (JSC::Yarr::CharacterClass::CharacterClass):
-        (JSC::Yarr::PatternTerm::PatternTerm):
-        (JSC::Yarr::PatternTerm::ForwardReference):
-        (JSC::Yarr::PatternTerm::BOL):
-        (JSC::Yarr::PatternTerm::EOL):
-        (JSC::Yarr::PatternTerm::WordBoundary):
-        (JSC::Yarr::PatternTerm::invert):
-        (JSC::Yarr::PatternTerm::capture):
-        (JSC::Yarr::PatternTerm::quantify):
-        (JSC::Yarr::PatternAlternative::PatternAlternative):
-        (JSC::Yarr::PatternAlternative::lastTerm):
-        (JSC::Yarr::PatternAlternative::removeLastTerm):
-        (JSC::Yarr::PatternAlternative::setOnceThrough):
-        (JSC::Yarr::PatternAlternative::onceThrough):
-        (JSC::Yarr::PatternDisjunction::PatternDisjunction):
-        (JSC::Yarr::PatternDisjunction::~PatternDisjunction):
-        (JSC::Yarr::PatternDisjunction::addNewAlternative):
-        (JSC::Yarr::TermChain::TermChain):
-        (JSC::Yarr::BeginChar::BeginChar):
-        (JSC::Yarr::YarrPattern::~YarrPattern):
-        (JSC::Yarr::YarrPattern::reset):
-        (JSC::Yarr::YarrPattern::containsIllegalBackReference):
-        (JSC::Yarr::YarrPattern::newlineCharacterClass):
-        (JSC::Yarr::YarrPattern::digitsCharacterClass):
-        (JSC::Yarr::YarrPattern::spacesCharacterClass):
-        (JSC::Yarr::YarrPattern::wordcharCharacterClass):
-        (JSC::Yarr::YarrPattern::nondigitsCharacterClass):
-        (JSC::Yarr::YarrPattern::nonspacesCharacterClass):
-        (JSC::Yarr::YarrPattern::nonwordcharCharacterClass):
-
-2011-01-10  Gavin Barraclough  <barraclough@apple.com>
-
-        Windows build fix.
-
-        * parser/SyntaxChecker.h:
-
-2011-01-10  Dave Tapuska  <dtapuska@rim.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Add CTI ASM versions for RVCT ARM THUMB2 mode.
-
-        https://bugs.webkit.org/show_bug.cgi?id=52154
-
-        * jit/JITStubs.cpp:
-        (JSC::ctiTrampoline):
-        (JSC::ctiVMThrowTrampoline):
-        (JSC::ctiOpThrowNotCaught):
-
-2011-01-10  Gavin Barraclough  <barraclough@apple.com>
-
-        Qt build fix.
-
-        * JavaScriptCore.pro:
-
-2011-01-10  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Bug 52079 - Syntax errors should be early errors.
-
-        From chapter 16 the spec:
-            An implementation must report most errors at the time the relevant ECMAScript language construct is
-            evaluated. An early error is an error that can be detected and reported prior to the evaluation of
-            any construct in the Program containing the error. An implementation must report early errors in a
-            Program prior to the first evaluation of that Program. Early errors in eval code are reported at
-            the time eval is called but prior to evaluation of any construct within the eval code. All errors
-            that are not early errors are runtime errors.
-
-            An implementation must treat any instance of the following kinds of errors as an early error:
-                * Any syntax error."
-
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-            Added new files.
-        * bytecode/CodeBlock.cpp:
-            Removed op_throw_syntax_error.
-        * bytecode/Opcode.h:
-            Removed op_throw_syntax_error.
-        * bytecompiler/BytecodeGenerator.cpp:
-        (JSC::BytecodeGenerator::generate):
-            If m_expressionTooDeep then throw a runtime error.
-        (JSC::BytecodeGenerator::BytecodeGenerator):
-            Initialize m_expressionTooDeep.
-        (JSC::BytecodeGenerator::emitThrowExpressionTooDeepException):
-            Sets m_expressionTooDeep.
-        * bytecompiler/BytecodeGenerator.h:
-            Added m_expressionTooDeep, removed emitThrowSyntaxError.
-        * bytecompiler/NodesCodegen.cpp:
-        (JSC::RegExpNode::emitBytecode):
-        (JSC::ContinueNode::emitBytecode):
-        (JSC::BreakNode::emitBytecode):
-        (JSC::ReturnNode::emitBytecode):
-        (JSC::LabelNode::emitBytecode):
-            Conditions that threw syntax error are now handled during parsing;
-            during bytecompilation these are now just ASSERTs.
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::privateExecute):
-        * jit/JIT.cpp:
-        (JSC::JIT::privateCompileMainPass):
-        * jit/JIT.h:
-        * jit/JITOpcodes.cpp:
-        * jit/JITOpcodes32_64.cpp:
-        * jit/JITStubs.cpp:
-        * jit/JITStubs.h:
-            Removed op_throw_syntax_error.
-        * parser/ASTBuilder.h:
-        (JSC::ASTBuilder::createRegExp):
-            Renamed; added syntax check.
-        * parser/JSParser.cpp:
-        (JSC::JSParser::breakIsValid):
-        (JSC::JSParser::hasLabel):
-        (JSC::JSParser::Scope::Scope):
-        (JSC::JSParser::Scope::setIsFunction):
-        (JSC::JSParser::Scope::isFunctionBoundary):
-        (JSC::JSParser::ScopeRef::hasContainingScope):
-        (JSC::JSParser::ScopeRef::containingScope):
-        (JSC::JSParser::AutoPopScopeRef::AutoPopScopeRef):
-        (JSC::JSParser::AutoPopScopeRef::~AutoPopScopeRef):
-        (JSC::JSParser::AutoPopScopeRef::setPopped):
-        (JSC::JSParser::popScopeInternal):
-        (JSC::JSParser::popScope):
-        (JSC::jsParse):
-        (JSC::JSParser::JSParser):
-        (JSC::JSParser::parseProgram):
-        (JSC::JSParser::parseBreakStatement):
-        (JSC::JSParser::parseContinueStatement):
-        (JSC::JSParser::parseReturnStatement):
-        (JSC::JSParser::parseTryStatement):
-        (JSC::JSParser::parseFunctionInfo):
-        (JSC::JSParser::parseExpressionOrLabelStatement):
-        (JSC::JSParser::parsePrimaryExpression):
-        * parser/JSParser.h:
-        * parser/Nodes.h:
-        * parser/Parser.cpp:
-        (JSC::Parser::parse):
-        * parser/SyntaxChecker.h:
-        (JSC::SyntaxChecker::createRegExp):
-            Renamed; added syntax check.
-        * runtime/ExceptionHelpers.cpp:
-        (JSC::createOutOfMemoryError):
-        (JSC::throwOutOfMemoryError):
-        * runtime/ExceptionHelpers.h:
-            Broke out createOutOfMemoryError.
-        * runtime/Executable.cpp:
-        (JSC::EvalExecutable::compileInternal):
-        (JSC::ProgramExecutable::compileInternal):
-        (JSC::FunctionExecutable::compileForCallInternal):
-        (JSC::FunctionExecutable::compileForConstructInternal):
-            Add check for exception after bytecode generation.
-        * runtime/RegExpConstructor.cpp:
-        (JSC::constructRegExp):
-        * runtime/RegExpPrototype.cpp:
-        (JSC::regExpProtoFuncCompile):
-            RegExp error prefixes not included in error string.
-        * yarr/RegexParser.h:
-        (JSC::Yarr::Parser::parse):
-            Removed regexBegin/regexEnd/regexError.
-        * yarr/RegexPattern.cpp:
-        (JSC::Yarr::RegexPatternConstructor::regexBegin):
-            Removed regexEnd/regexError.
-        (JSC::Yarr::compileRegex):
-            Add call to regexBegin (no longer called from the parser).
-        * yarr/YarrSyntaxChecker.cpp: Added.
-        (JSC::Yarr::SyntaxChecker::assertionBOL):
-        (JSC::Yarr::SyntaxChecker::assertionEOL):
-        (JSC::Yarr::SyntaxChecker::assertionWordBoundary):
-        (JSC::Yarr::SyntaxChecker::atomPatternCharacter):
-        (JSC::Yarr::SyntaxChecker::atomBuiltInCharacterClass):
-        (JSC::Yarr::SyntaxChecker::atomCharacterClassBegin):
-        (JSC::Yarr::SyntaxChecker::atomCharacterClassAtom):
-        (JSC::Yarr::SyntaxChecker::atomCharacterClassRange):
-        (JSC::Yarr::SyntaxChecker::atomCharacterClassBuiltIn):
-        (JSC::Yarr::SyntaxChecker::atomCharacterClassEnd):
-        (JSC::Yarr::SyntaxChecker::atomParenthesesSubpatternBegin):
-        (JSC::Yarr::SyntaxChecker::atomParentheticalAssertionBegin):
-        (JSC::Yarr::SyntaxChecker::atomParenthesesEnd):
-        (JSC::Yarr::SyntaxChecker::atomBackReference):
-        (JSC::Yarr::SyntaxChecker::quantifyAtom):
-        (JSC::Yarr::SyntaxChecker::disjunction):
-        (JSC::Yarr::checkSyntax):
-        * yarr/YarrSyntaxChecker.h: Added.
-            Check RegExp syntax.
-
-2011-01-10  Adam Roben  <aroben@apple.com>
-
-        Roll out r75289
-
-        It was causing assertion failures. See <http://webkit.org/b/52156>.
-
-        * wtf/StackBounds.cpp:
-        (WTF::StackBounds::initialize):
-
-2011-01-08  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        Unify string table adding in AtomicString
-        https://bugs.webkit.org/show_bug.cgi?id=51927
-
-        Move code for adding a string into a separate function.
-        This removes multiple occurrence of the same logic.
-
-        * wtf/text/AtomicString.cpp:
-        (WTF::addToStringTable): Added.
-        (WTF::AtomicString::add): Use addToStringTable().
-        (WTF::AtomicString::fromUTF8): Ditto.
-
-2011-01-07  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Split machine stack marking functions into their own class (MachineStackMarker)
-        https://bugs.webkit.org/show_bug.cgi?id=52088
-
-        * API/APIShims.h:
-        (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): Moved registerThread()
-        call behind an #ifdef because we shouldn't be registering threads at all
-        if we don't support usage on multiple threads.
-
-        * Android.mk:
-        * CMakeLists.txt:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj: Updated projects.
-
-        * runtime/Collector.cpp:
-        (JSC::Heap::Heap):
-        (JSC::Heap::destroy):
-        (JSC::Heap::markRoots):
-        * runtime/Collector.h:
-        (JSC::Heap::machineStackMarker): Moved code to machineStackMarker.
-
-        * runtime/JSGlobalData.h:
-        (JSC::JSGlobalData::makeUsableFromMultipleThreads): Removed an unnecessary
-        level of indirection, to make Heap less of a God class.
-
-        * runtime/MachineStackMarker.h: Copied from Source/JavaScriptCore/runtime/Collector.h.
-        * runtime/MachineStackMarker.cpp: Copied from Source/JavaScriptCore/runtime/Collector.cpp.
-        (JSC::MachineStackMarker::MachineStackMarker):
-        (JSC::MachineStackMarker::~MachineStackMarker):
-        (JSC::MachineStackMarker::makeUsableFromMultipleThreads):
-        (JSC::MachineStackMarker::registerThread):
-        (JSC::MachineStackMarker::unregisterThread):
-        (JSC::MachineStackMarker::markCurrentThreadConservativelyInternal):
-        (JSC::MachineStackMarker::markCurrentThreadConservatively):
-        (JSC::MachineStackMarker::markOtherThreadConservatively):
-        (JSC::MachineStackMarker::markMachineStackConservatively): Moved code from Heap.
-
-2011-01-07  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Geoff Garen.
-
-        Bug 26276 - Need a mechanism to determine stack extent on WINDOWS, SOLARIS, OPENBSD, SYMBIAN, HAIKU, WINCE platforms
-
-        Fix for win32.  The base of the stack is stored in the "deallocation stack" field of the
-        Thread Information Block - see: http://en.wikipedia.org/wiki/Win32_Thread_Information_Block
-        for more information!
-
-        * wtf/StackBounds.cpp:
-        (WTF::StackBounds::initialize):
-
-2011-01-07  Adam Roben  <aroben@apple.com>
-
-        Update react-to-vsprops-changes.py after r74855
-
-        * JavaScriptCore.vcproj/JavaScriptCore/react-to-vsprops-changes.py:
-
-2011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        Reviewed by Martin Robinson.
-
-        [GTK] Port scrollbar painting to GtkStyleContext
-        https://bugs.webkit.org/show_bug.cgi?id=52051
-
-        * wtf/gobject/GTypedefs.h: Add GtkStyleContext forward
-        declaration.
-
-2011-01-07  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Martin Robinson.
-
-        Enable PCRE computed gotos when compiling with RCVT 4.0 or greater in GNU mode
-        https://bugs.webkit.org/show_bug.cgi?id=52034
-
-        Derived from a patch by Eli Fidler.
-
-        RVCT 4 or greater in GNU mode supports the computed goto GNU language extension
-        as per <http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348c/ch03s07s12.html>.
-
-        * pcre/pcre_exec.cpp: Modified to check for feature, HAVE(COMPUTED_GOTO), instead
-        of hardcoding the GCC compiler.
-        * wtf/Platform.h: Define WTF_COMPILER_RVCT4_OR_GREATER if __ARMCC_VERSION >= 400000.
-
-2011-01-06  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Geoff Garen.
-
-        Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
-
-        The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
-        destructor early, in order to release wrappers once we know we no longer intend to use them.
-        Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
-        lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
-        A sequence of events that triggers the bug would look like this:
-
-        (1) Create a DOMWrapperWorld.
-        (2) Register a timer in the world.
-        (3) Call unregisterWorld() on the world.
-        (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
-        (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
-            called forgetWorld() none exists.
-        (6) Attempt to add a wrapper to a NULL map.
-
-        Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
-
-        * runtime/WeakGCMap.h:
-        (JSC::WeakGCMap::clear):
-
-2011-01-06  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Bug 52021 - zeroDouble broken on ARMv7
-
-        The bug here is that zeroDouble was working incorrectly,
-        leading to op_loop_if_true failing - specifically in the
-        case where the value being checked is 0.0 encoded as a
-        double (rather than an integer immediate).
-
-        Additionally this patch removes a redundant duplicate compare
-        in some (many) case.
-
-        * assembler/ARMv7Assembler.h:
-        (JSC::ARMv7Assembler::vcmp_F64):
-        (JSC::ARMv7Assembler::vcmpz_F64):
-        * assembler/MacroAssemblerARM.h:
-        (JSC::MacroAssemblerARM::branchDoubleNonZero):
-        (JSC::MacroAssemblerARM::branchDoubleZeroOrNaN):
-        * assembler/MacroAssemblerARMv7.h:
-        (JSC::MacroAssemblerARMv7::branchDouble):
-        (JSC::MacroAssemblerARMv7::branchDoubleNonZero):
-        (JSC::MacroAssemblerARMv7::branchDoubleZeroOrNaN):
-        (JSC::MacroAssemblerARMv7::compare32):
-        * assembler/MacroAssemblerMIPS.h:
-        (JSC::MacroAssemblerMIPS::branchDoubleNonZero):
-        (JSC::MacroAssemblerMIPS::branchDoubleZeroOrNaN):
-        * assembler/MacroAssemblerX86Common.h:
-        (JSC::MacroAssemblerX86Common::branchDoubleNonZero):
-        (JSC::MacroAssemblerX86Common::branchDoubleZeroOrNaN):
-        * jit/JITOpcodes32_64.cpp:
-        (JSC::JIT::emit_op_jfalse):
-        (JSC::JIT::emit_op_jtrue):
-
-2011-01-06  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Added debug code to compare the results of JIT regexp with 
-        interpreted regexp and displays discrepencies.  This debug code is
-        controlled by the ENABLE_YARR_JIT_DEBUG macro in wtf/Platform.h and
-        is only valid if ENABLE_YARR_JIT is enabled.
-
-        Fixed a discovered problem in RegExp::printTraceData, changing
-        m_pattern to the getter pattern().
-        Also deleted an extraneous semicolon.
-
-        Enhancement: Add Regexp Debug Compare between JIT and Interpreter
-        https://bugs.webkit.org/show_bug.cgi?id=51834
-
-        * runtime/RegExp.cpp:
-        (JSC::RegExp::compile):
-        (JSC::RegExp::match):
-        (JSC::RegExp::printTraceData):
-        * wtf/Platform.h:
-
-2011-01-06  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Eric Seidel.
-
-        [WINCE] Remove JSC::g_stackBase
-        https://bugs.webkit.org/show_bug.cgi?id=51779
-
-        * wtf/StackBounds.cpp:
-
-2011-01-06  Joone Hur  <joone.hur@collabora.co.uk>
-
-        Reviewed by Eric Seidel.
-
-        WML Parser should treat line/column number in a consistent way
-        https://bugs.webkit.org/show_bug.cgi?id=51601
-
-        Add the equality operators to TextPosition class.
-
-        * wtf/text/TextPosition.h:
-        (WTF::TextPosition::operator==): Added.
-        (WTF::TextPosition::operator!=): Added.
-        (WTF::TextPosition::belowRangePosition): Use belowBase() instead of base().
-        (WTF::ZeroBasedNumber::operator==): Added.
-        (WTF::ZeroBasedNumber::operator!=): Added.
-        (WTF::OneBasedNumber::operator==): Added.
-        (WTF::OneBasedNumber::operator!=): Added.
-
-2011-01-06  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Gavin Barraclough.
-
-        [WINCE] Determine stack extent
-        https://bugs.webkit.org/show_bug.cgi?id=26276
-
-        Scan the stack for writeable pages and use the limits.
-
-        * wtf/StackBounds.cpp:
-        (WTF::detectGrowingDownward):
-        (WTF::isPageWritable):
-        (WTF::getLowerStackBound):
-        (WTF::getUpperStackBound):
-        (WTF::StackBounds::initialize):
-
-2011-01-05  Steve Falkenburg  <sfalken@apple.com>
-
-        Windows build fix.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Revert change to additional library search path needed to find ICU.
-
-2011-01-05  Steve Falkenburg  <sfalken@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Debug and Release builds on Windows clobber each other
-        https://bugs.webkit.org/show_bug.cgi?id=49185
-        
-        Changes the structure of WebKitBuild build products directory so we
-        completely separate each build configuration into independent directories.
-        
-        Although we previously had per-configuration directories for obj, this change adds
-        per-configuration directories for bin, lib, obj, and include. Each configuration's
-        build products are stored within a directory inside of WebKitBuild.
-        
-        Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
-        defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
-        
-        For PGO, $(ConfigurationBuildDir) points to the same directory (Release_PGO) to allow
-        for proper operation of the instrumentation/optimization scripts.
-
-        * JavaScriptCore.vcproj/JavaScriptCore.make:
-        * JavaScriptCore.vcproj/JavaScriptCore.sln:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedCommon.vsprops:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePGOOptimize.vsprops: Added.
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePostBuild.cmd:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePreBuild.cmd:
-        * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh:
-        * JavaScriptCore.vcproj/JavaScriptCore/react-to-vsprops-changes.py:
-        * JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
-        * JavaScriptCore.vcproj/WTF/WTFPostBuild.cmd:
-        * JavaScriptCore.vcproj/WTF/WTFPreBuild.cmd:
-        * JavaScriptCore.vcproj/jsc/jsc.vcproj:
-        * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
-        * JavaScriptCore.vcproj/jsc/jscPostBuild.cmd:
-        * JavaScriptCore.vcproj/jsc/jscPreBuild.cmd:
-        * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
-        * JavaScriptCore.vcproj/testapi/testapiPostBuild.cmd:
-        * JavaScriptCore.vcproj/testapi/testapiPreBuild.cmd:
-
-2011-01-05  Brent Fulgham  <bfulgham@webkit.org>
-
-        Unreviewed build fix.
-
-        * wtf/Encoder.h: Add <stdint.h> include for systems that
-        do not natively know about uint8_t, etc.
-
-2011-01-05  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Andreas Kling.
-
-        [CMake] Fix the usage of SOURCE_GROUP
-        https://bugs.webkit.org/show_bug.cgi?id=51739
-
-        * CMakeLists.txt:
-
-2011-01-05  Andras Becsi  <abecsi@webkit.org>
-
-        Reviewed by Csaba Osztrogonác.
-
-        [Qt][V8] Fix the build after recent changes.
-
-        * pcre/pcre.pri: Correct the path after Source was introduced.
-
-2011-01-04  Steve Falkenburg  <sfalken@apple.com>
-
-        Build fix. Update path to FindSafari after source code reorganization.
-
-        * JavaScriptCore.vcproj/JavaScriptCore.sln:
-
-2011-01-04  Daniel Bates  <dbates@rim.com>
-
-        Fix the Android build after changeset 74975 <http://trac.webkit.org/changeset/74975>
-        (https://bugs.webkit.org/show_bug.cgi?id=51855).
-
-        * wtf/ThreadingPthreads.cpp: Add include of PassOwnPtr.h.
-        (WTF::runThreadWithRegistration): Use -> instead of . to dereference pointer.
-
-2011-01-04  Martin Robinson  <mrobinson@igalia.com>
-
-        Try to fix the EFL build.
-
-        * wtf/CMakeLists.txt: Remove PlatformRefPtr from the CMake source list.
-
-2011-01-04  James Robinson  <jamesr@chromium.org>
-
-        Reviewed by Darin Adler.
-
-        StackBounds initialization in WTFThreadData should be guarded by #if USE(JSC)
-        https://bugs.webkit.org/show_bug.cgi?id=51881
-
-        The StackBounds class is only used by JavaScriptCore.
-
-        * wtf/WTFThreadData.cpp:
-        (WTF::WTFThreadData::WTFThreadData):
-        * wtf/WTFThreadData.h:
-        (WTF::WTFThreadData::resetCurrentIdentifierTable):
-
-2011-01-03  Martin Robinson  <mrobinson@igalia.com>
-
-        Reviewed by Darin Adler.
-
-        Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr
-        https://bugs.webkit.org/show_bug.cgi?id=51846
-
-        * GNUmakefile.am: Remove PlatformRefPtr.h from the sources list.
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj: Ditto.
-        * jit/ExecutableAllocator.h: Change references to PlatformRefPtr to RefPtr.
-        (JSC::ExecutableAllocator::cacheFlush): Ditto.
-        * wtf/PlatformRefPtr.h: Removed.
-        * wtf/RandomNumber.cpp: Change references to PlatformRefPtr to RefPtr.
-        (WTF::randomNumber): Ditto.
-        * wtf/brew/RefPtrBrew.h: Ditto.
-        (WTF::refIfNotNull): Added.
-        (WTF::derefIfNotNull): Added.
-        * wtf/brew/ShellBrew.h: Change references to PlatformRefPtr to RefPtr.
-        (WTF::createRefPtrInstance): Modified to return a RefPtr.
-        * wtf/gobject/GRefPtr.cpp: 
-        (WTF::refGPtr): Moved from PlatformRefPtr here.
-        (WTF::derefGPtr): Ditto.
-        * wtf/gobject/GRefPtr.h: Ditto.
-        (WTF::GRefPtr::GRefPtr): Ditto.
-        (WTF::GRefPtr::~GRefPtr): Ditto.
-        (WTF::GRefPtr::clear): Ditto.
-        (WTF::GRefPtr::isHashTableDeletedValue): Ditto.
-        (WTF::GRefPtr::get): Ditto.
-        (WTF::GRefPtr::operator*): Ditto.
-        (WTF::GRefPtr::operator->): Ditto.
-        (WTF::GRefPtr::operator!): Ditto.
-        (WTF::GRefPtr::operator UnspecifiedBoolType): Ditto.
-        (WTF::GRefPtr::hashTableDeletedValue): Ditto.
-        (WTF::::operator): Ditto.
-        (WTF::::swap): Ditto.
-        (WTF::swap): Ditto.
-        (WTF::operator==): Ditto.
-        (WTF::operator!=): Ditto.
-        (WTF::static_pointer_cast): Ditto.
-        (WTF::const_pointer_cast): Ditto.
-        (WTF::getPtr): Ditto.
-        (WTF::adoptGRef): Ditto.
-        (WTF::refGPtr): Ditto.
-        (WTF::derefGPtr): Ditto.
-
-2011-01-04  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Adam Roben.
-
-        LEAK: Deallocate instance of ThreadFunctionInvocation if thread creation fails
-        https://bugs.webkit.org/show_bug.cgi?id=51860
-
-        * wtf/ThreadingWin.cpp:
-        (WTF::createThreadInternal):
-
-2011-01-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
-
-        Reviewed by Ariya Hidayat.
-
-        [Qt][Symbian] Make sure that WebKit headers are included before platform headers on Symbian
-        https://bugs.webkit.org/show_bug.cgi?id=31273
-
-        On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
-        are included before platform headers. On all other platforms continue to use
-        INCLUDEPATH (as before). This is a continuation of r65877.
-
-        No new tests as there is no new functionality.
-
-        * JavaScriptCore.pri:
-
-2011-01-04  Darin Adler  <darin@apple.com>
-
-        Try to fix Windows build.
-
-        * wtf/ThreadingWin.cpp: Added include of PassOwnPtr.h. Fixed paragraphing
-        of conditional includes.
-        (WTF::wtfThreadEntryPoint): Use -> instead of . to dereference pointer.
-        (WTF::createThreadInternal): Tweaked #if to not need separate macro.
-
-2011-01-04  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Adam Roben.
-
-        Extract ThreadFunctionInvocation into separate file and share between Apple Windows and Android
-        https://bugs.webkit.org/show_bug.cgi?id=51855
-
-        Both the Apple Windows and Android ports implement a similar adapter structure,
-        called ThreadFunctionInvocation and ThreadData respectively, as part of
-        their thread creation process. Instead, we should share such an adapter
-        structure and remove duplicate code.
-
-        * JavaScriptCore.gypi: Added header wtf/ThreadFunctionInvocation.h.
-        * wtf/ThreadFunctionInvocation.h: Added.
-        (WTF::ThreadFunctionInvocation::ThreadFunctionInvocation):
-        * wtf/ThreadingPthreads.cpp: Removed Android-specific structure ThreadData; Instead, use ThreadFunctionInvocation.
-        (WTF::runThreadWithRegistration):
-        (WTF::createThreadInternal): 
-        * wtf/ThreadingWin.cpp: Moved structure ThreadFunctionInvocation to its own file so that
-        it can be shared with the Android implementation of createThreadInternal().
-        (WTF::wtfThreadEntryPoint): Use OwnPtr to hold passed instance of ThreadFunctionInvocation.
-
-2011-01-04  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Darin Adler.
-
-        Use __builtin_expect when compiling using RVCT in GNU mode
-        https://bugs.webkit.org/show_bug.cgi?id=51866
-
-        Derived from a patch by Dave Tapuska.
-
-        * wtf/AlwaysInline.h:
-
-2011-01-03  Darin Adler  <darin@apple.com>
-
-        Reviewed by Brady Eidson.
-
-        * wtf/Forward.h: Added Decoder and Encoder.
-
-2011-01-03  Brady Eidson  <beidson@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2.
-
-        Starting out with a pure virtual interface to be implemented in WK2, but we might change that later.
-
-        * GNUmakefile.am:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * wtf/CMakeLists.txt:
-
-        * wtf/Decoder.h: Added.
-        * wtf/Encoder.h: Added.
-
-2011-01-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
-
-        Unreviewed build fix.
-
-        [Qt] Add NullPtr.cpp introduced in r71155 to the Qt build system.
-
-        This fix is required for builds where HAVE(NULLPTR) is false
-        (e.g. some MSVC and Symbian builds).
-
-        * wtf/wtf.pri:
-
-2011-01-02  Dan Bernstein  <mitz@apple.com>
-
-        Rubber-stamped by Simon Fraser.
-
-        <rdar://problem/8812159> Update copyright strings
-
-        * Info.plist:
-
-2011-01-02  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Fix GTK+ build after r74855.
-
-        Reviewed by Xan Lopez.
-
-        * GNUmakefile.am: Fix include pathes.
-
-2011-01-02  Adam Barth  <abarth@webkit.org>
-
-        One more .. missing in the Qt build.
-
-        * jsc.pro:
-
-2011-01-02  Xan Lopez  <xlopez@igalia.com>
-
-        Fix GTK+ build.
-
-        * GNUmakefile.am: add -I$(srcdir)/Source to the JSC cppflags so
-        that anyone can include its headers without adding the prefix
-        'Source/'.
-
-2011-01-02  Carl Lobo  <carllobo@gmail.com>
-
-        Reviewed by Adam Barth.
-
-        Fix Windows Build for non-production where VSPropsRedirectionDir is not defined.
-        https://bugs.webkit.org/show_bug.cgi?id=51797
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.vcproj/jsc/jsc.vcproj:
-        * JavaScriptCore.vcproj/testapi/testapi.vcproj:
-
-2011-01-01  Adam Barth  <abarth@webkit.org>
-
-        Fix relative include paths in an attempt to fix the Qt build.
-
-        * JavaScriptCore.pri:
-        * JavaScriptCore.pro:
-
-2011-01-01  Adam Barth  <abarth@webkit.org>
-
-        Another speculative build fix for GTK.
-
-        * GNUmakefile.am:
-
-2011-01-01  Adam Barth  <abarth@webkit.org>
-
-        Speculative build fix for GTK.  Update the paths in GNUmakefile to
-        include "Source".
-
-        * GNUmakefile.am:
-
-2011-01-01  Adam Barth  <abarth@webkit.org>
-
-        Update relative paths in JavaScriptCore.gyp to account for the extra
-        level of directories.
-
-        * JavaScriptCore.gyp/JavaScriptCore.gyp:
-
-2010-12-31  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        Add a fast case for ASCII strings in HashAndUTF8CharactersTranslator::equal
-        https://bugs.webkit.org/show_bug.cgi?id=50517
-
-        This change shows about 2% performance win on the xml-parser benchmark.
-
-        * wtf/text/AtomicString.cpp:
-        (WTF::HashAndUTF8CharactersTranslator::equal):
-
-2010-12-30  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Ariya Hidayat.
-
-        [CMake] Add WTF_HEADERS
-        https://bugs.webkit.org/show_bug.cgi?id=51741
-
-        Add the WTF headers to show them in Visual Studio.
-
-        * wtf/CMakeLists.txt:
-        * wtf/CMakeListsWinCE.txt:
-
-2010-12-30  Konstantin Tokarev  <annulen@yandex.ru>
-
-        Reviewed by David Kilzer.
-
-        [Qt] Don't build wtf/TCSystemAlloc.cpp if --system-malloc option is
-        used
-        https://bugs.webkit.org/show_bug.cgi?id=51672
-
-        * wtf/wtf.pri: Replaced USE_SYSTEM_MALLOC with USE_SYSTEM_MALLOC=1
-
-2010-12-30  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        Use OS(WINDOWS) instead of COMPILER(MSVC) in FastMalloc.cpp
-        https://bugs.webkit.org/show_bug.cgi?id=51743
-
-        Most of the ifdefs belong to windows and not to the MSVC compiler.
-
-        * wtf/FastMalloc.cpp:
-
-2010-12-29  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Bug 51724 - In strict mode string literals should allow \0, but disallow \8 and \9.
-
-        * parser/Lexer.cpp:
-        (JSC::Lexer::parseString):
-
-2010-12-29  Helder Correia  <helder@sencha.com>
-
-        Reviewed by Eric Seidel.
-
-        <VT> and <FF> are not valid JSON whitespace characters
-        https://bugs.webkit.org/show_bug.cgi?id=51671
-
-        Vertical Tab and Form Feed are not allowed white spaces by the JSON
-        RFC 4627: http://www.ietf.org/rfc/rfc4627.txt (2. JSON Grammar).
-
-        Tests: ietestcenter/Javascript/15.12.1.1-0-2.html
-               ietestcenter/Javascript/15.12.1.1-0-3.html
-
-        * runtime/LiteralParser.cpp:
-        (JSC::isJSONWhiteSpace):
-        (JSC::LiteralParser::Lexer::lex):
-
-2010-12-28  Helder Correia  <helder@sencha.com>
-
-        Reviewed by Eric Seidel.
-
-        JSON.stringify must exist as a function taking 3 parameters
-        https://bugs.webkit.org/show_bug.cgi?id=51667
-
-        The reported function length is 1 instead.
-
-        Test: ietestcenter/Javascript/15.12.3-0-2.html
-
-        * runtime/JSONObject.cpp:
-
-2010-12-28  Helder Correia  <helder@sencha.com>
-
-        Reviewed by Sam Weinig.
-
-        JSON.parse must exist as a function taking 2 parameters
-        https://bugs.webkit.org/show_bug.cgi?id=51666
-
-        Support for revivers was introduced in bug 26591, but the function
-        length has since remained unchanged.
-
-        Test: ietestcenter/Javascript/15.12.2-0-2.html
-
-        * runtime/JSONObject.cpp:
-
-2010-12-27  Jake Helfert  <jake@jakeonthenet.com>
-
-        Reviewed and reworked by Darin Adler.
-
-        Building WebKit with Visual Studio 2010 fails due
-        to ambiguous assignment operator errors.
-        https://bugs.webkit.org/show_bug.cgi?id=51116
-
-        * wtf/NullPtr.h: Added a HAVE(NULLPTR) definition for use with
-        Platform.h HAVE macro, and included the Visual Studio 2010 compiler
-        as one of the ones that has nullptr.
-        * wtf/NullPtr.cpp: Updated condition to match.
-        
-        * wtf/PassOwnArrayPtr.h: Don't include the operator=(nullptr_t)
-        overload if we are compiling in loose mode and the compiler has
-        nullptr, because assignment of 0 will otherwise encounter
-        ambiguitity with this overload and the overload for loose mode
-        that takes a raw pointer. The conditional can be removed when we
-        get rid of loose mode.
-        * wtf/PassOwnPtr.h: Ditto.
-
-        * wtf/PassRefPtr.h: Don't include the operator=(nullptr_t) overload
-        if the compiler has nullptr, because assignment of 0 would be
-        ambiguous with the overload that takes a raw pointer. The conditional
-        can be removed if we ever decide we no longer need to support
-        assigning 0, but might need a way to catch that usage on older compilers.
-        * wtf/RefPtr.h: Ditto.
-        * wtf/RetainPtr.h: Ditto
-
-        * JavaScriptCore.xcodeproj/project.pbxproj: Added NullPtr.cpp,
-        accidentally omitted when the file was first added.
-
-2010-12-26  Xan Lopez  <xlopez@igalia.com>
-
-        Reviewed by Eric Seidel.
-
-        [GTK] Add standalone target for JSC
-        https://bugs.webkit.org/show_bug.cgi?id=51607
-
-        * GNUmakefile.am: add convenience target to only build jsc and its
-        dependencies.
-
-2010-12-24  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Eric Seidel.
-
-        [WINCE] Add CPU(MIPS) detection
-        https://bugs.webkit.org/show_bug.cgi?id=51342
-
-        WinCE usually defines MIPS and _MIPS_.
-
-        * wtf/Platform.h:
-
-2010-12-23  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Rename RegexCompiler.cpp to RegexPattern.cpp.
-        Implicitly call compileRegex from RegexPattern's constructor.
-
-        * Android.mk:
-        * CMakeLists.txt:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.pro:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * runtime/RegExp.cpp:
-        (JSC::RegExp::compile):
-        * yarr/RegexCompiler.cpp: Removed.
-        * yarr/RegexCompiler.h: Removed.
-        * yarr/RegexInterpreter.cpp:
-        * yarr/RegexJIT.cpp:
-        * yarr/RegexPattern.cpp: Copied from JavaScriptCore/yarr/RegexCompiler.cpp.
-        (JSC::Yarr::compileRegex):
-        (JSC::Yarr::RegexPattern::RegexPattern):
-        * yarr/RegexPattern.h:
-
-2010-12-23  Patrick Gansterer  <paroga@webkit.org>
-
-        Unreviewed build fix for WinCE after r74360.
-
-        Move the OS(WINDOWS) section after the OS(WINCE) section
-        and add missing argument to the getStackMax call.
-
-        * wtf/StackBounds.cpp:
-        (WTF::StackBounds::initialize):
-
-2010-12-22  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
-
-        Unreviewed build fix.
-
-        [Symbian] Make sure OSAllocatorSymbian builds
-
-        This patch only addresses the build problem.
-
-        https://bugs.webkit.org/show_bug.cgi?id=51128 tracks the full
-        (re)implementation of the Symbian allocator.
-
-        * wtf/OSAllocatorSymbian.cpp:
-        (WTF::OSAllocator::reserveUncommitted):
-        (WTF::OSAllocator::reserveAndCommit):
-        (WTF::OSAllocator::commit):
-
-2010-12-22  Dan Bernstein  <mitz@apple.com>
-
-        Changed WebKitTools to Tools.
-
-        * JavaScriptCore.vcproj/JavaScriptCore.sln:
-
-2010-12-22  Dan Bernstein  <mitz@apple.com>
-
-        Rubber-stamped by Mark Rowe.
-
-        Changed WebKitTools to Tools in script build phases.
-
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2010-12-22  Andrei Popescu  <andreip@google.com>
-
-        Unreviewed build fix.
-
-        Fix Chromium Linux shared library build.
-        [Chromium] r74431 broke the Chromium Linux shared library build
-        https://bugs.webkit.org/show_bug.cgi?id=51462
-
-        * JavaScriptCore.gyp/JavaScriptCore.gyp:
-        * JavaScriptCore.gypi:
-
-2010-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
-
-        Unreviewed, rolling out r74462.
-        http://trac.webkit.org/changeset/74462
-        https://bugs.webkit.org/show_bug.cgi?id=51449
-
-        broke chromium win (Requested by tonyg-cr on #webkit).
-
-        * JavaScriptCore.gypi:
-
-2010-12-21  Tony Gentilcore  <tonyg@chromium.org>
-
-        Unreviewed build fix.
-
-        [chromium] Build fix after r74431
-        https://bugs.webkit.org/show_bug.cgi?id=51447
-
-        * JavaScriptCore.gypi:
-
-2010-12-21  Gavin Barraclough  <barraclough@apple.com>
-
-        Windows build fix.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-12-21  Gavin Barraclough  <barraclough@apple.com>
-
-        Windows build fix.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-12-21  Gavin Barraclough  <barraclough@apple.com>
-
-        Speculative build fix.
-
-        * jit/ExecutableAllocator.cpp:
-        (JSC::ExecutableAllocator::underMemoryPressure):
-
-2010-12-21  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Bug 26276 - Need a mechanism to determine stack extent
-
-        This patch adds accurate stack size calculation for:
-            DARWIN, QNX, UNIX
-        We still need to fix:
-            WINDOWS, SOLARIS, OPENBSD, SYMBIAN, HAIKU, WINCE
-
-        * wtf/StackBounds.cpp:
-        (WTF::StackBounds::initialize):
-
-2010-12-21  Gavin Barraclough  <barraclough@apple.com>
-
-         Reviewed by Geoff Garen.
-        <rdar://problem/8765333> CRASH running out of executable memory, loading io9.com
-        https://bugs.webkit.org/show_bug.cgi?id=51443
-
-        The problem here is that each page uses a reasonable amount of memory, (~4Mb),
-        and that when miultiple pages are open we keep all JIT code for all functions
-        in all pages alive.
-
-        Add a check to detect high memory pressure situations in the executable allocator
-        (>50% of available memory allocated), and upon a top level entry into JSC (no code
-        running on the stack) in this situation throw away all JIT code.
-
-        * JavaScriptCore.exp:
-        * debugger/Debugger.cpp:
-        (JSC::Debugger::recompileAllJSFunctions): stop passing exec to recompile.
-        * jit/ExecutableAllocator.h:
-        * jit/ExecutableAllocatorFixedVMPool.cpp:
-        (JSC::ExecutablePool::systemAlloc): Count allocations.
-        (JSC::ExecutablePool::systemRelease): Count deallocations.
-        (JSC::ExecutablePool::underMemoryPressure): Check memory pressure.
-        * jit/ExecutableAllocatorPosix.cpp:
-        (JSC::ExecutablePool::underMemoryPressure): Stub out; only meaningful with FixedVMPool.
-        * jit/ExecutableAllocatorWin.cpp:
-        (JSC::ExecutablePool::underMemoryPressure): Stub out; only meaningful with FixedVMPool.
-        * runtime/Executable.cpp:
-        (JSC::FunctionExecutable::recompile): Remove ExecState argument to recompile.
-        * runtime/Executable.h:
-        * runtime/JSGlobalData.cpp:
-        (JSC::JSGlobalData::recompileAllJSFunctions): throws away all JIT code.
-        * runtime/JSGlobalData.h:
-        * runtime/JSGlobalObject.h:
-        (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): add check / call to throw away.
-
-2010-12-21  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Geoff Garen.
-
-        <rdar://problem/8241425> JIT executable memory excessive usage due to regex caching
-        https://bugs.webkit.org/show_bug.cgi?id=51434
-
-        Reduce the amount of memory the RegExpCache can hold on to on iOS.
-        Currently the RegExpCache can hold 256 RegExp objects. If each falls into a separate
-        ExecutablePool, with a common size of 16Kb, this means we end up holding onto 4Mb of
-        memory. Firstly, we can reduce this by simply reducing the size of the cache to 32
-        entries. Secondly, we can use a separate set of ExecutablePools for JIT code generated
-        from RegExp objects. This helps in two ways (1) it increases the probability that
-        RegExps in the cache share the same pool, and (2) it means that a RegExp can't end
-        up holding on to a large ExecutablePool containing a translation of JS code.
-        (A RegExp could end up keeping a larger RegExp alive that happened to be sharing the
-        same pool, but large RegExp patterns are less common).
-
-        * runtime/JSGlobalData.h:
-        * runtime/RegExpCache.h:
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::RegexGenerator::compile):
-
-2010-12-21  Gavin Barraclough  <barraclough@apple.com>
-
-        Windows build fix.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-12-21  Gavin Barraclough  <barraclough@apple.com>
-
-        Eeeep! build fix!
-
-        * wtf/OSAllocator.h:
-        (WTF::OSAllocator::decommitAndRelease):
-
-2010-12-21  Gavin Barraclough  <barraclough@apple.com>
-
-        Ooops, fixed typo in comment.
-
-        * wtf/OSAllocator.h:
-
-2010-12-21  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Gavin Barraclough & Oliver Hunt.
-
-        Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
-        https://bugs.webkit.org/show_bug.cgi?id=51359
-        
-        I think this patch fixes <rdar://problem/8107952> [5.0.1] WER crash in
-        Heap::allocateBlock (1902752929), and some other leaks and crashes as well.
-
-        * Android.mk:
-        * CMakeLists.txt:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj: Updated build files.
-
-        * runtime/AlignedMemoryAllocator.h: Removed. Supplanted by
-        PageAllocationAligned.
-
-        * runtime/Collector.cpp:
-        (JSC::Heap::destroy):
-        (JSC::Heap::allocateBlock):
-        (JSC::Heap::freeBlock):
-        (JSC::Heap::addWeakGCHandle):
-        * runtime/Collector.h: Switched from AlignedMemoryAllocator to
-        PageAllocationAligned.
-
-        * runtime/GCHandle.cpp:
-        * runtime/GCHandle.h: Ditto.
-
-        * wtf/PageAllocation.h:
-        (WTF::PageAllocation::PageAllocation): Removed aligned memory allocation
-        functions. Supplanted by PageAllocationAligned.
-
-        * wtf/PageAllocationAligned.cpp: Added.
-        (WTF::PageAllocationAligned::allocate):
-        (WTF::PageAllocationAligned::deallocate):
-        * wtf/PageAllocationAligned.h: Added.
-        (WTF::PageAllocationAligned::PageAllocationAligned): New cross-platform
-        class for doing aligned memory allocation. This class properly matches
-        allocation and deallocation library calls, fixing a long-standing bug
-        in PageAllocation.
-
-        * wtf/Platform.h: Removed some defunction VM platform defines.
-
-        * wtf/wtf.pri: Updated build files.
-
-2010-12-21  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        ASSERTION FAILED: base->index() == m_codeBlock->argumentsRegister() while loading taobao.com
-        https://bugs.webkit.org/show_bug.cgi?id=49006
-
-        This problem was caused by having a parameter named 'arguments'.
-        The fix is to treat parameters named 'arguments' as shadowing
-        the actual arguments property, and so logically turn the function
-        into one that doesn't "use" arguments.
-
-        This required a bit of fiddling in the parser to ensure we correctly
-        propagate the 'feature' of shadowing is set correctly.
-
-        * bytecompiler/BytecodeGenerator.cpp:
-        (JSC::BytecodeGenerator::createArgumentsIfNecessary):
-          Change assertion to an early return as we may now reference
-          a property named 'arguments' without being in a function that
-          has the ArgumentsFeature
-        * parser/JSParser.cpp:
-        (JSC::JSParser::Scope::Scope):
-        (JSC::JSParser::Scope::declareParameter):
-        (JSC::JSParser::Scope::shadowsArguments):
-        (JSC::JSParser::parseProgram):
-        (JSC::JSParser::parseFormalParameters):
-        (JSC::JSParser::parseFunctionInfo):
-        * parser/Nodes.h:
-        (JSC::ScopeNode::usesArguments):
-
-2010-12-21  Daniel Bates  <dbates@rim.com>
-
-        Reviewed by Eric Seidel and Darin Adler.
-
-        Deallocate GregorianDateTime.timeZone (if allocated) when copying so that we don't leak memory.
-        https://bugs.webkit.org/show_bug.cgi?id=51367
-
-        Inspired by a patch by George Staikos.
-
-        * wtf/DateMath.cpp:
-        (JSC::msToGregorianDateTime): Modified to set timeZone to nullptr since timeZone is now
-        of type OwnPtrArray<char>.
-        * wtf/DateMath.h: Change timeZone to type OwnArrayPtr<char>; Removed destructor since it is no longer needed.
-        (JSC::GregorianDateTime::GregorianDateTime): Modified to use OwnPtrArray semantics for timeZone.
-        (JSC::GregorianDateTime::operator tm): Ditto.
-        (JSC::GregorianDateTime::copyFrom): Ditto.
-
-2010-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>
-
-        Unreviewed, rolling out r74402.
-        http://trac.webkit.org/changeset/74402
-        https://bugs.webkit.org/show_bug.cgi?id=51402
-
-        This patch broke the Windows 7 Release Layout Tests (Requested
-        by jessieberlin on #webkit).
-
-        * wtf/StackBounds.cpp:
-        (WTF::estimateStackBound):
-        (WTF::StackBounds::initialize):
-
-2010-12-21  Peter Varga  <pvarga@inf.u-szeged.hu>
-
-        Reviewed by Csaba Osztrogonác.
-
-        Unify the name of parentheses in YARR: rename parenthesis to
-        parentheses.
-
-        * yarr/RegexCompiler.cpp:
-        (JSC::Yarr::RegexPatternConstructor::atomParenthesesEnd):
-
-2010-12-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
-
-        Reviewed by Andreas Kling.
-
-        [Qt] Set BUILDING_QT__ consistently
-        https://bugs.webkit.org/show_bug.cgi?id=51341
-
-        * JavaScriptCore.pri: Remove the definition of BUILDING_QT__ as it
-        is already defined in WebKit.pri.
-
-2010-12-20  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Bug 26276 - Need a mechanism to determine stack extent
-
-        This patch adds accurate stack size calculation for:
-            DARWIN, WINDOWS, QNX, UNIX
-        We still need to fix:
-            SOLARIS, OPENBSD, SYMBIAN, HAIKU, WINCE
-
-        * wtf/StackBounds.cpp:
-        (WTF::StackBounds::initialize):
-
-2010-12-20  Gavin Barraclough  <barraclough@apple.com>
-
-        PPC build fix; stop using std::swap on PageAllocation/PageReservation,
-        this was failing on some compilers since the lack of default construction
-        for the m_executable/m_writable fields meant the value being swapped may
-        not have been fully initialized.
-
-        * wtf/PageAllocation.h:
-        (WTF::PageAllocation::deallocate):
-        * wtf/PageBlock.h:
-        * wtf/PageReservation.h:
-        (WTF::PageReservation::deallocate):
-
-2010-12-20  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        |delete name| in strict mode code should be an early error
-        https://bugs.webkit.org/show_bug.cgi?id=50431
-
-        Disallow the |delete IDENTIFIER| production in strict mode, and removed
-        a bunch of now unnecessary code.
-
-        * parser/JSParser.cpp:
-        (JSC::JSParser::Scope::collectFreeVariables):
-        (JSC::jsParse):
-        (JSC::JSParser::parseProgram):
-        (JSC::JSParser::parseUnaryExpression):
-        * parser/JSParser.h:
-        * parser/Parser.cpp:
-        (JSC::Parser::parse):
-        * parser/Parser.h:
-        (JSC::Parser::parse):
-
-2010-12-20  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Olver Hunt.
-
-        Bug 51358 - Should check stack depth rather than using recursion limits in byte compilation
-
-        The current implementation of recursion limit checking is not safe on smaller stacks.
-        Switch to using a common mechanism, shared with the parser, to check recursion limits.
-
-        Make bytecompiler use StackBounds. Empirical testing shows emitStrcat to have the largest
-        footprint on the stack, at just under 1k on x86-64.  Given this, the default recursion
-        check (requiring 4k of available space to recurse) seems reasonable.
-
-        * bytecompiler/BytecodeGenerator.cpp:
-        (JSC::BytecodeGenerator::BytecodeGenerator):
-        * bytecompiler/BytecodeGenerator.h:
-        (JSC::BytecodeGenerator::emitNode):
-        (JSC::BytecodeGenerator::emitNodeInConditionContext):
-        * bytecompiler/NodesCodegen.cpp:
-        (JSC::BinaryOpNode::emitStrcat):
-
-2010-12-20  Tony Gentilcore  <tonyg@chromium.org>
-
-        Unreviewed build fix.
-
-        Include pthread to fix chromium mac build (broken by r74360)
-        https://bugs.webkit.org/show_bug.cgi?id=51356
-
-        * wtf/StackBounds.cpp:
-
-2010-12-20  Xan Lopez  <xlopez@igalia.com>
-
-        Reviewed by Gustavo Noronha.
-
-        * GNUmakefile.am: add missing files.
-
-2010-12-18  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Bug 26276 - Need a mechanism to determine stack extent
-
-        This patch adds a class 'StackBounds', to hold information about the machine stack.
-        The implementation of this class broadly adheres to the current implmentation of
-        stack limit checking, and as such does not solve the problem of determining stack
-        extent, but gives us a common place to do so.
-
-        Currently two mechanism are provided to determine the stack origin (the point the
-        stack is growing away from). currentThreadStackBase() in Collector provides a
-        more accurate determination of the stack origin, so use this to calculate
-        StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and
-        as such can be removed.  Cache the StackBounds on WTFThreadData such that they
-        need only be determined once per thread, and for non-API contexts cache this
-        information in JSGlobalData, to save a thread-specific access.
-
-        For the time being retain the estimate of stack size used by JSC's parser
-        (128 * sizeof(void*) * 1024), with a view to replacing this with something more
-        accurate in the near future.
-
-        * parser/JSParser.cpp:
-        (JSC::JSParser::canRecurse):
-        (JSC::JSParser::JSParser):
-            Change to use StackBounds.
-        * runtime/Collector.cpp:
-        (JSC::Heap::registerThread):
-        (JSC::Heap::markCurrentThreadConservativelyInternal):
-            Change to use StackBounds, cached on JSGlobalData.
-        * runtime/JSGlobalData.cpp:
-        (JSC::JSGlobalData::JSGlobalData):
-        * runtime/JSGlobalData.h:
-        (JSC::JSGlobalData::stack):
-            Add a cached copy of StackBounds.
-        * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp.
-        (WTF::estimateStackBound):
-        (WTF::StackBounds::initialize):
-        (WTF::getStackMax):
-            Copy code from Collector.cpp to determine stack origin.
-        * wtf/StackBounds.h: Added.
-        (WTF::StackBounds::StackBounds):
-            No argument constructor; returns a null StackBounds.
-        (WTF::StackBounds::currentThreadStackBounds):
-            Returns a StackBounds object representing the stack limits
-            of the current thread.
-        (WTF::StackBounds::origin):
-            Returns to stack origin (the point the stack is growing away
-            from; the highest extent of the stack on machines where the
-            stack grows downwards.
-        (WTF::StackBounds::recursionLimit):
-            Returns a limit value that is 'a comfortable distance from
-            the end of the stack'. Our concept of this is currently 1 page
-            away from the end, however the default value may be tuned in
-            the future, and clients may override passing a larger delta;
-            should only be called on StackBounds object representing the
-            stack of the thread this method is called on (checked by
-            checkConsistency).
-        (WTF::StackBounds::recursionCheck):
-            Checks whether we are currently 'a comfortable distance from
-            the end of the stack'. Our concept of this is currently 1 page
-            away from the end, however the default value may be tuned in
-            the future, and clients may override passing a larger delta
-            to apply when checking, if they wish to do so. This method
-            should only be called on StackBounds object representing the
-            stack of the thread this method is called on (checked by
-            checkConsistency).
-        (WTF::StackBounds::current):
-            Approximate current stack position. On machines where the stack
-            is growing downwards this is the lowest address that might need
-            conservative collection.
-        (WTF::StackBounds::isGrowingDownward):
-            True for all platforms other than WINCE, which has to check.
-        (WTF::StackBounds::checkConsistency):
-            This is called in methods that shoulds only be operating on a
-            valid set of bounds; as such we expect m_origin != m_bounds
-            (i.e. stack size != zero) - we're really testing that this
-            object is not null (the constructor initializes both fields
-            to zero).  Also checks that current() is within the stack's
-            bounds.
-        * wtf/WTFThreadData.cpp:
-        (WTF::WTFThreadData::WTFThreadData):
-        * wtf/WTFThreadData.h:
-        (WTF::WTFThreadData::stack):
-            Add the StackBounds member variable.
-
-2010-12-17  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Factored common page set management into a new PageBlock base class
-        https://bugs.webkit.org/show_bug.cgi?id=51285
-
-        * Android.mk:
-        * CMakeLists.txt:
-        * GNUmakefile.am:
-        * JavaScriptCore.gypi:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-        * interpreter/RegisterFile.h:
-        (JSC::RegisterFile::RegisterFile):
-        * jit/ExecutableAllocator.cpp:
-        (JSC::ExecutableAllocator::intializePageSize):
-        * wtf/PageAllocation.cpp: Removed.
-        * wtf/PageAllocation.h:
-        (WTF::PageAllocation::deallocate):
-        (WTF::PageAllocation::PageAllocation):
-        * wtf/PageReservation.h:
-        (WTF::PageReservation::commit):
-        (WTF::PageReservation::decommit):
-        (WTF::PageReservation::deallocate):
-        (WTF::PageReservation::PageReservation):
-        * wtf/wtf.pri:
-
-2010-12-17  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        RegExp Jit'ed expression crashes clicking link on yelp.com
-        https://bugs.webkit.org/show_bug.cgi?id=51284
-
-        When transitioning between an non-repeating beginning of line
-        anchored expression and the remaining refactored repeating 
-        expression, we should not clear any residual datalabel in 
-        state's m_backtrack.  It will be resolved and cleared in subsequent
-        code when linkAlternativeBacktracks() is called for the repeating
-        alternative(s).
-
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::clear):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::clearBacktrack):
-
-2010-12-17  Dan Bernstein  <mitz@apple.com>
-
-        Rubber-stamped by Mark Rowe.
-
-        Updated for the renaming of WebKitTools to Tools
-
-        * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh:
-
-2010-12-17  Ariya Hidayat  <ariya@sencha.com>
-
-        Reviewed by Oliver Hunt.
-
-        [JSC] parseAssignmentExpression should use TreeBuilder::CreatesAST
-        https://bugs.webkit.org/show_bug.cgi?id=51268
-
-        * parser/JSParser.cpp:
-        (JSC::JSParser::parseAssignmentExpression):
-
-2010-12-17  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Removed RChunk from PageAllocation/PageReservation, since it's now unused.
-        https://bugs.webkit.org/show_bug.cgi?id=51276
-
-        * wtf/PageAllocation.h:
-        (WTF::PageAllocation::PageAllocation):
-        * wtf/PageReservation.h:
-        (WTF::PageReservation::PageReservation):
-
-2010-12-17  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Incorrect encoding of some constants in ARMv7 JIT
-        https://bugs.webkit.org/show_bug.cgi?id=51273
-        <rdar://problem/8650210>
-
-        When using immediate encoding 3 we need to write the byte
-        that holds a duplicated value.
-
-        * assembler/ARMv7Assembler.h:
-        (JSC::ARMThumbImmediate::makeEncodedImm):
-
-2010-12-16  Evan Martin  <evan@chromium.org>
-
-        Reviewed by Darin Fisher.
-
-        [chromium] useless warnings when building on Windows
-        https://bugs.webkit.org/show_bug.cgi?id=50985
-
-        Disable some compiler warnings that aren't indicative of real problems.
-
-        * JavaScriptCore.gyp/JavaScriptCore.gyp:
-
-2010-12-16  Pratik Solanki  <psolanki@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        https://bugs.webkit.org/show_bug.cgi?id=51166
-        ExecutableAllocator::cacheFlush should call sys_cache_control
-
-        * jit/ExecutableAllocator.h:
-        (JSC::ExecutableAllocator::cacheFlush): Use the more correct and forward looking API -
-        sys_cache_control(kCacheFunctionPrepareForExecution,...).
-
-2010-12-16  Ariya Hidayat  <ariya@sencha.com>
-
-        Reviewed by Andreas Kling.
-
-        [JSC] Const correctness in ASTBuilder and SyntaxChecker
-        https://bugs.webkit.org/show_bug.cgi?id=51141
-
-        * parser/ASTBuilder.h:
-        (JSC::ASTBuilder::getName):
-        (JSC::ASTBuilder::getType):
-        (JSC::ASTBuilder::isResolve):
-        * parser/SyntaxChecker.h:
-        (JSC::SyntaxChecker::operatorStackPop):
-
-2010-12-15  Kenneth Russell  <kbr@google.com>
-
-        Reviewed by James Robinson.
-
-        Web Audio API: port FFTFrame to MKL
-        https://bugs.webkit.org/show_bug.cgi?id=50986
-
-        Fixed bug in log2 emulation function provided for Windows port of
-        Web Audio API.
-
-        * wtf/MathExtras.h:
-        (log2):
-
-2010-12-14  Mark Rowe  <mrowe@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
-
-        * wtf/text/WTFString.h: Prevent String from being implicitly convertable to bool.
-        It was previously implicitly convertible to bool on Mac via operator NSString*,
-        but since that always has a non-zero return value it would give unexpected results.
-
-2010-12-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
-
-        Reviewed by Eric Seidel.
-
-        [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported
-        https://bugs.webkit.org/show_bug.cgi?id=50231
-
-        Guard CONFIG+=link_pkgconfig with !symbian.
-
-        * jsc.pro:
-
-2010-12-14  Cameron Zwarich  <zwarich@apple.com>
-
-        Not reviewed.
-
-        Revert accidental change disabling the JIT for most platforms.
-
-        * wtf/Platform.h:
-
-2010-12-13  Cameron Zwarich  <zwarich@apple.com>
-
-        Reviewed by Eric Seidel.
-
-        Clang fails to build the JSC interpreter
-        https://bugs.webkit.org/show_bug.cgi?id=51016
-
-        Clang does not allow indirect gotos out of scopes with cleanup. GCC 4.2 allows
-        them, but it does not correctly generate the cleanup, causing a leak if the
-        cleanup decrements a reference count.
-
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::privateExecute): Put an Identifier into its own scope.
-
-2010-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        Reviewed by Martin Robinson.
-
-        [GTK] Simplify context-menu handling code
-        https://bugs.webkit.org/show_bug.cgi?id=49658
-
-        * wtf/PlatformRefPtr.h: Add leakRef()
-
-2010-12-13  Cameron Zwarich  <zwarich@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        JavaScriptCore should not use "asm volatile" outside of a function
-        https://bugs.webkit.org/show_bug.cgi?id=50991
-
-        * jit/JITStubs.cpp: Remove the volatile keyword from asm statements.
-
-2010-12-13  Steve Falkenburg  <sfalken@apple.com>
-
-        Windows production build fix.
-        Try copying ICU 4.6 in addition to 4.4 and 4.2.
-
-        * JavaScriptCore.vcproj/jsc/jscPostBuild.cmd:
-
-2010-12-13  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        REGRESSION: mobileme mail viewing is broken
-        https://bugs.webkit.org/show_bug.cgi?id=50884
-
-        Fixed problem where simple parenthesis (those without capture and
-        with a fixed count) where not propagating backtrack to labels for 
-        nested parentheses.  Also added the nesting level for the parentheses 
-        state created in that case as well.
-
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::copyBacktrackToLabel):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::isLastTerm):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::generateCode):
-        (JSC::Yarr::RegexGenerator::generateParenthesesSingle):
-
-2010-12-13  Peter Varga  <pvarga@inf.u-szeged.hu>
-
-        Reviewed by Gavin Barraclough.
-
-        Reduce the size of the RegexStackSpaceForBackTrackInfoParentheses in YARR
-        https://bugs.webkit.org/show_bug.cgi?id=49385
-
-        Remove the BackTrackInfoParentheses struct prevBegin and prevEnd members.
-
-        * yarr/RegexInterpreter.cpp:
-        (JSC::Yarr::Interpreter::matchParentheses):
-        (JSC::Yarr::Interpreter::backtrackParentheses):
-        * yarr/RegexPattern.h:
-
-2010-12-10  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        REGRESSION Hang inside Yarr::RegexCodeBlock::execute when visiting
-        bugs.webkit.org
-        https://bugs.webkit.org/show_bug.cgi?id=50816
-
-        First nested parentheses of the second or greater alternative
-        where backtracking to the prior parentheses.  Changed the default
-        handling of initial parentheses for all alternatives to go back
-        to the immediate outer paren.
-
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::RegexGenerator::GenerationState::addParenthesesTail):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::TermGenerationState):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::isLastTerm):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::getTermIndex):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::setParenthesesTail):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::getParenthesesTail):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::ParenthesesTail):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::processBacktracks):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::generateCode):
-        (JSC::Yarr::RegexGenerator::generateParenthesesSingle):
-
-2010-12-11  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        Add an overload to makeString for Vector<char>
-        https://bugs.webkit.org/show_bug.cgi?id=50123
-
-        Also cleanup StringTypeAdapter.
-
-        * wtf/text/StringConcatenate.h:
-
-2010-12-10  Siddharth Mathur  <siddharth.mathur@nokia.com>
-
-        Reviewed by Eric Seidel.
-
-        [Qt] Build fix for Symbian: don't compile POSIX memory management implementation 
-        https://bugs.webkit.org/show_bug.cgi?id=50707
-
-        * wtf/wtf.pri:
-
-2010-12-10  Steve Falkenburg  <sfalken@apple.com>
-
-        Windows production build fix.
-        
-        Don't stop if react-to-vsprops-changes.py exits with an error,
-        since this will occur in production builds.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
-
-2010-12-10  Brian Weinstein  <bweinstein@apple.com>
-
-        Reviewed by Adam Roben.
-
-        Turn on USE(CROSS_PLATFORM_CONTEXT_MENUS) for Windows.
-
-        * wtf/Platform.h:
-
-2010-12-10  Martin Robinson  <mrobinson@igalia.com>
-
-        Unreviewed, rolling out r73703.
-        http://trac.webkit.org/changeset/73703
-        https://bugs.webkit.org/show_bug.cgi?id=49658
-
-        This patch is causing crashes on the GTK+ bots.
-
-        * wtf/PlatformRefPtr.h:
-
-2010-12-10  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Eric Seidel.
-
-        Cleanup StringWx.cpp
-        https://bugs.webkit.org/show_bug.cgi?id=50525
-
-        Use StringImpl::createUninitialized to avoid memcpy and fix style issues.
-
-        * wtf/wx/StringWx.cpp:
-        (WTF::String::String):
-
-2010-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        Reviewed by Martin Robinson.
-
-        [GTK] Simplify context-menu handling code
-        https://bugs.webkit.org/show_bug.cgi?id=49658
-
-        * wtf/PlatformRefPtr.h:
-
-2010-12-09  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        REGRESSION (r73065?): A regex no longer works 
-        https://bugs.webkit.org/show_bug.cgi?id=50570
-
-        Changed the handling of adjacent parentheses backtracks in two ways.
-        First, only outer most paren backtracks default to back tracking
-        to the "next character" looping code.  Second, added a jump around 
-        backtracks that fall through to the next backtrack where the
-        second backtrack has some greedy processing before the backtracking
-        from outside the parentheses code.
-        Also cleaned up extraneous white spce, removing white space at the
-        end of or that makes up a whole line.
-
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::RegexGenerator::GenerationState::GenerationState):
-        (JSC::Yarr::RegexGenerator::GenerationState::incrementParenNestingLevel):
-        (JSC::Yarr::RegexGenerator::GenerationState::decrementParenNestingLevel):
-        (JSC::Yarr::RegexGenerator::GenerationState::addParenthesesTail):
-        (JSC::Yarr::RegexGenerator::GenerationState::emitParenthesesTail):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::ParenthesesTail):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::setNextIteration):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::generateCode):
-        (JSC::Yarr::RegexGenerator::generateParenthesesSingle):
-
-2010-12-09  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        Addressed the "FIXME" issues in array sort for toString() methods that
-        mutate the array in either size or contents.  The change is to mark
-        the temporary array contents so that they are not garbage collected
-        and to make sure the array is large enough to hold the contents
-        of the sorted temporary vector.
-        https://bugs.webkit.org/show_bug.cgi?id=50718
-
-        * runtime/Collector.cpp:
-        (JSC::Heap::addTempSortVector):
-        (JSC::Heap::removeTempSortVector):
-        (JSC::Heap::markTempSortVectors):
-        (JSC::Heap::markRoots):
-        * runtime/Collector.h:
-        * runtime/JSArray.cpp:
-        (JSC::JSArray::sort):
-        * runtime/JSValue.h:
-
-2010-12-09  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Changed setting of backtrack labels to not overwrite a prior
-        label.  Where losing prior labe which then reverted back to 
-        next character label.
-        https://bugs.webkit.org/show_bug.cgi?id=50579
-
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::setBacktrackToLabel):
-
-2010-12-08  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Permit Character Class Escape in CharacterRange in Character Class.
-        https://bugs.webkit.org/show_bug.cgi?id=50483
-        https://bugs.webkit.org/show_bug.cgi?id=50538
-        https://bugs.webkit.org/show_bug.cgi?id=50654
-        https://bugs.webkit.org/show_bug.cgi?id=50646
-
-        We recently tightened up our spec conformance in generating syntax
-        error in these cases, however testing in the wild has shown this
-        to be problematic. This reverts the previous change in allowing
-        class escapes (e.g. \d) in ranges in character classes ([]), but
-        does retain some closer conformance to the spec in only allowing
-        ranges that would be permitted per the grammar rules in the spec
-        (e.g. in /[\d-a-z]/ "a-z" cannot be considered as a range).
-
-        * yarr/RegexParser.h:
-        (JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacter):
-        (JSC::Yarr::Parser::CharacterClassParserDelegate::atomBuiltInCharacterClass):
-        (JSC::Yarr::Parser::parse):
-
-2010-12-08  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Try to fix crash-on-launch seen on Windows builder.
-
-        * wtf/OSAllocatorWin.cpp:
-        (WTF::OSAllocator::release): Disabled an ASSERT, because it checks for
-        a bug that hasn't been fixed yet.
-
-2010-12-08  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix Windows build.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Updated .def file.
-
-2010-12-08  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix Windows build.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Updated .def
-        file to remove a symbol -- the next build failure will say which symbol
-        to add back.
-
-2010-12-08  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix Windows build.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Updated .def file.
-
-2010-12-08  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix GTK Linux build.
-
-        * jit/ExecutableAllocator.cpp:
-        (JSC::ExecutablePool::systemAlloc):
-        * runtime/AlignedMemoryAllocator.h:
-        (JSC::::AlignedMemoryAllocator): Updated for Usage enum moving to OSAllocator.
-
-2010-12-07  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Migrated OS-specific allocation code from PageReservation and PageAllocation to OSAllocator
-        https://bugs.webkit.org/show_bug.cgi?id=50653
-
-        * JavaScriptCore.exp: Updated for new function signature.
-
-        * interpreter/RegisterFile.h:
-        (JSC::RegisterFile::RegisterFile):
-        (JSC::RegisterFile::grow):
-        * jit/ExecutableAllocatorFixedVMPool.cpp:
-        (JSC::FixedVMPoolAllocator::reuse):
-        (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator): Removed checkAllocatedOkay.
-        OSAllocator is now the central location for verifying that allocation succeeds.
-        This allowed me to remove some complicating cross-platform cruft.
-
-        * runtime/AlignedMemoryAllocator.h:
-        (JSC::::allocate): Updated for code motion.
-
-        * wtf/OSAllocator.h: Added Usage, writable, and executable parameters, to
-        support VM features required by clients of PageAllocation and PageReservation.
-
-        * wtf/OSAllocatorPosix.cpp:
-        (WTF::OSAllocator::reserve):
-        (WTF::OSAllocator::reserveAndCommit):
-        (WTF::OSAllocator::commit): Moved PageAllocation support for randomizing
-        executable memory here.
-
-        * wtf/OSAllocatorSymbian.cpp:
-        (WTF::OSAllocator::reserve):
-        (WTF::OSAllocator::reserveAndCommit):
-        (WTF::OSAllocator::commit): Updated for new function signatures.
-
-        * wtf/OSAllocatorWin.cpp:
-        (WTF::protection):
-        (WTF::OSAllocator::reserve):
-        (WTF::OSAllocator::reserveAndCommit):
-        (WTF::OSAllocator::commit):
-        (WTF::OSAllocator::release): Updated for new function signatures. Moved
-        some protection-related and WINCE-related code from PageAllocation here.
-
-        * wtf/PageAllocation.cpp: Nixed cross-platform lastError abstraction, since
-        it was only used by checkAllocatedOkay, which is now gone.
-
-        * wtf/PageAllocation.h:
-        (WTF::PageAllocation::allocate):
-        (WTF::PageAllocation::allocateAligned):
-        (WTF::PageAllocation::deallocate):
-        (WTF::PageAllocation::isPowerOfTwo):
-        (WTF::PageAllocation::systemAllocateAligned): Removed system* functions,
-        and replaced calls to them with calls to OSAllocator.
-
-        * wtf/PageReservation.h:
-        (WTF::PageReservation::commit):
-        (WTF::PageReservation::decommit):
-        (WTF::PageReservation::reserve):
-        (WTF::PageReservation::deallocate):
-        (WTF::PageReservation::PageReservation): Ditto. Added m_writable and
-        m_executable because these flags are now required when committing memory.
-
-2010-12-08  Chris Rogers  <crogers@google.com>
-
-        Reviewed by Kenneth Russell.
-
-        Add web audio files to mac port Xcode projects
-        https://bugs.webkit.org/show_bug.cgi?id=50721
-
-        * JavaScriptCore.xcodeproj/project.pbxproj:
-
-2010-12-08  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Marking the active global object re-enters through markConservatively
-        https://bugs.webkit.org/show_bug.cgi?id=50711
-
-        draining of the MarkStack is not allowed to be re-entrant, we got away
-        with this simply due to the logic in MarkStack::drain implicitly handling
-        changes that could be triggered by the re-entry.
-
-        Just to be safe this patch removes the re-entry through markConservatively
-        so we don't accidentally introduce such an issue in future.  I've also
-        added an assertion to catch such errors.
-
-        * runtime/Collector.cpp:
-        (JSC::Heap::markConservatively):
-        (JSC::Heap::markCurrentThreadConservativelyInternal):
-        (JSC::Heap::markOtherThreadConservatively):
-        * runtime/JSArray.h:
-        (JSC::MarkStack::drain):
-        * runtime/MarkStack.h:
-        (JSC::MarkStack::MarkStack):
-
-2010-12-08  Chris Marrin  <cmarrin@apple.com>
-
-        Reviewed by Simon Fraser.
-
-        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
-        https://bugs.webkit.org/show_bug.cgi?id=49388
-
-        Added a WTF_PLATFORM_CA flag. Set when platform is MAC or IOS or (WINDOWS AND CG)
-        which was decided was the best way to identify a build with CoreAnimation
-
-        * wtf/Platform.h:
-
-2010-12-07  Anders Carlsson  <andersca@apple.com>
-
-        Build fix follow up build fix.
-
-        * pcre/pcre_ucp_searchfuncs.cpp:
-        (jsc_pcre_ucp_othercase):
-
-2010-12-07  Anders Carlsson  <andersca@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Fix clang++ build
-        https://bugs.webkit.org/show_bug.cgi?id=50645
-
-        Explicitly cast offset to int.
-
-        * pcre/pcre_ucp_searchfuncs.cpp:
-        (jsc_pcre_ucp_othercase):
-
-2010-12-07  Kenneth Russell  <kbr@google.com>
-
-        Reviewed by David Levin.
-
-        Fix compilation of core web audio files on Windows
-        https://bugs.webkit.org/show_bug.cgi?id=50603
-
-        Added log2 definition to MathExtras.h on Windows platform.
-
-        * wtf/MathExtras.h:
-        (log2):
-
-2010-12-07  Antti Koivisto  <antti@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        https://bugs.webkit.org/show_bug.cgi?id=50412
-        http://www.wunderground.com/US/CA/Hayward.html causes big memory spike during page loading 
-        
-        Creating a substring caused the original string be flattened if it was in the rope form. This could use
-        significant amount of memory by reducing buffer sharing between strings.
-        
-        Add a rope specific substring function that constructs the substring by reusing the rope fibers
-        instead of flattening the rope.
-        
-        No change observed in SunSpider.
-
-        * runtime/JSString.cpp:
-        (JSC::JSString::substringFromRope):
-        * runtime/JSString.h:
-        (JSC::jsSubstring):
-        * runtime/StringPrototype.cpp:
-        (JSC::stringProtoFuncSubstr):
-        (JSC::stringProtoFuncSubstring):
-
-2010-12-06  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Simplified some ASLR-related code in PageAllocation/Reservation
-        https://bugs.webkit.org/show_bug.cgi?id=50599
-        
-        Removed reserveAt, allocateAt, and friends, since they all existed to
-        serve one feature: ASLR for executable memory on x86_64 on Mac. Moved
-        ASLR code down into systemAllocate -- now, any time you allocate
-        executable memory on a supporting platform, the memory's location is
-        randomized.
-
-        * jit/ExecutableAllocatorFixedVMPool.cpp:
-        (JSC::FixedVMPoolAllocator::FixedVMPoolAllocator): No need for the caller
-        to randomize anything.
-
-        * wtf/PageAllocation.h:
-        (WTF::PageAllocation::systemAllocate): Removed some *At() functions, and
-        beefed up executable allocation with randomization.
-
-        * wtf/PageReservation.h:
-        (WTF::PageReservation::systemReserve): Removed some *At() functions.
-
-2010-12-06  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Maciej Stachowiak.
-
-        reserveAndCommit doesn't commit on MADVISE_FREE_REUSE systems
-        https://bugs.webkit.org/show_bug.cgi?id=50588
-        
-        * wtf/OSAllocatorPosix.cpp:
-        (WTF::OSAllocator::reserve):
-        (WTF::OSAllocator::reserveAndCommit):
-        (WTF::OSAllocator::commit): Tightened up some comments. Changed
-        reserveAndCommit to actually commit on MADVISE_FREE_REUSE systems.
-
-2010-12-06  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Andreas Kling.
-
-        [WINCE] Add build system
-        https://bugs.webkit.org/show_bug.cgi?id=50522
-
-        * CMakeListsWinCE.txt: Added.
-        * shell/CMakeListsWinCE.txt: Added.
-        * wtf/CMakeListsWinCE.txt: Added.
-
-2010-12-06  John Tantalo  <john.tantalo@gmail.com>
-
-        Reviewed by Geoffrey Garen.
-
-        jsc does not ignore shebang
-        https://bugs.webkit.org/show_bug.cgi?id=49576
-
-        * jsc.cpp:
-        (fillBufferWithContentsOfFile):
-          - translate shebang into a valid JavaScript comment so the lexer ignores it
-
-2010-12-05  Adam Roben  <aroben@apple.com>
-
-        Windows production build fix
-
-        Put spaces after trailing backslashes when setting
-        %WebKitVSPropsRedirectionDir%. According to MSDN
-        <http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>:
-
-           A backslash ( \ ) followed by a newline character is interpreted as
-           a space in the command; use a backslash at the end of a line to
-           continue a command onto the next line. NMAKE interprets the
-           backslash literally if any other character, including a space or
-           tab, follows the backslash.
-
-        * JavaScriptCore.vcproj/JavaScriptCore.make:
-
-2010-12-04  Patrick Gansterer  <paroga@webkit.org>
-
-        Unreviewed, build fix after r69132.
-
-        * shell/CMakeLists.txt: Fix directory name (jsc -> shell).
-
-2010-12-04  Xan Lopez  <xlopez@igalia.com>
-
-        Reviewed by Martin Robinson.
-
-        [GTK] Drop GdkDrawable usage, it's deprecated in GTK+3.x and we can use GdkWindow
-        https://bugs.webkit.org/show_bug.cgi?id=50451
-
-        * wtf/gobject/GTypedefs.h: add GdkWindow defines.
-
-2010-12-03  Gavin Barraclough  <barraclough@apple.com>
-
-        Rubber stamped by Oliver Hunt.
-
-        Bug 50509 - set* methods on MacroAssembler are awfully named.
-
-        Methods set32 and setTest32 compare 32-bit operands, and set a 32-bit results based on the comparison.
-        set8 compares 32-bit operands, and sets an 8-bit result based on the comparison.
-        setTest8 compares 8-bit operands, and sets a 32-bit result based on the comparison.
-
-        Rename to clarify.
-
-        set32 -> set32Compare32
-        setTest32 -> set32Test32
-        set8 -> set8Compare32
-        setTest8 -> set32Test8
-
-        * assembler/MacroAssembler.h:
-        (JSC::MacroAssembler::setPtr):
-        * assembler/MacroAssemblerARM.h:
-        (JSC::MacroAssemblerARM::set32Compare32):
-        (JSC::MacroAssemblerARM::set8Compare32):
-        (JSC::MacroAssemblerARM::set32Test32):
-        (JSC::MacroAssemblerARM::set32Test8):
-        * assembler/MacroAssemblerARMv7.h:
-        (JSC::MacroAssemblerARMv7::set32Compare32):
-        (JSC::MacroAssemblerARMv7::set8Compare32):
-        (JSC::MacroAssemblerARMv7::set32Test32):
-        (JSC::MacroAssemblerARMv7::set32Test8):
-        * assembler/MacroAssemblerMIPS.h:
-        (JSC::MacroAssemblerMIPS::set8Compare32):
-        (JSC::MacroAssemblerMIPS::set32Compare32):
-        (JSC::MacroAssemblerMIPS::set32Test8):
-        (JSC::MacroAssemblerMIPS::set32Test32):
-        * assembler/MacroAssemblerX86Common.h:
-        (JSC::MacroAssemblerX86Common::set8Compare32):
-        (JSC::MacroAssemblerX86Common::set32Compare32):
-        (JSC::MacroAssemblerX86Common::set32Test8):
-        (JSC::MacroAssemblerX86Common::set32Test32):
-        * jit/JITOpcodes.cpp:
-        (JSC::JIT::emit_op_eq):
-        (JSC::JIT::emit_op_neq):
-        (JSC::JIT::compileOpStrictEq):
-        (JSC::JIT::emit_op_eq_null):
-        (JSC::JIT::emit_op_neq_null):
-        * jit/JITOpcodes32_64.cpp:
-        (JSC::JIT::emit_op_eq):
-        (JSC::JIT::emit_op_neq):
-        (JSC::JIT::compileOpStrictEq):
-        (JSC::JIT::emit_op_eq_null):
-        (JSC::JIT::emit_op_neq_null):
-
-2010-12-03  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Geoff Garen.
-
-        Incorrect logic for returning memory at the end of linking.
-        Reviewed by Geoff Garen.
-
-        At the end of linking we return any space at the end of the
-        allocated executable region that was saved due to branch
-        compaction.  This is currently by done by subtracting the
-        different from the m_freePtr in the allocation pool.  This
-        can be incorrect if your allocation was made from a new
-        page that was not selected for subsequent allocations.
-
-        This patch corrects this behaviour by verifying that the
-        memory being returned actually comes from the current
-        allocation pool.
-
-        * assembler/LinkBuffer.h:
-        (JSC::LinkBuffer::linkCode):
-        * jit/ExecutableAllocator.h:
-        (JSC::ExecutablePool::tryShrink):
-
-2010-12-03  Michael Saboff  <msaboff@apple.com>
-
-        Reviewed by Gavin Barraclough
-
-        Changes to significantly reduce branches to branches in JIT'ed
-        parentheses backtrack processing.  The changes include the following:
-        - Taking the backtracking processing out of line and adding it as
-          code at the end of the JIT'ed routine.
-        - Allow backtracks to be direct via an indirect branch for an address
-          pushed onto the stack.  If the use of an indirect branch is from a
-          conditional jump, then we emit a trampoline at the end of the 
-          routine.
-        - Propogate backtracks instead of adding trampolines.  Backtracks are
-          propogated to where they are used.  This change also eliminated 
-          trampoline branch code that aren't used.
-        - Added global expression state to keep track of parentheses tail
-          code and indirect branches.
-        Other changes made to support these changes.
-        - Split invertOrCapture flag on Patterns to two separate flags.  Added
-          getters for these flags.  Rippled these changes to both the JIT 
-          and interpreter code.
-        - Split BacktrackDestination out off TermGenerationState struct.
-          This is done to hold references to a backtrack for later code
-          generation.
-        https://bugs.webkit.org/show_bug.cgi?id=50295
-
-        * assembler/ARMAssembler.h:
-        (JSC::ARMAssembler::JmpDst::isSet):
-        * assembler/ARMv7Assembler.h:
-        (JSC::ARMv7Assembler::JmpDst::isSet):
-        * assembler/AbstractMacroAssembler.h:
-        (JSC::AbstractMacroAssembler::Label::isSet):
-        (JSC::AbstractMacroAssembler::DataLabelPtr::isUsed):
-        (JSC::AbstractMacroAssembler::DataLabelPtr::used):
-        (JSC::AbstractMacroAssembler::JumpList::clear):
-        * assembler/MIPSAssembler.h:
-        (JSC::MIPSAssembler::JmpDst::isSet):
-        * assembler/X86Assembler.h:
-        (JSC::X86Assembler::JmpDst::isSet):
-        * yarr/RegexCompiler.cpp:
-        (JSC::Yarr::RegexPatternConstructor::atomParenthesesSubpatternBegin):
-        (JSC::Yarr::RegexPatternConstructor::atomParentheticalAssertionBegin):
-        (JSC::Yarr::RegexPatternConstructor::atomBackReference):
-        (JSC::Yarr::RegexPatternConstructor::setupAlternativeBeginTerms):
-        * yarr/RegexInterpreter.cpp:
-        (JSC::Yarr::ByteCompiler::atomParenthesesOnceBegin):
-        (JSC::Yarr::ByteCompiler::atomParenthesesTerminalBegin):
-        (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin):
-        (JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin):
-        (JSC::Yarr::ByteCompiler::atomParentheticalAssertionEnd):
-        (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd):
-        (JSC::Yarr::ByteCompiler::atomParenthesesOnceEnd):
-        (JSC::Yarr::ByteCompiler::atomParenthesesTerminalEnd):
-        (JSC::Yarr::ByteCompiler::emitDisjunction):
-        * yarr/RegexInterpreter.h:
-        (JSC::Yarr::ByteTerm::ByteTerm):
-        (JSC::Yarr::ByteTerm::BackReference):
-        (JSC::Yarr::ByteTerm::invert):
-        (JSC::Yarr::ByteTerm::capture):
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::RegexGenerator::IndirectJumpEntry::IndirectJumpEntry):
-        (JSC::Yarr::RegexGenerator::IndirectJumpEntry::addJump):
-        (JSC::Yarr::RegexGenerator::GenerationState::GenerationState):
-        (JSC::Yarr::RegexGenerator::GenerationState::addIndirectJumpEntry):
-        (JSC::Yarr::RegexGenerator::GenerationState::emitIndirectJumpTable):
-        (JSC::Yarr::RegexGenerator::GenerationState::addParenthesesTail):
-        (JSC::Yarr::RegexGenerator::GenerationState::emitParenthesesTail):
-        (JSC::Yarr::RegexGenerator::GenerationState::addJumpToNextInteration):
-        (JSC::Yarr::RegexGenerator::GenerationState::addJumpsToNextInteration):
-        (JSC::Yarr::RegexGenerator::GenerationState::addDataLabelToNextIteration):
-        (JSC::Yarr::RegexGenerator::GenerationState::linkToNextIteration):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::BacktrackDestination):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::clear):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::clearDataLabel):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::haveDestination):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::isStackOffset):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::isLabel):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::isJumpList):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::haveDataLabel):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::copyTarget):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::copyTo):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::addBacktrackJump):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::setStackOffset):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::setLabel):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::setNextBacktrackLabel):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::setBacktrackToLabel):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::setBacktrackJumpList):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::setBacktrackSourceLabel):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::setDataLabel):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::setSubDataLabelPtr):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::linkToNextBacktrack):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::getStackOffset):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::getLabel):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::getBacktrackJumps):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::getDataLabel):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::jumpToBacktrack):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::linkDataLabelToHereIfExists):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::plantJumpToBacktrackIfExists):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::linkAlternativeBacktracks):
-        (JSC::Yarr::RegexGenerator::BacktrackDestination::linkAlternativeBacktracksTo):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::TermGenerationState):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::resetAlternative):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::isLastAlternative):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::clearBacktrack):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::jumpToBacktrack):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::plantJumpToBacktrackIfExists):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::linkDataLabelToBacktrackIfExists):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::addBacktrackJump):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::setDataLabelPtr):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::setBackTrackStackOffset):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::setBacktrackLabel):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::linkAlternativeBacktracks):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::linkAlternativeBacktracksTo):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::setBacktrackLink):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::chainBacktracks):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::chainBacktrackJumps):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::getBacktrackDestination):
-        (JSC::Yarr::RegexGenerator::TermGenerationState::propagateBacktrackingFrom):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::ParenthesesTail):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::processBacktracks):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::setNextIteration):
-        (JSC::Yarr::RegexGenerator::ParenthesesTail::generateCode):
-        (JSC::Yarr::RegexGenerator::generateAssertionBOL):
-        (JSC::Yarr::RegexGenerator::generateAssertionEOL):
-        (JSC::Yarr::RegexGenerator::generateAssertionWordBoundary):
-        (JSC::Yarr::RegexGenerator::generatePatternCharacterSingle):
-        (JSC::Yarr::RegexGenerator::generatePatternCharacterPair):
-        (JSC::Yarr::RegexGenerator::generatePatternCharacterFixed):
-        (JSC::Yarr::RegexGenerator::generatePatternCharacterGreedy):
-        (JSC::Yarr::RegexGenerator::generatePatternCharacterNonGreedy):
-        (JSC::Yarr::RegexGenerator::generateCharacterClassSingle):
-        (JSC::Yarr::RegexGenerator::generateCharacterClassFixed):
-        (JSC::Yarr::RegexGenerator::generateCharacterClassGreedy):
-        (JSC::Yarr::RegexGenerator::generateCharacterClassNonGreedy):
-        (JSC::Yarr::RegexGenerator::generateParenthesesDisjunction):
-        (JSC::Yarr::RegexGenerator::generateParenthesesSingle):
-        (JSC::Yarr::RegexGenerator::generateParenthesesGreedyNoBacktrack):
-        (JSC::Yarr::RegexGenerator::generateParentheticalAssertion):
-        (JSC::Yarr::RegexGenerator::generateDisjunction):
-        (JSC::Yarr::RegexGenerator::compile):
-        * yarr/RegexPattern.h:
-        (JSC::Yarr::PatternTerm::PatternTerm):
-        (JSC::Yarr::PatternTerm::invert):
-        (JSC::Yarr::PatternTerm::capture):
-
-2010-12-03  Chris Rogers  <crogers@google.com>
-
-        Reviewed by Kenneth Russell.
-
-        First steps to adding web audio files to build systems
-        https://bugs.webkit.org/show_bug.cgi?id=49952
-
-        * wtf/Complex.h:
-
-2010-12-03  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Andreas Kling.
-
-        Move StringWx.cpp into wtf directory
-        https://bugs.webkit.org/show_bug.cgi?id=50060
-
-        * wtf/wx/StringWx.cpp: Renamed from WebCore/platform/text/wx/StringWx.cpp.
-        (WTF::String::String):
-
-2010-12-03  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Andreas Kling.
-
-        Move StringBrew.cpp into wtf directory
-        https://bugs.webkit.org/show_bug.cgi?id=50058
-
-        * wtf/brew/StringBrew.cpp: Renamed from WebCore/platform/text/brew/StringBrew.cpp.
-        (WTF::String::String):
-
-2010-12-03  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Andreas Kling.
-
-        Move StringHaiku.cpp into wtf directory
-        https://bugs.webkit.org/show_bug.cgi?id=50057
-
-        * wtf/haiku/StringHaiku.cpp: Renamed from WebCore/platform/text/haiku/StringHaiku.cpp.
-        (WTF::String::String):
-        (WTF::String::operator BString):
-
-2010-12-02  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix Windows build.
-
-        * runtime/GCActivityCallback.cpp:
-        (JSC::DefaultGCActivityCallback::synchronize): Added a non-CF implementation.
-
-2010-12-02  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Fixed <rdar://problem/8310571> CrashTracer: 60 crashes in Photo Booth at
-        com.apple.JavaScriptCore: JSC::Heap::markRoots + 746
-        
-        * API/APIShims.h:
-        (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): Call our new
-        synchronize() function.
-
-        * runtime/Collector.cpp:
-        (JSC::Heap::activityCallback):
-        * runtime/Collector.h: Added an activityCallback() accessor, for the
-        call above.
-
-        * runtime/GCActivityCallback.h:
-        (JSC::GCActivityCallback::synchronize):
-        * runtime/GCActivityCallbackCF.cpp:
-        (JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
-        (JSC::DefaultGCActivityCallback::~DefaultGCActivityCallback):
-        (JSC::DefaultGCActivityCallback::operator()):
-        (JSC::DefaultGCActivityCallback::synchronize): Track the run loop we're
-        scheduled in. If we begin/resume execution within a new run loop, reschedule
-        on it. This prevents a crash when using a lockless context group on
-        multiple threads -- the crash would happen if the GC timer scheduled on
-        thread A, then you continued execution on thread B, then the thread A
-        timer fired.
-
-2010-12-02  Darin Adler  <darin@apple.com>
-
-        * wtf/ASCIICType.h: Fix wrong type from last check-in.
-
-2010-12-02  Darin Adler  <darin@apple.com>
-
-        Try to fix certain builds (Qt Windows).
-
-        * wtf/ASCIICType.h: Added an overload for unsigned because in obsolete
-        versions of ICU, UChar32 can be a typedef for unsigned. Adding this
-        overload should make us compatible with these old ICUs.
-
-2010-12-02  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        Add AtomicString::fromUTF8
-        https://bugs.webkit.org/show_bug.cgi?id=45594
-
-        Unicode::calculateStringHashFromUTF8 creates a StringHash out of UTF8 input data and
-        calculates the required length for the UTF16 conversation in one step.
-        This is then used in a specialized translator for the string table of AtomicString.
-
-        * JavaScriptCore.exp:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * wtf/text/AtomicString.cpp:
-        (WTF::CStringTranslator::equal):
-        (WTF::HashAndUTF8CharactersTranslator::hash):
-        (WTF::HashAndUTF8CharactersTranslator::equal):
-        (WTF::HashAndUTF8CharactersTranslator::translate):
-        (WTF::AtomicString::add):
-        (WTF::AtomicString::addSlowCase):
-        (WTF::AtomicString::find):
-        (WTF::AtomicString::fromUTF8):
-        * wtf/text/AtomicString.h:
-        * wtf/text/StringImpl.h:
-        * wtf/text/WTFString.h:
-        * wtf/unicode/UTF8.cpp:
-        (WTF::Unicode::readUTF8Sequence):
-        (WTF::Unicode::convertUTF8ToUTF16):
-        (WTF::Unicode::calculateStringHashFromUTF8):
-        (WTF::Unicode::equalUTF16WithUTF8):
-        * wtf/unicode/UTF8.h:
-
-2010-12-02  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Added a little hardening to OSAllocator.
-
-        * wtf/OSAllocatorPosix.cpp:
-        (WTF::OSAllocator::release):
-        * wtf/OSAllocatorWin.cpp:
-        (WTF::OSAllocator::reserve):
-        (WTF::OSAllocator::reserveAndCommit):
-        (WTF::OSAllocator::commit):
-        (WTF::OSAllocator::decommit):
-        (WTF::OSAllocator::release): CRASH() if the OS's virtual memory system
-        reports an error.
-
-2010-12-02  Csaba Osztrogonác  <ossy@webkit.org>
-
-        Reviewed by Geoffrey Garen.
-
-        [Qt] Make platform managing of OSAllocator better than r73106
-        https://bugs.webkit.org/show_bug.cgi?id=50385
-
-        * wtf/OSAllocatorPosix.cpp: Remove platform specific guard.
-        * wtf/OSAllocatorSymbian.cpp: Remove platform specific guard.
-        * wtf/OSAllocatorWin.cpp: Remove platform specific guard.
-        * wtf/wtf.pri: Add the correct platform specific source file instead of all of them.
-
-2010-12-02  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Andreas Kling.
-
-        [WINCE] Use GetTickCount() for srand()
-        https://bugs.webkit.org/show_bug.cgi?id=50338
-
-        time() is not a native function on WinCE, so use GetTickCount() instead.
-
-        * wtf/RandomNumberSeed.h:
-        (WTF::initializeRandomNumberGenerator):
-
-2010-12-02  Norbert Leser  <norbert.leser@nokia.com>
-
-        Reviewed by Laszlo Gombos.
-
-        [Qt] [Symbian] Reintroduce compiler optimizations for JSC
-        https://bugs.webkit.org/show_bug.cgi?id=50270
-
-        Add compiler optimization (symbian ARM target) which was lost after split from WebCore.
-        Tested via Sunspider and V8 - both of which show significant performance improvement.
-
-        * JavaScriptCore.pro:
-
-2010-12-02  Peter Varga  <pvarga@inf.u-szeged.hu>
-
-        Reviewed by Gavin Barraclough.
-
-        Move regex parsing and fallback handling to runtime/RegExp.cpp
-        https://bugs.webkit.org/show_bug.cgi?id=50015
-
-        * runtime/RegExp.cpp:
-        (JSC::RegExp::RegExp):
-        (JSC::RegExp::create):
-        (JSC::RegExp::compile):
-        (JSC::RegExp::match):
-        (JSC::RegExp::printTraceData):
-        * runtime/RegExp.h:
-        (JSC::RegExp::pattern):
-        * yarr/RegexInterpreter.cpp:
-        * yarr/RegexInterpreter.h:
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::RegexGenerator::compile):
-        (JSC::Yarr::jitCompileRegex):
-        * yarr/RegexJIT.h:
-        (JSC::Yarr::RegexCodeBlock::RegexCodeBlock):
-        (JSC::Yarr::RegexCodeBlock::setFallBack):
-        (JSC::Yarr::RegexCodeBlock::isFallBack):
-        (JSC::Yarr::executeRegex):
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix the GTK build.
-
-        * GNUmakefile.am: Use a full path to OSAllocator*.cpp.
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix the EFL Linux build.
-
-        * CMakeListsEfl.txt: Added OSAllocator to the project.
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix the Qt build: Include all OS files for Qt's sake, and then
-        use #ifdefs in the files to exclude things based on OS.
-        
-        This is a pretty bad way to manage platforms -- hopefully we can
-        fix the Qt build system and move away from this in the future.
-
-        * wtf/OSAllocatorPosix.cpp:
-        * wtf/OSAllocatorSymbian.cpp:
-        * wtf/OSAllocatorWin.cpp:
-        * wtf/wtf.pri:
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix the Chromium build.
-        
-        * JavaScriptCore.gypi: This is a Windows build file, so use OSAllocatorWin.cpp.
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix the GTK build.
-
-        * GNUmakefile.am: Added OSAllocator to another project.
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix the GTK Linux build.
-
-        * JavaScriptCore.gypi: Added OSAllocator to the project.
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix the Qt Linux build.
-
-        * wtf/OSAllocatorPosix.cpp: Use the right errno.h.
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix Windows build: export some more symbols.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Try to fix the Qt Linux build.
-
-        * wtf/wtf.pri: Use the POSIX OSAllocator for Qt Linux.
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Windows build fix: commit doesn't have a return value.
-
-        * wtf/OSAllocatorWin.cpp:
-        (WTF::OSAllocator::commit):
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Build fix: Export some symbols.
-
-        * JavaScriptCore.exp:
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Build fix.
-
-        * JavaScriptCore.xcodeproj/project.pbxproj: Export OSAllocator.h as private
-        so other projects can see it.
-
-        * wtf/OSAllocatorPosix.cpp: #include UnusedParam.h for UNUSED_PARAM.
-
-2010-12-01  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Baby step toward a cross-platform virtual memory abstraction: created
-        an all-static OSAllocator class and changed MarkStack to use it.
-
-        * JavaScriptCore.exp: These functions are inlined now.
-
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj: Added OSAllocatorWin.cpp.
-
-        * JavaScriptCore.xcodeproj/project.pbxproj: Added OSAllocatorPosix.cpp.
-
-        * runtime/MarkStack.h:
-        (JSC::MarkStack::allocateStack):
-        (JSC::MarkStack::releaseStack): Use OSAllocator instead of rolling our
-        own platform-specific code.
-
-        * runtime/MarkStackNone.cpp: Removed. Nothing used this.
-
-        * runtime/MarkStackPosix.cpp: 
-        * runtime/MarkStackSymbian.cpp:
-        * runtime/MarkStackWin.cpp: Removed custom platform-specific code, since
-        we use the OSAllocator abstraction now.
-
-        * wtf/OSAllocator.h: Added.
-        * wtf/OSAllocatorPosix.cpp: Added.
-        (WTF::OSAllocator::reserve):
-        (WTF::OSAllocator::reserveAndCommit):
-        (WTF::OSAllocator::commit):
-        (WTF::OSAllocator::decommit):
-        (WTF::OSAllocator::release):
-        * wtf/OSAllocatorSymbian.cpp: Added.
-        (WTF::OSAllocator::reserve):
-        (WTF::OSAllocator::reserveAndCommit):
-        (WTF::OSAllocator::commit):
-        (WTF::OSAllocator::decommit):
-        (WTF::OSAllocator::release):
-        * wtf/OSAllocatorWin.cpp: Added.
-        (WTF::OSAllocator::reserve):
-        (WTF::OSAllocator::reserveAndCommit):
-        (WTF::OSAllocator::commit):
-        (WTF::OSAllocator::decommit):
-        (WTF::OSAllocator::release): The new OSAllocator abstraction.
-
-        * wtf/wtf.pri: Added OSAllocatorSymbian.cpp.
-
-2010-12-01  Steve Falkenburg  <sfalken@apple.com>
-
-        Reviewed by Adam Roben.
-
-        WinCairo build should not use link-time code generation (LTCG)
-        https://bugs.webkit.org/show_bug.cgi?id=50353
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.vcproj/jsc/jsc.vcproj:
-        * JavaScriptCore.vcproj/testapi/testapi.vcproj:
-
-010-12-01  Steve Falkenburg  <sfalken@apple.com>
-
-        Reviewed by Adam Roben.
-
-        vcproj changes can't be applied cleanly by the Windows EWS bot
-        https://bugs.webkit.org/show_bug.cgi?id=50328
-
-        * JavaScriptCore.vcproj/JavaScriptCore.sln: Modified property svn:eol-style.
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Modified property svn:eol-style.
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCF.vsprops: Added property svn:eol-style.
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCFLite.vsprops: Added property svn:eol-style.
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Added property svn:eol-style.
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj: Modified property svn:eol-style.
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedCommon.vsprops: Added property svn:eol-style.
-        * JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln: Modified property svn:eol-style.
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj: Modified property svn:eol-style.
-        * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops: Added property svn:eol-style.
-        * JavaScriptCore.vcproj/jsc/jsc.vcproj: Modified property svn:eol-style.
-        * JavaScriptCore.vcproj/jsc/jscCommon.vsprops: Added property svn:eol-style.
-        * JavaScriptCore.vcproj/testapi/testapi.vcproj: Modified property svn:eol-style.
-        * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops: Added property svn:eol-style.
-
-2010-12-01  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Bug 50298 - /()()()()()()()()()(?:(\10a|b)(X|Y))+/.exec("bXXaYYaY") ASSERTs
-
-        For unmatched subpattens we previously used to set the subpattern end to -1,
-        but now we only set the start value. E.g. consider the following:
-            /a(b)?c/.exec("ac");
-        Previously we would generate an internal results array of:
-            [ 0, 2, -1, -1 ]
-        Since fairly recently we have generated results of:
-            [ 0, 2, -1, ??? ]
-        (With the end index of the subpattern uninitialized).
-
-        Update these ASSERTs to account for this.
-
-        Also, when stripping out self-referencing backreferences, (e.g. /(\1)/) we
-        were checking the wrong property on the pattern term. We should have been
-        looking at term.parentheses.subpatternId, but instead were checking
-        term.subpatternId. The latter is actually only the subpatternId for
-        back reference terms. Rename this to backReferenceSubpatternId.
-
-        * yarr/RegexInterpreter.cpp:
-        (JSC::Yarr::Interpreter::matchBackReference):
-        (JSC::Yarr::Interpreter::backtrackBackReference):
-
-2010-11-30  Gavin Barraclough  <barraclough@apple.com>
-
-        Rubber stamped by Sam Weinig.
-
-        Bug 50297 - \s in YARR should match BOMs.
-
-        From section 15.10.2.12 CharacterClassEscape contains:
-
-        The production CharacterClassEscape :: s evaluates by returning the set of characters containing the
-        characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions.
-
-        Table 2 in section 7.2 contains:
-
-        \uFEFF Byte Order Mark <BOM>
-
-        * create_regex_tables:
-            Add BOM to spaces table.
-
-2010-11-30  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Fixed review comments following bug #48101.
-        Mostly typos, plus gave quantifyInfinite a symbolic name.
-
-        * yarr/RegexCompiler.cpp:
-        (JSC::Yarr::RegexPatternConstructor::quantifyAtom):
-        (JSC::Yarr::RegexPatternConstructor::checkForTerminalParentheses):
-        * yarr/RegexInterpreter.cpp:
-        (JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
-        (JSC::Yarr::Interpreter::matchParenthesesTerminalBegin):
-        (JSC::Yarr::Interpreter::backtrackParenthesesTerminalBegin):
-        (JSC::Yarr::Interpreter::backtrackParenthesesTerminalEnd):
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::RegexGenerator::generatePatternCharacterGreedy):
-        (JSC::Yarr::RegexGenerator::generatePatternCharacterNonGreedy):
-        (JSC::Yarr::RegexGenerator::generateCharacterClassGreedy):
-        * yarr/RegexParser.h:
-        (JSC::Yarr::Parser::parseTokens):
-        (JSC::Yarr::parse):
-
-2010-11-30  Steve Falkenburg  <sfalken@apple.com>
-
-        Reviewed by Darin Adler.
-
-        WTF project missing build-stopping code from its pre-build event
-        https://bugs.webkit.org/show_bug.cgi?id=50281
-
-        * JavaScriptCore.vcproj/WTF/WTFPreBuild.cmd:
-
-2010-11-30  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Darin Adler.
-
-        Cleanup UTF8.cpp
-        https://bugs.webkit.org/show_bug.cgi?id=49581
-
-        Use macros and functions instead of range values directly.
-
-        * wtf/unicode/UTF8.cpp:
-        (WTF::Unicode::inlineUTF8SequenceLength):
-        (WTF::Unicode::UTF8SequenceLength):
-        (WTF::Unicode::convertUTF16ToUTF8):
-        (WTF::Unicode::readUTF8Sequence):
-        (WTF::Unicode::convertUTF8ToUTF16):
-        * wtf/unicode/UnicodeMacrosFromICU.h: Added U_IS_SUPPLEMENTARY macro.
-
-2010-11-30  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Fixed a crash seen when using a PageAllocation to store itself.
-
-        * wtf/PageAllocation.h:
-        (WTF::PageAllocation::systemDeallocate): Zero out m_base before unmapping
-        it, in case unmapping m_base unmaps the PageAllocation.
-
-        * wtf/BumpPointerAllocator.h:
-        (WTF::BumpPointerPool::destroy): Now this work-around isn't needed!
-
-2010-11-30  Xan Lopez  <xlopez@igalia.com>
-
-        Reviewed by Darin Adler.
-
-        m_hasNonEnumerableProperties is never initialized in Structure
-        https://bugs.webkit.org/show_bug.cgi?id=50266
-
-        * runtime/Structure.cpp:
-        (JSC::Structure::Structure): initialize member variable.
-
-2010-11-29  Steve Falkenburg  <sfalken@apple.com>
-
-        Windows build fix (part 1). Use correct environment variable syntax in cmd files.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePostBuild.cmd:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePreBuild.cmd:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePreLink.cmd:
-        * JavaScriptCore.vcproj/WTF/WTFPostBuild.cmd:
-        * JavaScriptCore.vcproj/jsc/jscPostBuild.cmd:
-        * JavaScriptCore.vcproj/jsc/jscPreBuild.cmd:
-        * JavaScriptCore.vcproj/jsc/jscPreLink.cmd:
-        * JavaScriptCore.vcproj/testapi/testapiPostBuild.cmd:
-        * JavaScriptCore.vcproj/testapi/testapiPreBuild.cmd:
-        * JavaScriptCore.vcproj/testapi/testapiPreLink.cmd:
-
-2010-11-29  Dan Bernstein  <mitz@apple.com>
-
-        Reviewed by Darin Adler.
-
-        WTF support for <rdar://problem/8650085> adding word-prefix search options to the text search API.
-        https://bugs.webkit.org/show_bug.cgi?id=50038
-
-        * wtf/unicode/UnicodeMacrosFromICU.h: Copied additional macros from icu/unicode/utf16.h.
-
-2010-11-29  Steve Falkenburg  <sfalken@apple.com>
-
-        Reviewed by Darin Adler.
-
-        JavaScriptCore projects on Windows should use cmd files for build events
-        https://bugs.webkit.org/show_bug.cgi?id=50193
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePostBuild.cmd: Added.
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePreBuild.cmd: Added.
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePreLink.cmd: Added.
-        * JavaScriptCore.vcproj/WTF/WTFPostBuild.cmd: Added property svn:eol-style.
-        * JavaScriptCore.vcproj/WTF/WTFPreBuild.cmd: Added property svn:eol-style.
-        * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
-        * JavaScriptCore.vcproj/jsc/jscPostBuild.cmd: Added.
-        * JavaScriptCore.vcproj/jsc/jscPreBuild.cmd: Added.
-        * JavaScriptCore.vcproj/jsc/jscPreLink.cmd: Added.
-        * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
-        * JavaScriptCore.vcproj/testapi/testapiPostBuild.cmd: Added.
-        * JavaScriptCore.vcproj/testapi/testapiPreBuild.cmd: Added.
-        * JavaScriptCore.vcproj/testapi/testapiPreLink.cmd: Added.
-
-2010-11-29  Dai Mikurube  <dmikurube@google.com>
-
-        Reviewed by Kent Tamura.
-
-        when empty, clicking "down" on outer-spin-button returns "max value"
-        https://bugs.webkit.org/show_bug.cgi?id=45491
-
-        It is required to calculate UTC/DST offsets to retrieve the current local milliseconds for
-        date/time type inputs. WTF::currentTimeMS() returns a UTC time, and WTF::getLocalTime()
-        returns a struct tm, not milliseconds.
-
-        Calculating milliseconds from a struct tm is not simple since timegm() cannot be used in all
-        environments. This calculation is already done in calculateUTCOffset(), and complicated.
-        Duplicating this complicated calculation is unreasonable because of maintainability.
-        To achieve this without duplication, we must call calculate{UTC|DST}Offset in some way.
-
-        * JavaScriptCore.exp:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
-        * wtf/DateMath.cpp: Changed calculateUTCOffset() and calculateDSTOffset() to external functions.
-        (WTF::calculateUTCOffset):
-        (WTF::calculateDSTOffset):
-        * wtf/DateMath.h:
-
-2010-11-29  Chris Rogers  <crogers@google.com>
-
-        Reviewed by Kenneth Russell.
-
-        Switch web audio code to use FloatPoint3D instead of Vector3
-        https://bugs.webkit.org/show_bug.cgi?id=50186
-
-        * wtf/Vector3.h: Removed.
-
-2010-11-29  Steve Falkenburg  <sfalken@apple.com>
-
-        Reviewed by Adam Roben.
-
-        Add a mechanism for Windows pre-build/pre-link/post-build events to be separated into individual cmd files
-        https://bugs.webkit.org/show_bug.cgi?id=49858
-
-        We're migrating our prebuild/prelink/postbuild steps out of vcproj and vsprops files:
-        - To simplify editing (editing vsprops build steps is confusing).
-        - For more readable diffs.
-
-        * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
-        * JavaScriptCore.vcproj/WTF/WTFPostBuild.cmd: Added.
-        * JavaScriptCore.vcproj/WTF/WTFPreBuild.cmd: Added.
-
-2010-11-29  Geoffrey Garen  <ggaren@apple.com>
-
-        Reviewed by Gavin Barraclough.
-
-        Improved accuracy of command-line SunSpider.
-
-        * jsc.cpp:
-        (functionRun): Changed the "run" function to run a given test in
-        its own global object. Previously, all tests ran in the same global
-        object, which created name conflicts, and made globals from previous
-        tests artificially survive into later tests.
-        
-        Also changed "run" to return the elapsed milliseconds when running a
-        given test, for slightly more accurate numbers.
-
-        (functionCheckSyntax): Ditto on returning elapsed milliseconds.
-
-2010-11-29  Darin Adler  <darin@apple.com>
-
-        Reviewed by Andreas Kling.
-
-        Remove a couple unneeded overflow checks
-        https://bugs.webkit.org/show_bug.cgi?id=49816
-
-        * wtf/text/CString.cpp:
-        (WTF::CString::init): Use an ASSERT instead of
-        an overflow check with CRASH.
-
-2010-11-29  Adam Roben  <aroben@apple.com>
-
-        Robustify react-to-vsprops-changes.py against changes to its location
-        or the location of the .vsprops files
-
-        Suggested by John Sullivan.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/react-to-vsprops-changes.py:
-        Removed file_modification_times.
-        (main): Use glob.glob to find the .vsprops files and assert that we found some.
-
-2010-11-29  Adam Roben  <aroben@apple.com>
-
-        Touch wtf/Platform.h whenever any .vsprops file changes
-
-        This will cause all files to be recompiled, which will make changes to
-        preprocessor macros (e.g., ENABLE_*) actually take effect.
-
-        Fixes <http://webkit.org/b/50167> Windows build fails when ENABLE_*
-        macros are changed (because not enough files are rebuilt)
-
-        Reviewed by John Sullivan.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/react-to-vsprops-changes.py:
-        (main): Touch wtf/Platform.h if it's older than any .vsprops file. Also
-        added some comments and logging to make it clearer what the script is
-        doing and why.
-
-2010-11-29  Adam Roben  <aroben@apple.com>
-
-        Update react-to-vsprops-changes.py after r72555
-
-        .vsprops files are no longer accessed relative to $WebKitLibrariesDir.
-
-        Fixes <http://webkit.org/b/50166> REGRESSION (r72555):
-        react-to-vsprops-changes.py no longer works for people with a
-        non-default $WebKitLibrariesDir
-
-        Reviewed by John Sullivan.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/react-to-vsprops-changes.py:
-        (main): Always look in WebKitLibraries/win for .vsprops files, not in
-        $WebKitLibrariesDir.
-
-2010-11-28  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Bug 48100 - YARR allows what seems like a bogus character-class range
-
-        Per ECMA-262 character classes containing character ranges containing
-        character classes are invalid, eg:
-            /[\d-x]/
-            /[x-\d]/
-            /[\d-\d]/
-        These should throw a syntax error.
-
-        * yarr/RegexParser.h:
-
-2010-11-27  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Sam Weinig.
-
-        Bug 48101 - Yarr gives different results for /(?:a*?){2,}/
-
-        The test cases in the linked mozilla bug demonstrate a couple of
-        problems in subpattern matching. These bugs lie in the optimized
-        cases - for matching parentheses with a quantity count of 1, and
-        for matching greedy quantified parentheses at the end of a regex
-        (which do not backtrack).
-
-        In both of these cases we are failing to correctly handle empty
-        matches. In the case of parentheses-single matches (quantity count
-        one) we are failing to test for empty matches at all. In the case
-        of terminal subpattern matches we do currently check, however there
-        is a subtler bug here too. In the case of an empty match we will
-        presently immediately fall through to the next alternative (or
-        complete the regex match), whereas upon a failed match we should
-        be backtracking into the failing alternative, to give it a chance
-        to match further (e.g. consider /a??b?|a/.exec("ab") - upon first
-        attempting to match the first alternative this will match the empty
-        string - since a?? is non-greedy, however rather than moving on to
-        the second alternative we should be re-matching the first one, at
-        which point the non-greedy a?? will match, and as such the result
-        should be "ab", not "a").
-
-        Terminal subpattern matching contains a second bug, too. The frame
-        location values in the subpattern should be being allocated with
-        the outer disjunction's frame (as we do for the parentheses-single
-        optimization). Consider the following three regexes:
-            /a*(?:b*)*c*/
-            /a*(?:b*)c*/
-            /a*(?:b*)*/
-        Considering only the frame location required by the atoms a,b, and
-        c, (ignoring space associated with the nested subpattern) the first
-        regex (a normal subpattern match) requires a frame size of 2 for
-        the outer disjunction, (to backtrack terms a & c), with each
-        iteration of the subpattern requiring a frame of size 1 (in order
-        to backtrack b). In the case of the second regex (where the
-        parentheses-single optimization will kick in) the outer frame must
-        be set up with a frame size of 3, since the outer frame will also
-        be used when running the nested subpattern. We will currently only
-        allocate a farme of size 1 for the outer disjuntion (to contain a),
-        howver the frame size should be 2 (since the subpattern will be
-        evaluated in the outer frame). In addition to failing to allocate
-        frame space the frame offsets are also presently invalid - in the
-        case of the last regex b's frame location will be set assuming it
-        to be the first term in the frame, whereas in this case b lies
-        after the term a, and should be taking a separate frame location.
-
-        In order to correctly allocate the frame for terminal subpattern
-        matches we must move this optimization back up from the JIT into
-        the compiler (and thus interpreter too), since this is where the
-        frame allocation takes place.
-
-        * yarr/RegexCompiler.cpp:
-        (JSC::Yarr::RegexPatternConstructor::setupAlternativeOffsets):
-        (JSC::Yarr::RegexPatternConstructor::checkForTerminalParentheses):
-        (JSC::Yarr::compileRegex):
-        * yarr/RegexInterpreter.cpp:
-        (JSC::Yarr::Interpreter::matchParenthesesOnceBegin):
-        (JSC::Yarr::Interpreter::matchParenthesesOnceEnd):
-        (JSC::Yarr::Interpreter::backtrackParenthesesOnceBegin):
-        (JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
-        (JSC::Yarr::Interpreter::matchParenthesesTerminalBegin):
-        (JSC::Yarr::Interpreter::matchParenthesesTerminalEnd):
-        (JSC::Yarr::Interpreter::backtrackParenthesesTerminalBegin):
-        (JSC::Yarr::Interpreter::backtrackParenthesesTerminalEnd):
-        (JSC::Yarr::Interpreter::matchDisjunction):
-        (JSC::Yarr::ByteCompiler::atomParenthesesOnceBegin):
-        (JSC::Yarr::ByteCompiler::atomParenthesesTerminalBegin):
-        (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin):
-        (JSC::Yarr::ByteCompiler::atomParentheticalAssertionEnd):
-        (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd):
-        (JSC::Yarr::ByteCompiler::atomParenthesesOnceEnd):
-        (JSC::Yarr::ByteCompiler::atomParenthesesTerminalEnd):
-        (JSC::Yarr::ByteCompiler::emitDisjunction):
-        * yarr/RegexInterpreter.h:
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::RegexGenerator::generateParenthesesSingle):
-        (JSC::Yarr::RegexGenerator::generateParenthesesGreedyNoBacktrack):
-        (JSC::Yarr::RegexGenerator::generateTerm):
-        * yarr/RegexPattern.h:
-        (JSC::Yarr::PatternTerm::PatternTerm):
-
-2010-11-24  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Csaba Osztrogonác.
-
-        Remove Bakefile build system files
-        https://bugs.webkit.org/show_bug.cgi?id=49983
-
-        r53757 only removed the content, but not the files.
-        This patch removes that empty files.
-
-        * JavaScriptCoreSources.bkl: Removed.
-        * jscore.bkl: Removed.
-
-2010-11-24  Gabor Loki  <loki@webkit.org>
-
-        Reviewed by Csaba Osztrogonác.
-
-        Merge the usage of jumps and calls at ARM-JIT
-        https://bugs.webkit.org/show_bug.cgi?id=50008
-
-        Those JmpSrc objects which represent jumps (not calls) should point to
-        after the jump instruction.
-
-        * assembler/ARMAssembler.h:
-        (JSC::ARMAssembler::blx):
-        (JSC::ARMAssembler::loadBranchTarget):
-        (JSC::ARMAssembler::getAbsoluteJumpAddress):
-        (JSC::ARMAssembler::linkJump):
-        (JSC::ARMAssembler::relinkJump):
-        (JSC::ARMAssembler::linkCall):
-        (JSC::ARMAssembler::relinkCall):
-        (JSC::ARMAssembler::getRelocatedAddress):
-        (JSC::ARMAssembler::getDifferenceBetweenLabels):
-        (JSC::ARMAssembler::getCallReturnOffset):
-        * assembler/MacroAssemblerARM.h:
-        (JSC::MacroAssemblerARM::call):
-
-2010-11-24  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        Reviewed by Xan Lopez.
-
-        [GTK] Optimize foldCase, toLower and toUpper methods in glib unicode backend
-        https://bugs.webkit.org/show_bug.cgi?id=48625
-
-        GLib methods use UTF-8 strings, so we have to convert from UTF-16 to
-        UTF-8 to perform the case operations and then convert back the result to
-        UTF-16. GLib conversion methods return a new allocated string, so we
-        have to memcpy the result into the destination buffer too. Using our
-        own methods to convert between UTF-8 and UTF-16 from wtf/unicode/UTF8.h
-        we don't need such memcpy, since they take an already allocated buffer
-        rather than returning a new one. There's another optimization for the
-        case when the destination buffer is not large enough. In that case,
-        methods should return the expected destination buffer size and are
-        called again with a new buffer. We can avoid the conversion to UTF-16 by
-        pre-calculating the required size for the destination buffer.
-
-        * wtf/unicode/glib/UnicodeGLib.cpp:
-        (WTF::Unicode::getUTF16LengthFromUTF8):
-        (WTF::Unicode::convertCase):
-        (WTF::Unicode::foldCase):
-        (WTF::Unicode::toLower):
-        (WTF::Unicode::toUpper):
-
-2010-11-23  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Sam Weinig.
-
-        Use WTF::StringHasher directly in JavaScriptCore
-        https://bugs.webkit.org/show_bug.cgi?id=49893
-
-        * profiler/CallIdentifier.h:
-        (JSC::CallIdentifier::Hash::hash):
-        * runtime/Identifier.cpp:
-        (JSC::IdentifierCStringTranslator::hash):
-        (JSC::IdentifierUCharBufferTranslator::hash):
-
-2010-11-22  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Sam Weinig.
-
-        Add WTF::FixedArray::size()
-        https://bugs.webkit.org/show_bug.cgi?id=49891
-
-        Add a method to get the size of a FixedArray.
-
-        * wtf/FixedArray.h:
-        (WTF::FixedArray::size):
-
-2010-11-22  Patrick Gansterer  <paroga@webkit.org>
-
-        Reviewed by Adam Roben.
-
-        [WINCE] Set correct preprocessor definitions
-        https://bugs.webkit.org/show_bug.cgi?id=49887
-
-        * wtf/Platform.h:
-
-2010-11-22  Adam Roben  <aroben@apple.com>
-
-        Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
-
-        Apple's Windows build allows placing header files and import libraries for WebKit's
-        dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
-        $WebKitLibrariesDir environment variable. This is both required for production builds and
-        convenient for Apple-internal developer builds. Apple's production builds also require that
-        WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
-        builds, the files are copied into that directory tree by the
-        WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
-        copying is done by
-        JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
-
-        This .vsprops copying is problematic in one very important case: when a developer updates
-        their source tree and then tries to build. Visual Studio only reads .vsprops files when a
-        project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
-        updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
-        build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
-        $WebKitLibrariesDir, but Visual Studio will not pick up the changes.  The rest of the build
-        will proceed with out-of-date .vsprops files, which will likely result in a build failure.
-
-        To fix this, we now use normal relative paths to access the .vsprops files in the source
-        tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
-        variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
-        unset, so the normal relative paths are used to read the .vsprops files out of the source
-        tree directly. In production builds, this environment variable is set to a fake directory
-        that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
-        is resolved.
-        
-        For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
-
-        $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
-
-        In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
-        files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
-        JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
-        "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
-        FeatureDefines.vsprops becomes:
-
-        $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
-
-        which resolves to:
-
-        $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
-
-        (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
-        actually exist since they are matched by an equal number of ".." path components.)
-
-        Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
-        Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
-
-        Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
-        updated
-
-        Reviewed by Dave Hyatt.
-
-        * JavaScriptCore.vcproj/JavaScriptCore.make: Set $WebKitVSPropsRedirectionDir so that
-        production builds can find the .vsprops files.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make: Stopy copying the
-        .vsprops files. It isn't needed anymore.
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.vcproj/jsc/jsc.vcproj:
-        * JavaScriptCore.vcproj/testapi/testapi.vcproj:
-        Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
-        files.
-
-2010-11-19  Peter Varga  <pvarga@inf.u-szeged.hu>
-
-        Reviewed by Gavin Barraclough.
-
-        YARR JIT should fallback to YARR Interpreter instead of PCRE.
-        https://bugs.webkit.org/show_bug.cgi?id=46719
-
-        Remove the ENABLE_YARR macro and the option of matching regular
-        expressions with PCRE from JavaScriptCore.
-
-        * runtime/JSGlobalData.h:
-        * runtime/RegExp.cpp:
-        (JSC::RegExp::compile):
-        (JSC::RegExp::match):
-        * tests/mozilla/expected.html:
-        * wtf/Platform.h:
-        * yarr/RegexCompiler.cpp:
-        * yarr/RegexCompiler.h:
-        * yarr/RegexInterpreter.cpp:
-        (JSC::Yarr::byteCompileRegex):
-        * yarr/RegexInterpreter.h:
-        * yarr/RegexJIT.cpp:
-        (JSC::Yarr::jitCompileRegex):
-        * yarr/RegexJIT.h:
-        (JSC::Yarr::RegexCodeBlock::RegexCodeBlock):
-        (JSC::Yarr::RegexCodeBlock::~RegexCodeBlock):
-        (JSC::Yarr::RegexCodeBlock::getFallback):
-        (JSC::Yarr::RegexCodeBlock::isFallback):
-        (JSC::Yarr::RegexCodeBlock::setFallback):
-        (JSC::Yarr::executeRegex):
-        * yarr/RegexParser.h:
-        * yarr/RegexPattern.h:
-
-2010-11-20  Kwang Yul Seo  <skyul@company100.net>
-
-        Reviewed by David Kilzer.
-
-        [BREWMP] Replace DBGPRINTF and DBGPRINTF_FATAL with dbg_Message
-        https://bugs.webkit.org/show_bug.cgi?id=49520
-
-        DBGPRINTF and DBGPRINTF_FATAL macros are prohibited in Mod1. Use dbg_Message instead.
-
-        * wtf/Assertions.cpp:
-        * wtf/Assertions.h:
-
-2010-11-20  Gabor Loki  <loki@webkit.org>
-
-        Reviewed by Gavin Barraclough.
-
-        Support JIT_OPTIMIZE_MOD on Thumb-2
-        https://bugs.webkit.org/show_bug.cgi?id=49432
-
-        Rewrite the soft modulo operation into macroassembler form, and move it
-        to JSValue32_64 section.
-        Add support for soft modulo on Thumb-2 JIT also.
-
-        * assembler/ARMv7Assembler.h:
-        (JSC::ARMv7Assembler::clz):
-        * assembler/MacroAssemblerARM.h:
-        (JSC::MacroAssemblerARM::countLeadingZeros32):
-        (JSC::MacroAssemblerARM::relativeTableJump):
-        * assembler/MacroAssemblerARMv7.h:
-        (JSC::MacroAssemblerARMv7::countLeadingZeros32):
-        (JSC::MacroAssemblerARMv7::relativeTableJump):
-        * jit/JITArithmetic.cpp:
-        (JSC::JIT::emit_op_mod):
-        * jit/JITOpcodes.cpp:
-        (JSC::JIT::privateCompileCTIMachineTrampolines):
-        * jit/JITOpcodes32_64.cpp:
-        (JSC::JIT::softModulo):
-        * jit/JITStubs.cpp:
-        (JSC::JITThunks::JITThunks):
-        * wtf/Platform.h:
-
-2010-11-20  David Kilzer  <ddkilzer@apple.com>
-
-        <http://webkit.org/b/49848> Make it possible to display the last character of a secure text field unobscured
-
-        Reviewed by Darin Adler.
-
-        * JavaScriptCore.exp:
-        * wtf/text/StringImpl.cpp:
-        (WTF::StringImpl::secure): Added argument that controls whether
-        the last character is obscured or not.  Implemented behavior.
-        * wtf/text/StringImpl.h:
-        (WTF::StringImpl::LastCharacterBehavior): Added enum.
-        (WTF::StringImpl::secure): Updated method signature.
-
-2010-11-19  William Chan  <willchan@chromium.org>
-
-        Reviewed by David Levin.
-
-        Add USE(CHROMIUM_NET)
-
-        Indicates the use of Chromium's network stack.  Chromium's network
-        stack performs better when it has full view of all resource requests,
-        so USE(CHROMIUM_NET) can be used to bypass throttles.
-
-        https://bugs.webkit.org/show_bug.cgi?id=49778
-
-        * wtf/Platform.h:
-
-2010-11-19  Steve Falkenburg  <sfalken@apple.com>
-
-        Reviewed by Adam Roben.
-
-        Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
-        https://bugs.webkit.org/show_bug.cgi?id=49819
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
-        * JavaScriptCore.vcproj/WTF/WTF.vcproj:
-        * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
-        * JavaScriptCore.vcproj/jsc/jsc.vcproj:
-        * JavaScriptCore.vcproj/testapi/testapi.vcproj:
-
-2010-11-19  Oliver Hunt  <oliver@apple.com>
-
-        Reviewed by Geoffrey Garen.
-
-        Don't check for constant registers when we can guarantee that the register won't be in the constant pool
-        https://bugs.webkit.org/show_bug.cgi?id=49814
-
-        Add uncheckedR(int) to CallFrame, and replace all the uses of r() with uncheckedR()
-        when we can guarantee that the register is not referring to a constant.
-        This makes the interpreter about 0.5% faster, and makes the CallFrame initialisation
-        logic correct when we're using a faked callframe (as in the case of the globalExec).
-
-        * bytecode/CodeBlock.cpp:
-        (JSC::CodeBlock::createActivation):
-        * debugger/DebuggerCallFrame.cpp:
-        (JSC::DebuggerCallFrame::thisObject):
-        * interpreter/CallFrame.h:
-        (JSC::ExecState::uncheckedR):
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::resolve):
-        (JSC::Interpreter::resolveSkip):
-        (JSC::Interpreter::resolveGlobal):
-        (JSC::Interpreter::resolveGlobalDynamic):
-        (JSC::Interpreter::resolveBase):
-        (JSC::Interpreter::resolveBaseAndProperty):
-        (JSC::Interpreter::callEval):
-        (JSC::Interpreter::unwindCallFrame):
-        (JSC::Interpreter::throwException):
-        (JSC::Interpreter::execute):
-        (JSC::Interpreter::executeCall):
-        (JSC::Interpreter::executeConstruct):
-        (JSC::Interpreter::prepareForRepeatCall):
-        (JSC::Interpreter::createExceptionScope):
-        (JSC::Interpreter::privateExecute):
-        * jit/JITStubs.cpp:
-        (JSC::DEFINE_STUB_FUNCTION):
-        * runtime/JSActivation.cpp:
-        (JSC::JSActivation::argumentsGetter):
-
-2010-11-19  Steve Falkenburg  <sfalken@apple.com>
-
-        Reviewed by Darin Adler.
-
-        Normalize Cairo/CFLite project/solution configuration names
-        https://bugs.webkit.org/show_bug.cgi?id=49818
-
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
-        * JavaScriptCore.vcproj/jsc/jsc.vcproj:
-        * JavaScriptCore.vcproj/testapi/testapi.vcproj:
-
-2010-11-18  Steve Falkenburg  <sfalken@apple.com>
-
-        Reviewed by Adam Roben.
-
-        Windows vcproj configuration names should be normalized across projects
-        https://bugs.webkit.org/show_bug.cgi?id=49776
-
-        * JavaScriptCore.vcproj/JavaScriptCore.sln:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
-        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedCommon.vsprops: Added.
-        * JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln:
-
-2010-11-19  Patrick Gansterer  <paroga@webkit.org>
-
-        Unreviewed, build fix after r72360.
-
-        * bytecode/CodeBlock.h:
-        (JSC::CodeBlock::bytecodeOffset):
-
-2010-11-18  Gavin Barraclough  <barraclough@apple.com>
-
-        Rubber stamped by Geoff Garen.
-
-        Bug 49577 - Function.prototype should be non-configurable
-
-        Ooops, Function.prototype should not be enumerable!
-
-        * runtime/JSFunction.cpp:
-        (JSC::JSFunction::getOwnPropertySlot):
-
-2010-11-18  Gavin Barraclough  <barraclough@apple.com>
-
-        Reviewed by Oliver Hunt.
-
-        Bug 49708 - Stop recompiling functions to regenerate exception info.
-
-        Instead only hold info as necessary – keep divot info is the inspector
-        is enabled, line number info is debugging or profiling, and handler
-        info for functions with try/catch.
-
-        * bytecode/CodeBlock.cpp:
-        (JSC::CodeBlock::dumpStatistics):
-        (JSC::CodeBlock::CodeBlock):
-        (JSC::CodeBlock::lineNumberForBytecodeOffset):
-        (JSC::CodeBlock::expressionRangeForBytecodeOffset):
-        (JSC::CodeBlock::shrinkToFit):
-        * bytecode/CodeBlock.h:
-        (JSC::CodeBlock::bytecodeOffset):
-        (JSC::CodeBlock::addExpressionInfo):
-        (JSC::CodeBlock::addLineInfo):
-        (JSC::CodeBlock::hasExpressionInfo):
-        (JSC::CodeBlock::hasLineInfo):
-        (JSC::CodeBlock::needsCallReturnIndices):
-        (JSC::CodeBlock::callReturnIndexVector):
-        * bytecode/SamplingTool.cpp:
-        (JSC::SamplingTool::dump):
-        * bytecompiler/BytecodeGenerator.cpp:
-        (JSC::BytecodeGenerator::generate):
-        (JSC::BytecodeGenerator::BytecodeGenerator):
-        * bytecompiler/BytecodeGenerator.h:
-        (JSC::BytecodeGenerator::emitNode):
-        (JSC::BytecodeGenerator::emitNodeInConditionContext):
-        (JSC::BytecodeGenerator::emitExpressionInfo):
-        (JSC::BytecodeGenerator::addLineInfo):
-        * interpreter/Interpreter.cpp:
-        (JSC::Interpreter::unwindCallFrame):
-        (JSC::appendSourceToError):
-        (JSC::Interpreter::throwException):
-        (JSC::Interpreter::privateExecute):
-        (JSC::Interpreter::retrieveLastCaller):
-        * interpreter/Interpreter.h:
-        * jit/JIT.cpp:
-        (JSC::JIT::privateCompile):
-        * jit/JITStubs.cpp:
-        (JSC::jitThrow):
-        (JSC::DEFINE_STUB_FUNCTION):
-        * runtime/Collector.cpp:
-        (JSC::Heap::markRoots):
-        * runtime/Executable.cpp:
-        (JSC::EvalExecutable::compileInternal):
-        (JSC::ProgramExecutable::compileInternal):
-        (JSC::FunctionExecutable::compileForCallInternal):
-        (JSC::FunctionExecutable::compileForConstructInternal):
-        * runtime/Executable.h:
-        * runtime/JSGlobalData.cpp:
-        (JSC::JSGlobalData::JSGlobalData):
-        * runtime/JSGlobalData.h:
-        (JSC::JSGlobalData::usingAPI):
-        * runtime/JSGlobalObject.h:
-        (JSC::JSGlobalObject::supportsRichSourceInfo):
-        (JSC::JSGlobalObject::globalData):
-
-2010-11-18  Adam Roben  <aroben@apple.com>
-
-        Add a script to delete manifest-related files when they are older than
-        any .vsprops file
-
-        Changes to .vsprops files can cause the manifest files to become
-        invalid, and Visual Studio doesn't always figure out that it needs to
-        rebuild them.
-
-        Revie