Skip to content

Commit

Permalink
Backed out 10 changesets (bug 1550108) for causing build bustages on …
Browse files Browse the repository at this point in the history
…StartupCache.cpp.

Backed out changeset cbadfa2bbd7e (bug 1550108)
Backed out changeset 2560f0ab6ebf (bug 1550108)
Backed out changeset 0a1fa8d8bb3c (bug 1550108)
Backed out changeset 62416909cf67 (bug 1550108)
Backed out changeset 60991713b1e2 (bug 1550108)
Backed out changeset f950e30afd90 (bug 1550108)
Backed out changeset e63d0a1fec38 (bug 1550108)
Backed out changeset 7a009d42e7e7 (bug 1550108)
Backed out changeset 395affa4c205 (bug 1550108)
Backed out changeset 0fd41e9dbd2a (bug 1550108)
  • Loading branch information
CosminSabou committed Sep 28, 2019
1 parent 40cdc35 commit f277d3b
Show file tree
Hide file tree
Showing 33 changed files with 352 additions and 6,777 deletions.
2 changes: 1 addition & 1 deletion .clang-format-ignore
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ media/openmax_il/.*
media/webrtc/signaling/src/sdp/sipcc/.*
media/webrtc/trunk/.*
mfbt/double-conversion/double-conversion/.*
mfbt/lz4/.*
mfbt/lz4.*
mobile/android/geckoview/src/thirdparty/.*
mobile/android/thirdparty/.*
modules/brotli/.*
Expand Down
2 changes: 1 addition & 1 deletion build/sanitizers/ubsan_unsigned_overflow_blacklist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ src:*/modules/zlib/src/*
# Our LZ4 implementation uses overflows. By listing it here we might
# miss some unintended overflows in that implementation, but we can't
# check for it right now.
src:*/mfbt/lz4/*
src:*/mfbt/lz4.c

# Apparently this overflows a lot, because it contains some allocators
# that keep overflowing, not sure why. Disabling by function didn't seem
Expand Down
1 change: 0 additions & 1 deletion dom/ipc/SharedMap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
#include "mozilla/dom/ContentProcessMessageManager.h"
#include "mozilla/dom/IPCBlobUtils.h"
#include "mozilla/dom/ScriptSettings.h"
#include "mozilla/IOBuffers.h"
#include "mozilla/ScriptPreloader.h"

using namespace mozilla::loader;
Expand Down
4 changes: 2 additions & 2 deletions dom/xbl/nsXBLDocumentInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -186,14 +186,14 @@ nsresult nsXBLDocumentInfo::ReadPrototypeBindings(nsIURI* aURI,
return NS_ERROR_FAILURE;
}

const char* buf;
UniquePtr<char[]> buf;
uint32_t len;
rv = startupCache->GetBuffer(spec.get(), &buf, &len);
// GetBuffer will fail if the binding is not in the cache.
if (NS_FAILED(rv)) return rv;

nsCOMPtr<nsIObjectInputStream> stream;
rv = NewObjectInputStreamFromBuffer(buf, len,
rv = NewObjectInputStreamFromBuffer(std::move(buf), len,
getter_AddRefs(stream));
NS_ENSURE_SUCCESS(rv, rv);

Expand Down
18 changes: 10 additions & 8 deletions dom/xul/nsXULPrototypeCache.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ nsresult nsXULPrototypeCache::GetInputStream(nsIURI* uri,
nsresult rv = PathifyURI(uri, spec);
if (NS_FAILED(rv)) return NS_ERROR_NOT_AVAILABLE;

const char* buf;
UniquePtr<char[]> buf;
uint32_t len;
nsCOMPtr<nsIObjectInputStream> ois;
StartupCache* sc = StartupCache::GetSingleton();
Expand All @@ -269,7 +269,7 @@ nsresult nsXULPrototypeCache::GetInputStream(nsIURI* uri,
rv = sc->GetBuffer(spec.get(), &buf, &len);
if (NS_FAILED(rv)) return NS_ERROR_NOT_AVAILABLE;

rv = NewObjectInputStreamFromBuffer(buf, len, getter_AddRefs(ois));
rv = NewObjectInputStreamFromBuffer(std::move(buf), len, getter_AddRefs(ois));
NS_ENSURE_SUCCESS(rv, rv);

mInputStreamTable.Put(uri, ois);
Expand Down Expand Up @@ -353,9 +353,10 @@ nsresult nsXULPrototypeCache::HasData(nsIURI* uri, bool* exists) {
return NS_OK;
}
UniquePtr<char[]> buf;
uint32_t len;
StartupCache* sc = StartupCache::GetSingleton();
if (sc) {
*exists = sc->HasEntry(spec.get());
rv = sc->GetBuffer(spec.get(), &buf, &len);
} else {
*exists = false;
return NS_OK;
Expand Down Expand Up @@ -398,13 +399,14 @@ nsresult nsXULPrototypeCache::BeginCaching(nsIURI* aURI) {

nsAutoCString fileChromePath, fileLocale;

const char* buf = nullptr;
UniquePtr<char[]> buf;
uint32_t len, amtRead;
nsCOMPtr<nsIObjectInputStream> objectInput;

rv = startupCache->GetBuffer(kXULCacheInfoKey, &buf, &len);
if (NS_SUCCEEDED(rv))
rv = NewObjectInputStreamFromBuffer(buf, len, getter_AddRefs(objectInput));
rv = NewObjectInputStreamFromBuffer(std::move(buf), len,
getter_AddRefs(objectInput));

if (NS_SUCCEEDED(rv)) {
rv = objectInput->ReadCString(fileLocale);
Expand Down Expand Up @@ -460,10 +462,10 @@ nsresult nsXULPrototypeCache::BeginCaching(nsIURI* aURI) {
}

if (NS_SUCCEEDED(rv)) {
auto putBuf = MakeUnique<char[]>(len);
rv = inputStream->Read(putBuf.get(), len, &amtRead);
buf = MakeUnique<char[]>(len);
rv = inputStream->Read(buf.get(), len, &amtRead);
if (NS_SUCCEEDED(rv) && len == amtRead)
rv = startupCache->PutBuffer(kXULCacheInfoKey, std::move(putBuf), len);
rv = startupCache->PutBuffer(kXULCacheInfoKey, std::move(buf), len);
else {
rv = NS_ERROR_UNEXPECTED;
}
Expand Down
13 changes: 7 additions & 6 deletions gfx/thebes/gfxFT2FontList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@
#include "nsIMemory.h"
#include "gfxFontConstants.h"

#include "mozilla/EndianUtils.h"
#include "mozilla/Preferences.h"
#include "mozilla/scache/StartupCache.h"
#include <fcntl.h>
Expand Down Expand Up @@ -700,8 +699,8 @@ class FontNameCache {
}

uint32_t size;
const char* cur;
if (NS_FAILED(mCache->GetBuffer(CACHE_KEY, &cur, &size))) {
UniquePtr<char[]> buf;
if (NS_FAILED(mCache->GetBuffer(CACHE_KEY, &buf, &size))) {
LOG(("no cache of " CACHE_KEY));
return;
}
Expand All @@ -711,6 +710,8 @@ class FontNameCache {
mMap.Clear();
mWriteNeeded = false;

const char* cur = buf.get();

while (const char* fileEnd = strchr(cur, kFileSep)) {
// The cached record for one file is at [cur, fileEnd].

Expand Down Expand Up @@ -1116,15 +1117,15 @@ void gfxFT2FontList::FindFontsInOmnijar(FontNameCache* aCache) {

mozilla::scache::StartupCache* cache =
mozilla::scache::StartupCache::GetSingleton();
const char* cachedModifiedTimeBuf;
UniquePtr<char[]> cachedModifiedTimeBuf;
uint32_t longSize;
if (cache &&
NS_SUCCEEDED(cache->GetBuffer(JAR_LAST_MODIFED_TIME,
&cachedModifiedTimeBuf, &longSize)) &&
longSize == sizeof(int64_t)) {
nsCOMPtr<nsIFile> jarFile = Omnijar::GetPath(Omnijar::Type::GRE);
jarFile->GetLastModifiedTime(&mJarModifiedTime);
if (mJarModifiedTime > LittleEndian::readInt64(cachedModifiedTimeBuf)) {
if (mJarModifiedTime > *(int64_t*)cachedModifiedTimeBuf.get()) {
jarChanged = true;
}
}
Expand Down Expand Up @@ -1383,7 +1384,7 @@ void gfxFT2FontList::WriteCache() {
if (cache && mJarModifiedTime > 0) {
const size_t bufSize = sizeof(mJarModifiedTime);
auto buf = MakeUnique<char[]>(bufSize);
LittleEndian::writeInt64(buf.get(), mJarModifiedTime);
memcpy(buf.get(), &mJarModifiedTime, bufSize);

LOG(("WriteCache: putting Jar, length %zu", bufSize));
cache->PutBuffer(JAR_LAST_MODIFED_TIME, std::move(buf), bufSize);
Expand Down
148 changes: 0 additions & 148 deletions js/xpconnect/loader/IOBuffers.h

This file was deleted.

Loading

0 comments on commit f277d3b

Please sign in to comment.