Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4f3c3aaf authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi Committed by Android (Google) Code Review
Browse files

Merge "Pass max trie structure size to on memory Ver4DictBuffers."

parents 8e95b2f5 7b43d987
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -130,11 +130,10 @@ Ver4DictBuffers::Ver4DictBuffers(const char *const dictPath,
          mShortcutDictContent(dictPath, isUpdatable),
          mIsUpdatable(isUpdatable) {}

Ver4DictBuffers::Ver4DictBuffers(const HeaderPolicy *const headerPolicy)
Ver4DictBuffers::Ver4DictBuffers(const HeaderPolicy *const headerPolicy, const int maxTrieSize)
        : mHeaderBuffer(nullptr), mDictBuffer(nullptr), mHeaderPolicy(),
          mExpandableHeaderBuffer(Ver4DictConstants::MAX_DICTIONARY_SIZE),
          mExpandableTrieBuffer(Ver4DictConstants::MAX_DICTIONARY_SIZE),
          mTerminalPositionLookupTable(),
          mExpandableTrieBuffer(maxTrieSize), mTerminalPositionLookupTable(),
          mProbabilityDictContent(headerPolicy->hasHistoricalInfoOfWords()),
          mBigramDictContent(headerPolicy->hasHistoricalInfoOfWords()), mShortcutDictContent(),
          mIsUpdatable(true) {}
+3 −3
Original line number Diff line number Diff line
@@ -39,8 +39,8 @@ class Ver4DictBuffers {
            MmappedBuffer::MmappedBufferPtr headerBuffer);

    static AK_FORCE_INLINE Ver4DictBuffersPtr createVer4DictBuffers(
            const HeaderPolicy *const headerPolicy) {
        return Ver4DictBuffersPtr(new Ver4DictBuffers(headerPolicy));
            const HeaderPolicy *const headerPolicy, const int maxTrieSize) {
        return Ver4DictBuffersPtr(new Ver4DictBuffers(headerPolicy, maxTrieSize));
    }

    AK_FORCE_INLINE bool isValid() const {
@@ -122,7 +122,7 @@ class Ver4DictBuffers {
    Ver4DictBuffers(const char *const dictDirPath,
            const MmappedBuffer::MmappedBufferPtr headerBuffer, const bool isUpdatable);

    Ver4DictBuffers(const HeaderPolicy *const headerPolicy);
    Ver4DictBuffers(const HeaderPolicy *const headerPolicy, const int maxTrieSize);

    const MmappedBuffer::MmappedBufferPtr mHeaderBuffer;
    const MmappedBuffer::MmappedBufferPtr mDictBuffer;
+2 −1
Original line number Diff line number Diff line
@@ -55,7 +55,8 @@ bool Ver4PatriciaTrieWritingHelper::writeToDictFileWithGC(const int rootPtNodeAr
        const char *const dictDirPath) {
    const HeaderPolicy *const headerPolicy = mBuffers->getHeaderPolicy();
    Ver4DictBuffers::Ver4DictBuffersPtr dictBuffers(
            Ver4DictBuffers::createVer4DictBuffers(headerPolicy));
            Ver4DictBuffers::createVer4DictBuffers(headerPolicy,
                    Ver4DictConstants::MAX_DICTIONARY_SIZE));
    int unigramCount = 0;
    int bigramCount = 0;
    if (!runGC(rootPtNodeArrayPos, headerPolicy, dictBuffers.get(), &unigramCount, &bigramCount)) {
+2 −1
Original line number Diff line number Diff line
@@ -49,7 +49,8 @@ const char *const DictFileWritingUtils::TEMP_FILE_SUFFIX_FOR_WRITING_DICT_FILE =
        const DictionaryHeaderStructurePolicy::AttributeMap *const attributeMap) {
    HeaderPolicy headerPolicy(FormatUtils::VERSION_4, localeAsCodePointVector, attributeMap);
    Ver4DictBuffers::Ver4DictBuffersPtr dictBuffers(
            Ver4DictBuffers::createVer4DictBuffers(&headerPolicy));
            Ver4DictBuffers::createVer4DictBuffers(&headerPolicy,
                    Ver4DictConstants::MAX_DICT_EXTENDED_REGION_SIZE));
    headerPolicy.fillInAndWriteHeaderToBuffer(true /* updatesLastDecayedTime */,
            0 /* unigramCount */, 0 /* bigramCount */,
            0 /* extendedRegionSize */, dictBuffers->getWritableHeaderBuffer());