summaryrefslogtreecommitdiff
path: root/dom/asmjscache
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-02-09 08:09:52 +0100
committerwolfbeast <mcwerewolf@gmail.com>2018-02-09 08:09:52 +0100
commita1a0b03046f68f4b0a22b9ec3086942551fbf469 (patch)
tree69920917667f18abc0ab55be34dff3811ac3fc10 /dom/asmjscache
parentb61927d4cdb92636758c4c80d5050b3266486529 (diff)
downloaduxp-a1a0b03046f68f4b0a22b9ec3086942551fbf469.tar.gz
Re-enable asm.js caching
Diffstat (limited to 'dom/asmjscache')
-rw-r--r--dom/asmjscache/AsmJSCache.cpp12
-rw-r--r--dom/asmjscache/test/test_cachingBasic.html2
-rw-r--r--dom/asmjscache/test/test_cachingMulti.html2
-rw-r--r--dom/asmjscache/test/test_workers.html2
4 files changed, 4 insertions, 14 deletions
diff --git a/dom/asmjscache/AsmJSCache.cpp b/dom/asmjscache/AsmJSCache.cpp
index 4afcc6d6b6..4e1912f230 100644
--- a/dom/asmjscache/AsmJSCache.cpp
+++ b/dom/asmjscache/AsmJSCache.cpp
@@ -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
diff --git a/dom/asmjscache/test/test_cachingBasic.html b/dom/asmjscache/test/test_cachingBasic.html
index e84fdba8b3..f491fe9fa2 100644
--- a/dom/asmjscache/test/test_cachingBasic.html
+++ b/dom/asmjscache/test/test_cachingBasic.html
@@ -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:
diff --git a/dom/asmjscache/test/test_cachingMulti.html b/dom/asmjscache/test/test_cachingMulti.html
index ca092fda01..ceaf75812b 100644
--- a/dom/asmjscache/test/test_cachingMulti.html
+++ b/dom/asmjscache/test/test_cachingMulti.html
@@ -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";
diff --git a/dom/asmjscache/test/test_workers.html b/dom/asmjscache/test/test_workers.html
index 992ed785bc..6704459f6d 100644
--- a/dom/asmjscache/test/test_workers.html
+++ b/dom/asmjscache/test/test_workers.html
@@ -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";