Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f62059d5478ef72d7664a23d03b86cea921c300a
      
https://github.com/WebKit/WebKit/commit/f62059d5478ef72d7664a23d03b86cea921c300a
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-09-28 (Mon, 28 Sep 2026)

  Changed paths:
    M Source/JavaScriptCore/CMakeLists.txt
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/heap/Heap.cpp
    R Source/JavaScriptCore/runtime/JSONAtomStringCache.h
    R Source/JavaScriptCore/runtime/JSONAtomStringCacheInlines.h
    A Source/JavaScriptCore/runtime/JSONCache.h
    A Source/JavaScriptCore/runtime/JSONCacheInlines.h
    R Source/JavaScriptCore/runtime/JSONTransitionCache.h
    R Source/JavaScriptCore/runtime/JSONTransitionCacheInlines.h
    M Source/JavaScriptCore/runtime/LiteralParser.cpp
    M Source/JavaScriptCore/runtime/LiteralParser.h
    M Source/JavaScriptCore/runtime/VM.cpp
    M Source/JavaScriptCore/runtime/VM.h
    M Source/WebCore/WebCorePrefix.h

  Log Message:
  -----------
  [JSC] Unify and extract JSONCache
https://bugs.webkit.org/show_bug.cgi?id=325483
rdar://188575025

Reviewed by Keith Miller.

Extract JSONAtomStringCache and JSONTransitionCache from VM to
heap-allocated JSONCache. This is a preparation to extend this mechanism
further to accelerate JSON operations.

* Source/JavaScriptCore/CMakeLists.txt:
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/heap/Heap.cpp:
(JSC::Heap::clearConcurrentRetainedDataIfPossible):
* Source/JavaScriptCore/runtime/JSONAtomStringCache.h: Removed.
* Source/JavaScriptCore/runtime/JSONAtomStringCacheInlines.h: Removed.
* Source/JavaScriptCore/runtime/JSONCache.h: Added.
(JSC::JSONCache::ParsingScope::ParsingScope):
(JSC::JSONCache::ParsingScope::~ParsingScope):
(JSC::JSONCache::clearStrings):
(JSC::JSONCache::clearJSStrings):
(JSC::JSONCache::reconcileTransitionsAtGCEnd):
(JSC::JSONCache::stringIndex):
(JSC::JSONCache::stringSlot):
* Source/JavaScriptCore/runtime/JSONCacheInlines.h: Added.
(JSC::JSONCache::makeIdentifier):
(JSC::JSONCache::existingIdentifier):
(JSC::JSONCache::makeJSString):
(JSC::JSONCache::makeLongJSString):
(JSC::JSONCache::transitionKey):
(JSC::JSONCache::primaryTransitionIndex):
(JSC::JSONCache::secondaryTransitionIndex):
(JSC::JSONCache::transitionIfMatches):
(JSC::JSONCache::getTransition):
(JSC::JSONCache::addTransition):
(JSC::JSONCache::visitAggregate):
* Source/JavaScriptCore/runtime/JSONTransitionCache.h: Removed.
* Source/JavaScriptCore/runtime/JSONTransitionCacheInlines.h: Removed.
* Source/JavaScriptCore/runtime/LiteralParser.cpp:
(JSC::reviverMode>::LiteralParser):
(JSC::reviverMode>::existingIdentifier):
(JSC::reviverMode>::makeIdentifier):
(JSC::reviverMode>::makeJSString):
(JSC::requires):
* Source/JavaScriptCore/runtime/LiteralParser.h:
(JSC::LiteralParser::LiteralParser): Deleted.
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::reconcileWeakReferencesAtGCEnd):
(JSC::VM::visitAggregateImpl):
* Source/JavaScriptCore/runtime/VM.h:
(JSC::VM::jsonCache):
* Source/WebCore/WebCorePrefix.h:

Canonical link: https://commits.webkit.org/322058@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to