Changeset 80328 in webkit


Ignore:
Timestamp:
Mar 3, 2011 10:25:48 PM (13 years ago)
Author:
rniwa@webkit.org
Message:

2011-03-03 Ryosuke Niwa <rniwa@webkit.org>

Reviewed by Darin Adler.

Remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h
https://bugs.webkit.org/show_bug.cgi?id=55554

  • runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::copyGlobalsTo): Pass nullptr instead of 0. (JSC::JSGlobalObject::resizeRegisters): Ditto; also use OwnArrayPtr instead of a raw pointer.
  • runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addStaticGlobals): Ditto.
  • wtf/PassOwnArrayPtr.h: Removed #define LOOSE_PASS_OWN_ARRAY_PTR (WTF::PassOwnArrayPtr::PassOwnArrayPtr): Added a constructor that takes nullptr_t.

2011-03-03 Ryosuke Niwa <rniwa@webkit.org>

Reviewed by Darin Adler.

Remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h
https://bugs.webkit.org/show_bug.cgi?id=55554

  • platform/Length.cpp: (WebCore::newLengthArray): Pass nullptr instead of 0.
Location:
trunk/Source
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r80323 r80328  
     12011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Reviewed by Darin Adler.
     4
     5        Remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h
     6        https://bugs.webkit.org/show_bug.cgi?id=55554
     7
     8        * runtime/JSGlobalObject.cpp:
     9        (JSC::JSGlobalObject::copyGlobalsTo): Pass nullptr instead of 0.
     10        (JSC::JSGlobalObject::resizeRegisters): Ditto; also use OwnArrayPtr instead of a raw pointer.
     11        * runtime/JSGlobalObject.h:
     12        (JSC::JSGlobalObject::addStaticGlobals): Ditto.
     13        * wtf/PassOwnArrayPtr.h: Removed #define LOOSE_PASS_OWN_ARRAY_PTR
     14        (WTF::PassOwnArrayPtr::PassOwnArrayPtr): Added a constructor that takes nullptr_t.
     15
    1162011-03-03  Adam Barth  <abarth@webkit.org>
    217
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp

    r80303 r80328  
    415415        // The register file is always a gc root so no barrier is needed here
    416416        memcpy(registerFile.start() - d()->registerArraySize, d()->registerArray.get(), d()->registerArraySize * sizeof(WriteBarrier<Unknown>));
    417         setRegisters(reinterpret_cast<WriteBarrier<Unknown>*>(registerFile.start()), 0, 0);
     417        setRegisters(reinterpret_cast<WriteBarrier<Unknown>*>(registerFile.start()), nullptr, 0);
    418418    }
    419419}
     
    427427    if (d()->registerArray || !d()->registers) {
    428428        ASSERT(static_cast<size_t>(oldSize) == d()->registerArraySize);
    429         WriteBarrier<Unknown>* registerArray = new WriteBarrier<Unknown>[newSize];
     429        OwnArrayPtr<WriteBarrier<Unknown> > registerArray = adoptArrayPtr(new WriteBarrier<Unknown>[newSize]);
    430430        for (int i = 0; i < oldSize; i++)
    431431            registerArray[newSize - oldSize + i].set(globalData(), this, d()->registerArray[i].get());
    432         setRegisters(registerArray + newSize, registerArray, newSize);
     432        WriteBarrier<Unknown>* registers = registerArray.get() + newSize;
     433        setRegisters(registers, registerArray.release(), newSize);
    433434    } else {
    434435        ASSERT(static_cast<size_t>(newSize) < globalData().interpreter->registerFile().maxGlobals());
  • trunk/Source/JavaScriptCore/runtime/JSGlobalObject.h

    r80303 r80328  
    319319        size_t oldSize = d()->registerArraySize;
    320320        size_t newSize = oldSize + count;
    321         WriteBarrier<Unknown>* registerArray = new WriteBarrier<Unknown>[newSize];
     321        OwnArrayPtr<WriteBarrier<Unknown> > registerArray = adoptArrayPtr(new WriteBarrier<Unknown>[newSize]);
    322322        if (d()->registerArray) {
    323323            // memcpy is safe here as we're copying barriers we already own from the existing array
    324             memcpy(registerArray + count, d()->registerArray.get(), oldSize * sizeof(Register));
    325         }
    326 
    327         setRegisters(registerArray + newSize, registerArray, newSize);
     324            memcpy(registerArray.get() + count, d()->registerArray.get(), oldSize * sizeof(Register));
     325        }
     326
     327        WriteBarrier<Unknown>* registers = registerArray.get() + newSize;
     328        setRegisters(registers, registerArray.release(), newSize);
    328329
    329330        for (int i = 0, index = -static_cast<int>(oldSize) - 1; i < count; ++i, --index) {
  • trunk/Source/JavaScriptCore/wtf/PassOwnArrayPtr.h

    r77785 r80328  
    3131#include "TypeTraits.h"
    3232
    33 // Remove this once we make all WebKit code compatible with stricter rules about PassOwnArrayPtr.
    34 #define LOOSE_PASS_OWN_ARRAY_PTR
    35 
    3633namespace WTF {
    3734
     
    4643
    4744    PassOwnArrayPtr() : m_ptr(0) { }
     45
     46#if !defined(LOOSE_PASS_OWN_PTR) || !HAVE(NULLPTR)
     47    PassOwnArrayPtr(std::nullptr_t) : m_ptr(0) { }
     48#endif
    4849
    4950    // It somewhat breaks the type system to allow transfer of ownership out of
  • trunk/Source/WebCore/ChangeLog

    r80327 r80328  
     12011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Reviewed by Darin Adler.
     4
     5        Remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h
     6        https://bugs.webkit.org/show_bug.cgi?id=55554
     7
     8        * platform/Length.cpp:
     9        (WebCore::newLengthArray): Pass nullptr instead of 0.
     10
    1112011-03-03  Nat Duca  <nduca@chromium.org>
    212
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r80303 r80328  
    2257922579                        buildConfigurationList = 149C284308902B11008A9EFC /* Build configuration list for PBXProject "WebCore" */;
    2258022580                        compatibilityVersion = "Xcode 2.4";
     22581                        developmentRegion = English;
    2258122582                        hasScannedForEncodings = 1;
    2258222583                        knownRegions = (
  • trunk/Source/WebCore/platform/Length.cpp

    r77785 r80328  
    124124    if (!str->length()) {
    125125        len = 1;
    126         return 0;
     126        return nullptr;
    127127    }
    128128
Note: See TracChangeset for help on using the changeset viewer.