Title: [241520] releases/WebKitGTK/webkit-2.24/Source/_javascript_Core
- Revision
- 241520
- Author
- [email protected]
- Date
- 2019-02-14 03:26:55 -0800 (Thu, 14 Feb 2019)
Log Message
Merge r241442 - CodeBlocks read from disk should not be re-written
https://bugs.webkit.org/show_bug.cgi?id=194535
Reviewed by Michael Saboff.
Keep track of which CodeBlocks have been read from disk or have already
been serialized in CodeCache.
* runtime/CodeCache.cpp:
(JSC::CodeCache::write):
* runtime/CodeCache.h:
(JSC::SourceCodeValue::SourceCodeValue):
(JSC::CodeCacheMap::fetchFromDiskImpl):
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog (241519 => 241520)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog 2019-02-14 11:26:50 UTC (rev 241519)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog 2019-02-14 11:26:55 UTC (rev 241520)
@@ -1,5 +1,21 @@
2019-02-13 Tadeu Zagallo <[email protected]>
+ CodeBlocks read from disk should not be re-written
+ https://bugs.webkit.org/show_bug.cgi?id=194535
+
+ Reviewed by Michael Saboff.
+
+ Keep track of which CodeBlocks have been read from disk or have already
+ been serialized in CodeCache.
+
+ * runtime/CodeCache.cpp:
+ (JSC::CodeCache::write):
+ * runtime/CodeCache.h:
+ (JSC::SourceCodeValue::SourceCodeValue):
+ (JSC::CodeCacheMap::fetchFromDiskImpl):
+
+2019-02-13 Tadeu Zagallo <[email protected]>
+
SourceCode should be copied when generating bytecode for functions
https://bugs.webkit.org/show_bug.cgi?id=194536
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/CodeCache.cpp (241519 => 241520)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/CodeCache.cpp 2019-02-14 11:26:50 UTC (rev 241519)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/CodeCache.cpp 2019-02-14 11:26:55 UTC (rev 241520)
@@ -159,8 +159,12 @@
void CodeCache::write(VM& vm)
{
- for (const auto& it : m_sourceCode)
+ for (auto& it : m_sourceCode) {
+ if (it.value.written)
+ continue;
+ it.value.written = true;
writeCodeBlock(vm, it.key, it.value);
+ }
}
void generateUnlinkedCodeBlockForFunctions(VM& vm, UnlinkedCodeBlock* unlinkedCodeBlock, const SourceCode& parentSource, DebuggerMode debuggerMode, ParserError& error)
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/CodeCache.h (241519 => 241520)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/CodeCache.h 2019-02-14 11:26:50 UTC (rev 241519)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/CodeCache.h 2019-02-14 11:26:55 UTC (rev 241520)
@@ -75,14 +75,16 @@
{
}
- SourceCodeValue(VM& vm, JSCell* cell, int64_t age)
+ SourceCodeValue(VM& vm, JSCell* cell, int64_t age, bool written = false)
: cell(vm, cell)
, age(age)
+ , written(written)
{
}
Strong<JSCell> cell;
int64_t age;
+ bool written;
};
class CodeCacheMap {
@@ -154,7 +156,7 @@
return nullptr;
VERBOSE_LOG("Found cached CodeBlock on disk");
- addCache(key, SourceCodeValue(vm, unlinkedCodeBlock, m_age));
+ addCache(key, SourceCodeValue(vm, unlinkedCodeBlock, m_age, true));
return unlinkedCodeBlock;
#else
UNUSED_PARAM(vm);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes