Re-enable asm.js caching

This commit is contained in:
wolfbeast 2018-02-09 08:09:52 +01:00 • committed by Roy Tam
commit 2029eff3f1
6 changed files with 4 additions and 18 deletions

View file

@ -71,7 +71,7 @@ namespace {
// Anything smaller should compile fast enough that caching will just add
// overhead.
// static const size_t sMinCachedModuleLength = 10000;
static const size_t sMinCachedModuleLength = 10000;
// The number of characters to hash into the Metadata::Entry::mFastHash.
static const unsigned sNumFastHashChars = 4096;
@ -1520,7 +1520,6 @@ DeallocEntryChild(PAsmJSCacheEntryChild* aActor)
static_cast<ChildRunnable*>(aActor)->Release();
}
/*
namespace {
JS::AsmJSCacheResult
@ -1583,7 +1582,6 @@ OpenFile(nsIPrincipal* aPrincipal,
}
} // namespace
*/
typedef uint32_t AsmJSCookieType;
static const uint32_t sAsmJSCookie = 0x600d600d;
@ -1596,9 +1594,6 @@ OpenEntryForRead(nsIPrincipal* aPrincipal,
const uint8_t** aMemory,
intptr_t* aHandle)
{
return false;
/*
if (size_t(aLimit - aBegin) < sMinCachedModuleLength) {
return false;
}
@ -1638,7 +1633,6 @@ OpenEntryForRead(nsIPrincipal* aPrincipal,
// failure) at which point the file will be closed.
childRunnable.Forget(reinterpret_cast<ChildRunnable**>(aHandle));
return true;
*/
}
void
@ -1663,9 +1657,6 @@ OpenEntryForWrite(nsIPrincipal* aPrincipal,
uint8_t** aMemory,
intptr_t* aHandle)
{
return JS::AsmJSCache_ESR52;
/*
if (size_t(aEnd - aBegin) < sMinCachedModuleLength) {
return JS::AsmJSCache_ModuleTooSmall;
}
@ -1699,7 +1690,6 @@ OpenEntryForWrite(nsIPrincipal* aPrincipal,
// failure) at which point the file will be closed
childRunnable.Forget(reinterpret_cast<ChildRunnable**>(aHandle));
return JS::AsmJSCache_Success;
*/
}
void

View file

@ -44,7 +44,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=929236
evalAsync(code);
break;
case 1:
ok(!jsFuns.isAsmJSModuleLoadedFromCache(module), 'module not loaded from cache');
ok(jsFuns.isAsmJSModuleLoadedFromCache(module), 'module loaded from cache');
SimpleTest.finish();
break;
default:

View file

@ -36,7 +36,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=944821
code2 += "return g" + i + ";\n";
code2 += "}\n";
code2 += "ok(jsFuns.isAsmJSModule(f), 'f is an asm.js module')\n";
code2 += "if (assertCacheHit) ok(!jsFuns.isAsmJSModuleLoadedFromCache(f), 'cache disabled');\n";
code2 += "if (assertCacheHit) ok(jsFuns.isAsmJSModuleLoadedFromCache(f), 'cache hit');\n";
code2 += "var gX = f();\n";
code2 += "ok(jsFuns.isAsmJSFunction(gX), 'gX is an asm.js function')\n";
code2 += "ok(gX() === " + i + ", 'gX returns the correct result')\n";

View file

@ -31,7 +31,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=941830
var workerBlob = new Blob([workerCode], {type:"application/javascript"});
var mainCode = asmjsCode;
mainCode += "ok(!jsFuns.isAsmJSModuleLoadedFromCache(f), 'f is not a cache hit')\n";
mainCode += "ok(jsFuns.isAsmJSModuleLoadedFromCache(f), 'f is a cache hit')\n";
mainCode += "var g42 = f();\n";
mainCode += "ok(jsFuns.isAsmJSFunction(g42), 'g42 is an asm.js function');\n";
mainCode += "ok(g42() === 42, 'g42 returns the correct result');\n";

View file

@ -5999,7 +5999,6 @@ enum AsmJSCacheResult
AsmJSCache_Disabled_JitInspector,
AsmJSCache_InternalError,
AsmJSCache_Disabled_PrivateBrowsing,
AsmJSCache_ESR52,
AsmJSCache_LIMIT
};

View file

@ -8661,9 +8661,6 @@ BuildConsoleMessage(ExclusiveContext* cx, unsigned time, JS::AsmJSCacheResult ca
case JS::AsmJSCache_Disabled_PrivateBrowsing:
cacheString = "caching disabled by private browsing mode";
break;
case JS::AsmJSCache_ESR52:
cacheString = "caching disabled in Firefox ESR52";
break;
case JS::AsmJSCache_LIMIT:
MOZ_CRASH("bad AsmJSCacheResult");
break;