void BytecodeLivenessAnalysis::compute() { runLivenessFixpoint(m_graph); if (Options::dumpBytecodeLivenessResults()) dumpResults(); }
void ExtractNeighborsWorkflow::run() { const reference::SortedReferenceMetadata::MaskFiles &maskFiles = xml_.getMaskFileList(oligo::KmerTraits<KmerT>::KMER_BASES); if (maskFiles.empty()) { BOOST_THROW_EXCEPTION(isaac::common::PreConditionException("No mask files in " + sortedReferenceMetadata_.string())); } const reference::SortedReferenceMetadata::Contigs contigs = xml_.getKaryotypeOrderedContigs(); const std::vector<unsigned long> contigOffsets = reference::computeContigOffsets(contigs); std::vector<bool> neighbors(reference::genomeLength(contigs), false); std::vector<bool> highRepeats(highRepeatsFilePath_.empty() ? 0 : reference::genomeLength(contigs), true); // there could be mutliple mask widths in the xml. Just pick one. const unsigned maskWidth = xml_.getDefaultMaskWidth(); BOOST_FOREACH(const reference::SortedReferenceMetadata::MaskFile &maskFile, maskFiles) { //Don't reprocess redundant mask files of different widths if (maskWidth == maskFile.maskWidth) { scanMaskFile<KmerT>(maskFile, contigOffsets, neighbors, highRepeats); } } dumpResults(neighbors, highRepeats); }
void BytecodeLivenessAnalysis::compute() { computeBytecodeBasicBlocks(m_codeBlock, m_basicBlocks); ASSERT(m_basicBlocks.size()); runLivenessFixpoint(); if (Options::dumpBytecodeLivenessResults()) dumpResults(); }
void ExtractNeighborsWorkflow::run() { const reference::SortedReferenceMetadata::MaskFiles &maskFiles = xml_.getMaskFileList(oligo::KmerTraits<KmerT>::KMER_BASES); if (maskFiles.empty()) { BOOST_THROW_EXCEPTION(isaac::common::PreConditionException("No mask files in " + sortedReferenceMetadata_.string())); } const reference::SortedReferenceMetadata::Contigs contigs = xml_.getContigs(); const std::vector<uint64_t> contigOffsets = reference::computeContigOffsets(contigs); std::vector<unsigned> karyotypes; karyotypes.reserve(xml_.getContigs().size()); std::transform(xml_.getContigs().begin(), xml_.getContigs().end(), std::back_inserter(karyotypes), boost::bind(&reference::SortedReferenceMetadata::Contig::karyotypeIndex_, _1)); std::vector<bool> neighbors(reference::genomeLength(contigs), false); std::vector<bool> highRepeats(highRepeatsFilePath_.empty() ? 0 : reference::genomeLength(contigs), true); // there could be multiple mask widths in the xml. Just fail if there are. unsigned maskWidth = -1U; BOOST_FOREACH(const reference::SortedReferenceMetadata::MaskFile &maskFile, maskFiles) { if (-1U == maskWidth) { maskWidth = maskFile.maskWidth; } ISAAC_ASSERT_MSG(maskWidth == maskFile.maskWidth, "Mixed mask widths are not supported"); scanMaskFile<KmerT>(maskFile, contigOffsets, karyotypes, neighbors, highRepeats); } dumpResults(neighbors, highRepeats); }
void TestInvocation::invoke() { sizeWebViewForCurrentTest(m_pathOrURL.c_str()); updateLayoutType(m_pathOrURL.c_str()); updateTiledDrawingForCurrentTest(m_pathOrURL.c_str()); WKRetainPtr<WKStringRef> messageName = adoptWK(WKStringCreateWithUTF8CString("BeginTest")); WKRetainPtr<WKMutableDictionaryRef> beginTestMessageBody = adoptWK(WKMutableDictionaryCreate()); WKRetainPtr<WKStringRef> dumpFrameLoadDelegatesKey = adoptWK(WKStringCreateWithUTF8CString("DumpFrameLoadDelegates")); WKRetainPtr<WKBooleanRef> dumpFrameLoadDelegatesValue = adoptWK(WKBooleanCreate(shouldLogFrameLoadDelegates(m_pathOrURL.c_str()))); WKDictionaryAddItem(beginTestMessageBody.get(), dumpFrameLoadDelegatesKey.get(), dumpFrameLoadDelegatesValue.get()); WKRetainPtr<WKStringRef> dumpPixelsKey = adoptWK(WKStringCreateWithUTF8CString("DumpPixels")); WKRetainPtr<WKBooleanRef> dumpPixelsValue = adoptWK(WKBooleanCreate(m_dumpPixels)); WKDictionaryAddItem(beginTestMessageBody.get(), dumpPixelsKey.get(), dumpPixelsValue.get()); WKRetainPtr<WKStringRef> useWaitToDumpWatchdogTimerKey = adoptWK(WKStringCreateWithUTF8CString("UseWaitToDumpWatchdogTimer")); WKRetainPtr<WKBooleanRef> useWaitToDumpWatchdogTimerValue = adoptWK(WKBooleanCreate(TestController::shared().useWaitToDumpWatchdogTimer())); WKDictionaryAddItem(beginTestMessageBody.get(), useWaitToDumpWatchdogTimerKey.get(), useWaitToDumpWatchdogTimerValue.get()); WKContextPostMessageToInjectedBundle(TestController::shared().context(), messageName.get(), beginTestMessageBody.get()); TestController::shared().runUntil(m_gotInitialResponse, TestController::ShortTimeout); if (!m_gotInitialResponse) { m_errorMessage = "Timed out waiting for initial response from web process\n"; m_webProcessIsUnresponsive = true; goto end; } if (m_error) goto end; #if ENABLE(INSPECTOR) if (shouldOpenWebInspector(m_pathOrURL.c_str())) WKInspectorShow(WKPageGetInspector(TestController::shared().mainWebView()->page())); #endif // ENABLE(INSPECTOR) WKPageLoadURL(TestController::shared().mainWebView()->page(), m_url.get()); TestController::shared().runUntil(m_gotFinalMessage, TestController::shared().useWaitToDumpWatchdogTimer() ? TestController::LongTimeout : TestController::NoTimeout); if (!m_gotFinalMessage) { m_errorMessage = "Timed out waiting for final message from web process\n"; m_webProcessIsUnresponsive = true; goto end; } if (m_error) goto end; dumpResults(); end: #if ENABLE(INSPECTOR) if (m_gotInitialResponse) WKInspectorClose(WKPageGetInspector(TestController::shared().mainWebView()->page())); #endif // ENABLE(INSPECTOR) if (m_webProcessIsUnresponsive) dumpWebProcessUnresponsiveness(); else if (!TestController::shared().resetStateToConsistentValues()) { m_errorMessage = "Timed out loading about:blank before the next test"; dumpWebProcessUnresponsiveness(); } }