gecko-dev/build/clang-plugin
Kartikaya Gupta cc4b5edc35 Bug 1638664 - Improve the way MozsearchIndexer merges analysis data. r=asuth
Instead of doing this:
a) read existing file into memory
b) append new entries
c) sort all entries
d) write unique entries back to file

We now do this:
a) sort new entries
b) loop through existing file entries, one at a time, writing them to a tmp file
c) insert the new entries in between the existing file entries in lexicographic order,
   and deduplicating the new entries
d) write any remaining new entries (that are lexicographically after the last
   entry in the pre-existing file), again deduplicating the entries
e) move tmp file back to original file location

This avoids reading the entire file into memory which could be potentially
hundreds of MB large.

The changes in FileOperations.* are needed to support these changes, as we now
have two files that we're dealing with - reading from one and writing to the
other. We still use a Mutex (Windows) or exclusive-flock (POSIX) on the file
for the duration of the entire operation, so we should still be robust in the
face of multiple concurrently running clang processes.

Differential Revision: https://phabricator.services.mozilla.com/D76202
2020-05-25 18:53:36 +00:00
..
alpha Bug 1614371 - Move mozilla-performance-temp-refptr check to alpha checker repo. r=andi 2020-03-19 14:19:15 +00:00
external Bug 1617991 - Add folder structure to import external static checks; r=andi,static-analysis-reviewers,dmajor 2020-03-05 16:29:13 +00:00
mozsearch-plugin Bug 1638664 - Improve the way MozsearchIndexer merges analysis data. r=asuth 2020-05-25 18:53:36 +00:00
tests Bug 1638576 - Correct spelling of "deprecated" (follow-up to bug 1611160). r=sylvestre 2020-05-17 20:20:38 +00:00
.clang-format
ArithmeticArgChecker.cpp
ArithmeticArgChecker.h
AssertAssignmentChecker.cpp
AssertAssignmentChecker.h
BaseCheck.h
CanRunScriptChecker.cpp Bug 1535530. Fix can-run-script analysis to not mishandle on-stack refs to RefPtrs. r=andi,masayuki 2020-03-06 09:57:45 +00:00
CanRunScriptChecker.h
Checks.inc Bug 1614371 - Move mozilla-performance-temp-refptr check to alpha checker repo. r=andi 2020-03-19 14:19:15 +00:00
ChecksIncludes.inc Bug 1614371 - Move mozilla-performance-temp-refptr check to alpha checker repo. r=andi 2020-03-19 14:19:15 +00:00
CustomAttributes.cpp Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
CustomAttributes.h Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
CustomAttributes.inc
CustomMatchers.h Bug 1611160 - Add Clang Plugin for nsIPrincipal r=ckerschb,andi 2020-03-03 14:30:36 +00:00
CustomTypeAnnotation.cpp
CustomTypeAnnotation.h
DanglingOnTemporaryChecker.cpp Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
DanglingOnTemporaryChecker.h
DiagnosticsMatcher.cpp Bug 1619921 - enable clang-plugin with support for alpha checkers module. r=froydnj,sg 2020-03-17 07:01:09 +00:00
DiagnosticsMatcher.h Bug 1619921 - enable clang-plugin with support for alpha checkers module. r=froydnj,sg 2020-03-17 07:01:09 +00:00
ExplicitImplicitChecker.cpp
ExplicitImplicitChecker.h
ExplicitOperatorBoolChecker.cpp Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
ExplicitOperatorBoolChecker.h
FopenUsageChecker.cpp
FopenUsageChecker.h Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
KungFuDeathGripChecker.cpp Bug 1605075 - Ignore kfdg variables initialized from xvalues in KungFuDeatGripChecker. r=andi 2020-04-09 09:48:13 +00:00
KungFuDeathGripChecker.h
LoadLibraryUsageChecker.cpp
LoadLibraryUsageChecker.h
Makefile.in
MemMoveAnnotation.h
MozCheckAction.cpp
MozillaTidyModule.cpp Bug 1619921 - enable clang-plugin with support for alpha checkers module. r=froydnj,sg 2020-03-17 07:01:09 +00:00
MustOverrideChecker.cpp
MustOverrideChecker.h
MustReturnFromCallerChecker.cpp Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
MustReturnFromCallerChecker.h
MustUseChecker.cpp
MustUseChecker.h
NaNExprChecker.cpp
NaNExprChecker.h
NeedsNoVTableTypeChecker.cpp
NeedsNoVTableTypeChecker.h
NoAddRefReleaseOnReturnChecker.cpp
NoAddRefReleaseOnReturnChecker.h
NoAutoTypeChecker.cpp
NoAutoTypeChecker.h
NoDuplicateRefCntMemberChecker.cpp
NoDuplicateRefCntMemberChecker.h
NoExplicitMoveConstructorChecker.cpp
NoExplicitMoveConstructorChecker.h
NoNewThreadsChecker.cpp Bug 1613440 - Add new clang plugin to deprecate NS_NewNamedThread r=andi 2020-02-27 12:53:54 +00:00
NoNewThreadsChecker.h Bug 1613440 - Add new clang plugin to deprecate NS_NewNamedThread r=andi 2020-02-27 12:53:54 +00:00
NoPrincipalGetURI.cpp Bug 1638576 - Correct spelling of "deprecated" (follow-up to bug 1611160). r=sylvestre 2020-05-17 20:20:38 +00:00
NoPrincipalGetURI.h Bug 1611160 - Add Clang Plugin for nsIPrincipal r=ckerschb,andi 2020-03-03 14:30:36 +00:00
NoUsingNamespaceMozillaJavaChecker.cpp Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
NoUsingNamespaceMozillaJavaChecker.h Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
NonMemMovableMemberChecker.cpp
NonMemMovableMemberChecker.h
NonMemMovableTemplateArgChecker.cpp
NonMemMovableTemplateArgChecker.h
NonParamInsideFunctionDeclChecker.cpp
NonParamInsideFunctionDeclChecker.h
NonTrivialTypeInFfiChecker.cpp
NonTrivialTypeInFfiChecker.h
OverrideBaseCallChecker.cpp
OverrideBaseCallChecker.h
OverrideBaseCallUsageChecker.cpp
OverrideBaseCallUsageChecker.h
ParamTraitsEnumChecker.cpp Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
ParamTraitsEnumChecker.h Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
RecurseGuard.h
RefCountedCopyConstructorChecker.cpp
RefCountedCopyConstructorChecker.h
RefCountedInsideLambdaChecker.cpp
RefCountedInsideLambdaChecker.h
ScopeChecker.cpp Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
ScopeChecker.h
SprintfLiteralChecker.cpp
SprintfLiteralChecker.h
StmtToBlockMap.h
ThirdPartyPaths.h
ThirdPartyPaths.py Bug 1617131 - Sort the list of third party paths. r=sylvestre 2020-02-21 11:04:12 +00:00
ThreadAllows.py Bug 1618720 - Generate the ThreadAllow list deterministically. r=erahm,dmajor 2020-02-28 00:41:47 +00:00
ThreadAllows.txt Bug 1634253 - P6. Remove MessageLoop use from gfx. r=kats,mattwoodrow 2020-05-08 20:20:44 +00:00
ThreadFileAllows.txt Bug 1613440 - Add new clang plugin to deprecate NS_NewNamedThread r=andi 2020-02-27 12:53:54 +00:00
TrivialCtorDtorChecker.cpp
TrivialCtorDtorChecker.h
TrivialDtorChecker.cpp Bug 1615826 - Reformat `clang-plugin` to LLVM standard. r=froydnj 2020-02-17 18:30:50 +00:00
TrivialDtorChecker.h
Utils.h Bug 1630383: Add irregexp to ignore list for implicit constructor static analysis r=sfink 2020-04-17 17:18:57 +00:00
VariableUsageHelpers.cpp
VariableUsageHelpers.h
import_mozilla_checks.py Bug 1625884 - move `clang-tidy` and `clang-format` to `clang-10`. r=nalexander 2020-04-09 14:16:44 +00:00
moz.build Bug 1614371 - Move mozilla-performance-temp-refptr check to alpha checker repo. r=andi 2020-03-19 14:19:15 +00:00
plugin.h