// Global variable to count how many DEX files passed DEX file verification and they were // registered, since these are the cases for which we would be running the GC. In case of // scheduling multiple fuzzer jobs, using the ‘-jobs’ flag, this is not shared among the threads. int skipped_gc_iterations = 0; // Global variable to call the GC once every maximum number of iterations. // TODO: These values were obtained from local experimenting. They can be changed after // further investigation. static constexpr int kMaxSkipGCIterations = 3000;
// Extra debugging information. static constexpr bool kDebugPrints = false;
std::unique_ptr<CompilerOptions> compiler_options;
std::unique_ptr<FuzzerCompilerCallbacks> callbacks; // No need for unique_ptr as it is just a fake storage.
FuzzerCompiledMethodStorage storage;
// Extra checks so that the fast fuzzer does something
CHECK(compiler_options->GetImplicitNullChecks());
CHECK(compiler_options->GetImplicitStackOverflowChecks());
CHECK(!compiler_options->GetDebuggable());
CHECK(!art::kUseTableLookupReadBarrier);
CHECK(art::kReserveMarkingRegister);
CHECK(!art::kPoisonHeapReferences); return0;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.