• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    編譯器中激進(jìn)蝴蝶優(yōu)化方法的研究與實(shí)現(xiàn)*

    2021-06-25 09:46:04朱廣林賴慶寬陳華英何先波
    關(guān)鍵詞:基本塊控制流編譯器

    朱廣林,呂 方,賴慶寬,陳華英,何先波

    (1.中國(guó)科學(xué)院計(jì)算技術(shù)研究所計(jì)算機(jī)體系結(jié)構(gòu)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100190;2.西華師范大學(xué)計(jì)算機(jī)學(xué)院,四川 南充 637009;3.中國(guó)民用航空飛行學(xué)院,四川 廣漢 618307)

    1 引言

    冗余代碼是程序中較為常見(jiàn)的問(wèn)題,通過(guò)動(dòng)態(tài)、靜態(tài)分析以及插樁方法都能定位到一些冗余代碼,可以輔助編譯器進(jìn)行冗余代碼刪除操作。但是,受限于保守的分析手段,編譯器中仍有一部分冗余代碼無(wú)法被發(fā)現(xiàn),以至于無(wú)法對(duì)其優(yōu)化。而程序中的冗余代碼會(huì)致使布局優(yōu)化難以實(shí)施,甚至?xí)?dǎo)致嚴(yán)重的寄存器溢出等問(wèn)題。

    編譯優(yōu)化是非常成熟的領(lǐng)域,國(guó)內(nèi)清華大學(xué)、中國(guó)科學(xué)院計(jì)算技術(shù)研究所以及國(guó)防科技大學(xué)和江南計(jì)算所等都有相關(guān)的研究和積累。例如,清華大學(xué)Zhou等人[1]將最小割法應(yīng)用于控制流圖形成的流網(wǎng)絡(luò)中,提出了最小割法的靜態(tài)單賦值部分冗余消除MC-SSAPRE(Min-Cut Static Single Assignment Partial Redundancy Elimination)算法,以獲得部分冗余消除的最大收益;周虎成[2]研究總結(jié)了現(xiàn)有的冗余消除優(yōu)化研究中存在的局限性,提出了有效的優(yōu)化方法,降低了數(shù)據(jù)流分析的復(fù)雜度。計(jì)算技術(shù)研究所Lü等人[3]提出一種空閑寄存器利用的代碼優(yōu)化方法,能夠有效減少寄存器溢出。但是,針對(duì)冗余代碼的優(yōu)化研究仍然有繼續(xù)深挖的必要性。

    編譯器的優(yōu)化性能受諸多因素影響,如何使編譯器結(jié)合處理器架構(gòu),將應(yīng)用程序的性能最大化地發(fā)揮出來(lái),是一個(gè)值得探索的方向。程序代碼在編譯器中的表示形式對(duì)編譯器的優(yōu)化性能有較大的影響,程序中的某些代碼重用或是優(yōu)化處理,可能會(huì)導(dǎo)致無(wú)效代碼的出現(xiàn)[4]。無(wú)效代碼是程序中不會(huì)被訪問(wèn)到的變量或不會(huì)被執(zhí)行到的代碼塊,消除無(wú)效代碼可以通過(guò)刪除程序中那些不影響運(yùn)行結(jié)果的部分,以節(jié)省代碼占用的內(nèi)存空間,提高程序執(zhí)行效率。編譯器中的無(wú)效代碼刪除算法依賴數(shù)據(jù)流分析技術(shù),該算法利用收集的全局信息,通過(guò)刪除無(wú)效變量或代碼塊,調(diào)整程序的控制流程圖,從而為優(yōu)化公共子表達(dá)式刪除、循環(huán)等創(chuàng)造條件[5]。GCC編譯器中保守的無(wú)效代碼刪除和常量傳播優(yōu)化,在函數(shù)調(diào)用層數(shù)或結(jié)構(gòu)體層數(shù)太多、復(fù)雜度太高時(shí),優(yōu)化效果存在一定的局限性。

    本文提出一種依賴數(shù)據(jù)流分析的激進(jìn)蝴蝶優(yōu)化方法,作為無(wú)效代碼刪除優(yōu)化的一個(gè)動(dòng)態(tài)擴(kuò)展方案,側(cè)重解決分支路徑與運(yùn)行時(shí)輸入?yún)?shù)值相關(guān)的這類應(yīng)用程序的優(yōu)化問(wèn)題。該方法利用靜態(tài)單賦值SSA(Static Single Assignment)中間表示,根據(jù)動(dòng)態(tài)運(yùn)行時(shí)輸入?yún)?shù)的傳遞過(guò)程,分析出特定區(qū)域中關(guān)鍵變量的可能值,結(jié)合變量值,自動(dòng)為程序生成多個(gè)代碼形狀類似蝴蝶(butterfly)的分支代碼,稱為butterfly分支,使編譯器在程序編譯階段,構(gòu)建出所有可能的流程分支。最后通過(guò)分析驗(yàn)證了該方法的可行性,并在SPEC CPU 2017上進(jìn)行實(shí)驗(yàn)測(cè)試取得了一定的性能提升。

    2 相關(guān)工作

    隨著機(jī)器學(xué)習(xí)技術(shù)的日趨成熟和在各領(lǐng)域的廣泛應(yīng)用,AI編譯器也呈現(xiàn)出蓬勃發(fā)展的態(tài)勢(shì),AI編譯器優(yōu)化技術(shù)的研究也愈加被重視。寒武紀(jì)針對(duì)智能處理器架構(gòu)而設(shè)計(jì)的BANG語(yǔ)言及其編譯工具鏈,提升了智能計(jì)算編譯器的開發(fā)效率。華為為解決安卓系統(tǒng)碎片化問(wèn)題研發(fā)了方舟編譯器。阿里巴巴和騰訊等眾多企業(yè)都為智能芯片搭載了相應(yīng)的編譯器。編譯優(yōu)化技術(shù)也越來(lái)越趨向自動(dòng)化和智能化。例如,為在眾多優(yōu)化方法中預(yù)測(cè)出程序最佳的編譯優(yōu)化參數(shù)組合,Ballal等人[6]提出一種迭代編譯的遺傳算法;劉慧等人[7]通過(guò)使用監(jiān)督學(xué)習(xí)的方法對(duì)函數(shù)特征進(jìn)行提取,并建立了學(xué)習(xí)模型以對(duì)程序最佳優(yōu)化參數(shù)組合進(jìn)行預(yù)測(cè)。而文獻(xiàn)[8]則是直接基于GCC開發(fā)更高效的機(jī)器學(xué)習(xí)編譯器Milepost GCC,并經(jīng)過(guò)系列優(yōu)化后能更好地減小代碼大小和縮短編譯時(shí)間,提高程序執(zhí)行效率。

    在傳統(tǒng)的編譯器優(yōu)化技術(shù)中,數(shù)據(jù)流分析方法被應(yīng)用于常量傳播、無(wú)效代碼刪除、向量化優(yōu)化、并行化和冗余刪除等諸多程序優(yōu)化技術(shù)中。數(shù)據(jù)流描述的是操作和數(shù)據(jù)之間的關(guān)系,由控制流圖CFG(Control Flow Graph)、基本塊(basic_block)等要素組成。在關(guān)于數(shù)據(jù)流分析問(wèn)題的研究中,連瑞琦等人[9]提出一種增量式數(shù)據(jù)流分析方法,該方法解決了數(shù)據(jù)流信息的失效和重算等問(wèn)題,能更好地處理、維護(hù)數(shù)據(jù)流信息。Li等人[10]采用運(yùn)行時(shí)數(shù)據(jù)流信息消除并行編譯器中無(wú)效代碼引起的不準(zhǔn)確問(wèn)題。汪小飛等人[11]介紹了數(shù)據(jù)流方程的幾種求解方法,給出了最常用的迭代求解算法的具體實(shí)現(xiàn),并簡(jiǎn)要分析了GCC編譯器中的數(shù)據(jù)流分析實(shí)現(xiàn)方法。楊小川等人[12]根據(jù)分析關(guān)鍵變量的數(shù)據(jù)流信息,提出了一種程序切片技術(shù),通過(guò)該技術(shù)能更好地利用編譯時(shí)信息,減小程序的規(guī)模。

    基于數(shù)據(jù)流分析方法的靜態(tài)單賦值SSA表示在現(xiàn)代編譯器甚至是虛擬機(jī)中都有著極其重要的作用,它的出現(xiàn)使數(shù)據(jù)流分析和優(yōu)化算法實(shí)現(xiàn)更容易。文獻(xiàn)[1]提出了MC-SSAPRE算法,以獲得部分冗余消除的最大收益。文獻(xiàn)[2]研究總結(jié)了現(xiàn)有的冗余消除優(yōu)化中存在的局限性,提出了更為有效的優(yōu)化方法。文獻(xiàn)[13]根據(jù)數(shù)據(jù)流分析結(jié)果,針對(duì)部分冗余消除優(yōu)化進(jìn)行了論述和變換證明。文獻(xiàn)[14]提出基于代碼動(dòng)作擴(kuò)展的部分無(wú)效代碼刪除,有效提高了優(yōu)化效率。

    3 激進(jìn)蝴蝶優(yōu)化方法的設(shè)計(jì)與實(shí)現(xiàn)

    3.1 總體設(shè)計(jì)

    程序的總體設(shè)計(jì)示意圖如圖1所示,假設(shè)指定代碼區(qū)域在函數(shù)functionA中,該區(qū)域程序的流程分支與type參數(shù)的取值相關(guān),且依賴于運(yùn)行時(shí)參數(shù),可能值為a、b或c,只有當(dāng)type值為b時(shí)才是有效的流程分支;而當(dāng)type值為a或者c時(shí),該區(qū)域代碼為無(wú)效代碼,此時(shí)不再需要進(jìn)行邏輯運(yùn)算,可以直接刪除。因此,通過(guò)設(shè)計(jì)butterfly優(yōu)化,對(duì)該區(qū)域代碼創(chuàng)建條件分別為type等于a,b和c的3個(gè)流程分支,使程序在編譯期為代碼可能的參數(shù)值生成條件分支,在程序運(yùn)行時(shí)根據(jù)輸入?yún)?shù)值可以直接運(yùn)行正確的流程分支,從而避免代碼中不必要的邏輯運(yùn)算。

    Figure 1 Schematic diagram of the overall design of the program

    3.2 SSA中間表示介紹

    靜態(tài)單賦值(SSA)表示是和前端語(yǔ)言與目標(biāo)機(jī)器無(wú)關(guān)的一種中間表示,它在程序的編譯過(guò)程中對(duì)每條語(yǔ)句的變量定義一個(gè)唯一的名稱[15]。通過(guò)使用靜態(tài)單賦值中間表示能簡(jiǎn)化程序的全局過(guò)程間優(yōu)化,它消除了復(fù)雜的尋址方式和指令語(yǔ)義的副作用[16],是一種不可或缺的全局過(guò)程間數(shù)據(jù)流分析形式,不管是GCC、LLVM這些開源編譯器或是ICC、AOCC等商業(yè)編譯器都在使用SSA形式的中間表示[17]。

    GCC中的Tree-SSA包含原始程序的完整控制、數(shù)據(jù)和類型信息,是一種基于SSA表示的擴(kuò)展型框架,它對(duì)GCC的樹表示進(jìn)行操作[18]。GIMPLE中間表示轉(zhuǎn)換為SSA中間表示之后經(jīng)過(guò)了多個(gè)SSA pass優(yōu)化才轉(zhuǎn)換為寄存器傳輸語(yǔ)言RTL(Register Transform Language)中間表示,然后在RTL上根據(jù)機(jī)器模型進(jìn)行指令選擇并輸出最終的目標(biāo)文件。

    3.3 構(gòu)建butterfly分支

    butterfly分支由控制流圖的基本塊(basic_block)復(fù)制而來(lái)。程序控制流圖中一個(gè)流程分支的基本塊從另一部分復(fù)制而來(lái),再通過(guò)獲取變量最終所有可能的值、切分原始基本塊之間的連接邊、創(chuàng)建條件基本塊并構(gòu)建then分支和else分支以形成具有2個(gè)或多個(gè)流程分支的控制流程圖,它的每一個(gè)分支即稱為butterfly分支。

    構(gòu)建butterfly分支是該方法的核心部分,通過(guò)對(duì)程序的指定區(qū)域創(chuàng)建條件判斷語(yǔ)句,構(gòu)建出butterfly分支,調(diào)整修復(fù)控制流圖,并更新SSA的PHI節(jié)點(diǎn)信息,得到的代碼中包含了幾個(gè)流程分支條件及其對(duì)應(yīng)分支代碼,再經(jīng)過(guò)常量傳播、無(wú)效數(shù)據(jù)刪除等全局優(yōu)化之后簡(jiǎn)化控制流。這一系列操作在編譯器的編譯階段進(jìn)行,在程序的運(yùn)行階段會(huì)根據(jù)輸入的參數(shù)值,找到正確的流程分支,從而簡(jiǎn)化程序中不必要的邏輯運(yùn)算,減少運(yùn)行時(shí)間,以此達(dá)到對(duì)程序優(yōu)化的目的。

    如圖2所示是具有2個(gè)butterfly分支的控制流圖抽象模型。圖2中包含了原始代碼的控制流圖和進(jìn)行butterfly優(yōu)化之后的控制流圖。

    Figure 2 Abstract model of butterfly control flow graph

    圖2a是一個(gè)簡(jiǎn)化的程序控制流圖,其包含1個(gè)entry_bb、1個(gè)exit_bb和程序的主體代碼基本塊,它們分別通過(guò)ENTRY_EDGE、EXIT_EDGE和ORIG_BBS進(jìn)行關(guān)聯(lián)。圖2b所示是將源碼控制流圖抽象成butterfly的設(shè)計(jì)模式,corig_bbs是根據(jù)orig_bbs復(fù)制而來(lái)的代碼主要邏輯部分,作為條件語(yǔ)句塊cond_bb2的then分支,false_bb是由orig_bbs中EXIT基本塊的前置基本塊復(fù)制而來(lái),作為條件語(yǔ)句塊cond_bb2的else分支,條件語(yǔ)句塊cond_bb1和cond_bb2是根據(jù)參數(shù)的2個(gè)可能值創(chuàng)建出的基本塊,cond_bb2作為cond_bb1的else分支,orig_bbs基本塊作為條件語(yǔ)句塊cond_bb1的then分支。

    若判斷出參數(shù)有多個(gè)可能的值,需要對(duì)程序代碼創(chuàng)建多個(gè)分支結(jié)構(gòu),則可按照該butterfly的控制流圖模型繼續(xù)創(chuàng)建條件基本塊cond_bb3,并添加其then分支和else分支代碼。如圖3所示,條件基本塊cond_bb2的else分支指向一個(gè)新創(chuàng)建的基本塊,以此形成一個(gè)新的語(yǔ)句分支,表明該方法在復(fù)雜的控制流結(jié)構(gòu)中的適用性。

    Figure 3 Abstract model of control flow graph with multiple of possible values of parameters

    3.4 與其它優(yōu)化組合

    在GCC編譯器中Tree-SSA上進(jìn)行的優(yōu)化包括:無(wú)效數(shù)據(jù)刪除、無(wú)效指令和存儲(chǔ)刪除、公共子表達(dá)式消除、部分循環(huán)優(yōu)化以及常量傳播等。本文提出的激進(jìn)蝴蝶優(yōu)化方法處于SSA優(yōu)化pass的前期部分,能有效結(jié)合SSA中間表示上的其余優(yōu)化,最大化地發(fā)揮出組合優(yōu)化的性能。LLVM編譯器中的SSA中間表示是各階段使用的通用代碼,貫穿于整個(gè)中間過(guò)程,眾多優(yōu)化pass都在SSA上進(jìn)行,該方法能有效結(jié)合其它優(yōu)化方法,發(fā)揮出優(yōu)化效果。

    對(duì)于一些邏輯相對(duì)較復(fù)雜的程序代碼,采用激進(jìn)蝴蝶優(yōu)化方法對(duì)局部代碼構(gòu)建butterfly分支后,代碼中包含參數(shù)取值的流程分支。在程序運(yùn)行時(shí)這些流程分支中只有一個(gè)會(huì)被執(zhí)行,這便會(huì)促進(jìn)SSA上眾多優(yōu)化操作的進(jìn)行。對(duì)于邏輯相對(duì)較簡(jiǎn)單的程序,通過(guò)控制流分析或相關(guān)支配關(guān)系優(yōu)化,可以找出程序中的部分常量和不可訪問(wèn)的代碼段,直接刪除無(wú)效代碼段,從而達(dá)到優(yōu)化效果。

    4 實(shí)驗(yàn)與結(jié)果分析

    4.1 實(shí)驗(yàn)平臺(tái)

    為了對(duì)本文提出的激進(jìn)蝴蝶優(yōu)化方法的可行性和有效性進(jìn)行評(píng)估,本文主要采用GCC編譯器進(jìn)行實(shí)驗(yàn),將優(yōu)化方法應(yīng)用到GCC 8.2.0編譯器,在Intel的Ubuntu Linux和AMD的Red Hat Linux 2種平臺(tái)上,對(duì)優(yōu)化前后的GCC 8.2.0編譯器進(jìn)行實(shí)驗(yàn)。表1給出了實(shí)驗(yàn)中所使用平臺(tái)的主要信息。

    Table 1 Main information of the experimental platform

    在Intel和AMD 2種平臺(tái)上,對(duì)GCC 8.2.0編譯器進(jìn)行SPEC CPU 2017基準(zhǔn)測(cè)試。SPEC CPU 2017包含43個(gè)基準(zhǔn)測(cè)試套件,涵蓋區(qū)域海洋模擬、天氣預(yù)報(bào)等眾多領(lǐng)域,是一套被國(guó)際上廣泛用于評(píng)估編譯器性能的標(biāo)準(zhǔn)測(cè)試套件[19,20]。選定優(yōu)化前GCC 8.2.0編譯器為參考編譯器(base compiler),優(yōu)化后的GCC 8.2.0編譯器為目標(biāo)編譯器(target compiler),使用ref輸入數(shù)據(jù)集進(jìn)行基準(zhǔn)測(cè)試。

    采用測(cè)試結(jié)果的ratio值來(lái)進(jìn)行編譯器優(yōu)化前后的性能對(duì)比,根據(jù)式(1),以參考編譯器運(yùn)行benchmark得出的ratio值為基準(zhǔn),根據(jù)目標(biāo)編譯器運(yùn)行benchmark得出的ratio值計(jì)算出目標(biāo)編譯器的性能提升比ratiospeedup。

    (1)

    4.2 方法的可行性分析

    在可行性方面,采用優(yōu)化前的編譯器編譯經(jīng)手工修改的代碼,若得到的關(guān)鍵中間表示與優(yōu)化后的編譯器編譯原始代碼得到的關(guān)鍵中間表示一致,說(shuō)明該方法可行。

    下面列舉了一個(gè)示例程序以及該示例程序的源碼butterfly變換:

    示例代碼:

    long functionA(const Typetype){

    longi;

    longresult=0;

    longresult1=0;

    unsignedj=0;

    for(j=0;j<100000;++j){

    for(i=0;i

    inttemp;

    get_value(i,&temp);

    result+=temp;

    }

    }

    if(type&type1){

    result1=getResult(result);

    }

    returnresult1;

    }

    源碼butterfly變換:

    long functionA(const Typetype){

    longi;

    longresult=0;

    longresult1=0;

    unsignedj=0;

    if(type==type1){

    for(j=0;j<100000;++j){

    for(i=0;i

    inttemp;

    get_value(i,&temp);

    result+=temp;

    }

    }

    if(type&type1){

    result1=getResult(result);

    }

    }

    if(type==type2){

    ……

    }

    returnresult1;

    }

    示例代碼描述了一個(gè)循環(huán)計(jì)算的熱區(qū)域,for循環(huán)在某種常數(shù)參數(shù)下為冗余代碼,其計(jì)算結(jié)果result在其后的條件判斷中使用。條件語(yǔ)句中參數(shù)type的取值與運(yùn)行時(shí)輸入的參數(shù)值相關(guān),該參數(shù)的可能值為type1和type2。源碼butterfly變換是根據(jù)type1和type2這2個(gè)取值來(lái)創(chuàng)建2個(gè)代碼分支,一個(gè)進(jìn)行激進(jìn)冗余刪除優(yōu)化,另一個(gè)維持原有保守設(shè)計(jì),確保非常數(shù)參數(shù)條件下的正確性。

    以上述代碼為實(shí)驗(yàn)代碼,進(jìn)行2組對(duì)照實(shí)驗(yàn),以對(duì)比編譯器優(yōu)化前后的控制流程圖。圖4a所示為采用優(yōu)化后的編譯器編譯示例代碼所得到的控制流程圖。圖4b所示是對(duì)上述源碼butterfly變換后的代碼采用優(yōu)化前的編譯器進(jìn)行編譯所得到的控制流程圖。

    圖4a示例代碼的控制流圖中return語(yǔ)句所在的基本塊和得到結(jié)果值的基本塊被合并為bb17,所以比圖4b少一個(gè)基本塊bb18。從實(shí)驗(yàn)結(jié)果可以看出,編譯器優(yōu)化前后的控制流圖一致,通過(guò)對(duì)比分析其匯編碼也有相似的結(jié)構(gòu),由此說(shuō)明該優(yōu)化方法可行。

    Figure 4 Control flow graph before and after compiler optimization

    4.3 方法的有效性分析

    在方法的有效性方面,主要通過(guò)在Intel和AMD的2個(gè)平臺(tái)上分別進(jìn)行基準(zhǔn)測(cè)試,觀察其性能表現(xiàn)。第1組實(shí)驗(yàn)在Intel平臺(tái)上進(jìn)行,分別使用優(yōu)化前GCC和優(yōu)化后的GCC對(duì)SPEC CPU 2017進(jìn)行ref數(shù)據(jù)集的浮點(diǎn)測(cè)試;第2組實(shí)驗(yàn)在AMD平臺(tái)上進(jìn)行,同樣采用優(yōu)化前后的GCC進(jìn)行ref數(shù)據(jù)集的浮點(diǎn)測(cè)試,分別得出在638.imagick_s測(cè)試用例上的ratio值。

    根據(jù)式(1)對(duì)實(shí)驗(yàn)的ratio值進(jìn)行計(jì)算得到性能提升比,如圖5所示。實(shí)驗(yàn)數(shù)據(jù)表明,對(duì)于638.imagick_s測(cè)試用例,在Intel平臺(tái)上,優(yōu)化改進(jìn)后的GCC 8.2.0性能提升比達(dá)到了26%,在AMD平臺(tái)上的性能提升比達(dá)到了25%,該優(yōu)化方法的有效性得到了驗(yàn)證。

    Figure 5 Performance comparison of dead code elimination optimization dynamic extension technology of 638 imagick_s benchmark on Intel and AMD platforms

    綜合以上實(shí)驗(yàn)論述,驗(yàn)證了本文提出的激進(jìn)蝴蝶優(yōu)化方法的可行性和有效性。通過(guò)對(duì)程序代碼塊構(gòu)建butterfly分支可以有效進(jìn)行無(wú)效代碼的刪除,達(dá)到提升程序性能的目的。

    5 結(jié)束語(yǔ)

    本文提出一種依賴數(shù)據(jù)流分析的激進(jìn)蝴蝶優(yōu)化方法,作為無(wú)效代碼刪除優(yōu)化的一個(gè)動(dòng)態(tài)擴(kuò)展方案,最后通過(guò)實(shí)驗(yàn)驗(yàn)證了該方法在GCC編譯器上的可行性和有效性。該方法利用SSA中間表示,根據(jù)動(dòng)態(tài)運(yùn)行時(shí)輸入?yún)?shù)的傳遞過(guò)程,分析出特定區(qū)域中關(guān)鍵變量的可能值,結(jié)合變量值,自動(dòng)為程序生成多個(gè)代碼形狀類似butterfly的分支代碼,使編譯器在程序編譯階段為無(wú)效代碼刪除等相關(guān)組合優(yōu)化提供可行的優(yōu)化依據(jù)。該方法通過(guò)構(gòu)建butterfly分支能調(diào)整程序的控制流程圖,以促進(jìn)其它優(yōu)化的進(jìn)行。接下來(lái)的工作是優(yōu)化改進(jìn)該方法,使其能在更多的程序中發(fā)揮優(yōu)化作用,并且能做出更激進(jìn)的優(yōu)化,更自動(dòng)化的判斷。

    猜你喜歡
    基本塊控制流編譯器
    基于級(jí)聯(lián)森林的控制流錯(cuò)誤檢測(cè)優(yōu)化算法
    抵御控制流分析的Python 程序混淆算法
    距離與權(quán)重相結(jié)合的導(dǎo)向式灰盒模糊測(cè)試方法
    工控系統(tǒng)中PLC安全漏洞及控制流完整性研究
    電子科技(2021年2期)2021-01-08 02:25:58
    抵御控制流分析的程序混淆算法
    一種檢測(cè)控制流錯(cuò)誤的多層分段標(biāo)簽方法
    基于相異編譯器的安全計(jì)算機(jī)平臺(tái)交叉編譯環(huán)境設(shè)計(jì)
    基于控制流隱藏的代碼迷惑
    通用NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn)
    改進(jìn)的CFCSS控制流檢測(cè)算法
    69av精品久久久久久| 亚洲国产精品国产精品| 99re6热这里在线精品视频| 日韩人妻高清精品专区| 亚州av有码| 少妇裸体淫交视频免费看高清| 日韩亚洲欧美综合| 99热这里只有是精品50| 最近中文字幕2019免费版| 欧美日韩视频精品一区| 激情 狠狠 欧美| 免费观看的影片在线观看| 晚上一个人看的免费电影| 97超碰精品成人国产| 永久免费av网站大全| 精品久久久久久电影网| 精品一区在线观看国产| 99热6这里只有精品| 又黄又爽又刺激的免费视频.| 成人免费观看视频高清| 草草在线视频免费看| 黄色怎么调成土黄色| 国产精品99久久99久久久不卡 | 中文天堂在线官网| 男女边吃奶边做爰视频| 麻豆乱淫一区二区| 人妻一区二区av| 日日啪夜夜撸| 久久人人爽av亚洲精品天堂 | 少妇的逼水好多| 人妻夜夜爽99麻豆av| 少妇人妻久久综合中文| 美女cb高潮喷水在线观看| 直男gayav资源| 成年版毛片免费区| 久久久久久伊人网av| 久久韩国三级中文字幕| 中文字幕制服av| 十八禁网站网址无遮挡 | 在线看a的网站| 各种免费的搞黄视频| 性色avwww在线观看| 直男gayav资源| 夫妻性生交免费视频一级片| 97超视频在线观看视频| 校园人妻丝袜中文字幕| 搡老乐熟女国产| 99热网站在线观看| 精品久久久久久电影网| 亚洲一级一片aⅴ在线观看| 少妇人妻久久综合中文| 久久ye,这里只有精品| 亚洲国产色片| 尾随美女入室| 日韩中字成人| 一区二区三区免费毛片| 大又大粗又爽又黄少妇毛片口| 精品熟女少妇av免费看| 欧美另类一区| 91精品国产九色| 99re6热这里在线精品视频| 深夜a级毛片| 国产精品爽爽va在线观看网站| 最近2019中文字幕mv第一页| 日日摸夜夜添夜夜添av毛片| 又大又黄又爽视频免费| 婷婷色综合www| 乱码一卡2卡4卡精品| 一级毛片黄色毛片免费观看视频| 国产男女内射视频| 狂野欧美白嫩少妇大欣赏| 久久这里有精品视频免费| 日韩欧美 国产精品| 国产一区亚洲一区在线观看| 久久精品夜色国产| 十八禁网站网址无遮挡 | 久久久亚洲精品成人影院| 精品久久国产蜜桃| 国产精品伦人一区二区| 色网站视频免费| 国产成人免费观看mmmm| 国国产精品蜜臀av免费| 精品少妇黑人巨大在线播放| 97在线人人人人妻| 在线精品无人区一区二区三 | 欧美成人一区二区免费高清观看| 一级二级三级毛片免费看| 99久久精品国产国产毛片| 成人鲁丝片一二三区免费| 97超碰精品成人国产| 欧美精品一区二区大全| 亚洲精品乱久久久久久| 久久99热这里只频精品6学生| 亚洲人与动物交配视频| 伦精品一区二区三区| 久久精品熟女亚洲av麻豆精品| 一个人看视频在线观看www免费| 三级男女做爰猛烈吃奶摸视频| 成人黄色视频免费在线看| 国产伦精品一区二区三区视频9| 色吧在线观看| 亚洲伊人久久精品综合| 久久久久久久精品精品| 女的被弄到高潮叫床怎么办| 国产有黄有色有爽视频| 国产精品人妻久久久影院| 午夜爱爱视频在线播放| 国产欧美亚洲国产| 日韩精品有码人妻一区| 插阴视频在线观看视频| 精品一区二区三卡| 亚洲真实伦在线观看| 在线观看国产h片| 在线免费观看不下载黄p国产| 成人美女网站在线观看视频| 亚洲精品日韩在线中文字幕| 一区二区三区四区激情视频| 国产野战对白在线观看| 午夜日本视频在线| 看免费av毛片| 波多野结衣av一区二区av| 免费观看av网站的网址| 久久ye,这里只有精品| 亚洲五月色婷婷综合| 亚洲人成网站在线观看播放| av福利片在线| 免费在线观看视频国产中文字幕亚洲 | 久久久久久久久久久久大奶| 9色porny在线观看| 男人舔女人的私密视频| 亚洲第一区二区三区不卡| 美女扒开内裤让男人捅视频| 欧美精品亚洲一区二区| 精品视频人人做人人爽| 亚洲av日韩精品久久久久久密 | av福利片在线| 欧美日本中文国产一区发布| 国产成人精品久久久久久| 亚洲七黄色美女视频| 亚洲精品日韩在线中文字幕| 大码成人一级视频| 好男人视频免费观看在线| 一区二区三区四区激情视频| 黑人猛操日本美女一级片| 精品午夜福利在线看| 人妻人人澡人人爽人人| 一区二区日韩欧美中文字幕| 99热国产这里只有精品6| 精品久久久精品久久久| 人妻 亚洲 视频| 国产精品成人在线| 国产免费视频播放在线视频| 国产av一区二区精品久久| 国产精品偷伦视频观看了| 啦啦啦视频在线资源免费观看| 欧美av亚洲av综合av国产av | 如何舔出高潮| 老鸭窝网址在线观看| 黄片播放在线免费| 欧美在线黄色| 国产精品无大码| 热re99久久国产66热| 男人添女人高潮全过程视频| 亚洲色图 男人天堂 中文字幕| 久久久久久久精品精品| 熟女少妇亚洲综合色aaa.| 国产乱人偷精品视频| 97在线人人人人妻| 免费在线观看完整版高清| 两个人免费观看高清视频| 久热这里只有精品99| 天天添夜夜摸| 在线观看免费午夜福利视频| 国产视频首页在线观看| 久久精品亚洲熟妇少妇任你| 午夜福利乱码中文字幕| 国产精品一国产av| 女性被躁到高潮视频| 欧美人与善性xxx| 日韩精品有码人妻一区| 麻豆乱淫一区二区| 亚洲成色77777| 色综合欧美亚洲国产小说| 热re99久久精品国产66热6| 夫妻性生交免费视频一级片| 黄片播放在线免费| 日韩电影二区| 午夜老司机福利片| 欧美成人午夜精品| 国产男女超爽视频在线观看| 日韩av免费高清视频| 免费看av在线观看网站| 伊人亚洲综合成人网| 国产av国产精品国产| 国产成人系列免费观看| 亚洲一卡2卡3卡4卡5卡精品中文| 国产片特级美女逼逼视频| 国产在线视频一区二区| 国产亚洲最大av| 久久久久久久大尺度免费视频| 久久精品国产亚洲av高清一级| 精品第一国产精品| av在线app专区| 国产高清不卡午夜福利| 最近最新中文字幕免费大全7| 国产精品一区二区精品视频观看| 国产在线免费精品| 午夜久久久在线观看| 国产一级毛片在线| 日韩av不卡免费在线播放| 啦啦啦在线免费观看视频4| 免费少妇av软件| 成人黄色视频免费在线看| 热99国产精品久久久久久7| 久久av网站| 国产精品亚洲av一区麻豆 | 麻豆av在线久日| 嫩草影院入口| 久久毛片免费看一区二区三区| 成人国产麻豆网| 久久久久精品性色| 国产精品av久久久久免费| 搡老乐熟女国产| 精品亚洲成a人片在线观看| 欧美精品人与动牲交sv欧美| 啦啦啦视频在线资源免费观看| 午夜福利乱码中文字幕| 国产97色在线日韩免费| 女的被弄到高潮叫床怎么办| 大香蕉久久成人网| 欧美 亚洲 国产 日韩一| 国产在线视频一区二区| 一级毛片电影观看| 欧美97在线视频| 精品国产乱码久久久久久小说| 亚洲综合精品二区| 国产在线免费精品| 欧美日韩视频高清一区二区三区二| 亚洲国产毛片av蜜桃av| 欧美人与性动交α欧美精品济南到| 老司机影院成人| 在线天堂中文资源库| 久久久国产一区二区| 国产欧美日韩一区二区三区在线| av在线观看视频网站免费| 丰满少妇做爰视频| 国产在线视频一区二区| 成人18禁高潮啪啪吃奶动态图| 涩涩av久久男人的天堂| 日本一区二区免费在线视频| 国产无遮挡羞羞视频在线观看| 国产成人精品久久二区二区91 | 国产成人午夜福利电影在线观看| 熟女少妇亚洲综合色aaa.| 亚洲av成人不卡在线观看播放网 | 成人毛片60女人毛片免费| 亚洲精品av麻豆狂野| 久久久欧美国产精品| 桃花免费在线播放| 久久精品国产a三级三级三级| 十八禁人妻一区二区| 免费在线观看视频国产中文字幕亚洲 | 日韩中文字幕欧美一区二区 | 成人黄色视频免费在线看| 免费观看性生交大片5| 极品人妻少妇av视频| 伊人亚洲综合成人网| 啦啦啦在线观看免费高清www| 午夜91福利影院| 美女主播在线视频| 一级毛片电影观看| 国语对白做爰xxxⅹ性视频网站| 婷婷色av中文字幕| av视频免费观看在线观看| 日本色播在线视频| 2021少妇久久久久久久久久久| 亚洲久久久国产精品| 女人精品久久久久毛片| 国精品久久久久久国模美| 蜜桃国产av成人99| 19禁男女啪啪无遮挡网站| 少妇人妻精品综合一区二区| 人人妻,人人澡人人爽秒播 | 宅男免费午夜| 中国三级夫妇交换| 久久精品久久久久久久性| 成年美女黄网站色视频大全免费| 天美传媒精品一区二区| 精品视频人人做人人爽| 亚洲欧洲国产日韩| 日韩 亚洲 欧美在线| 亚洲av电影在线进入| 亚洲精品国产色婷婷电影| 国产亚洲av片在线观看秒播厂| 免费人妻精品一区二区三区视频| 高清欧美精品videossex| 国产一区二区三区综合在线观看| 自拍欧美九色日韩亚洲蝌蚪91| 中文字幕制服av| 国产av码专区亚洲av| 又大又黄又爽视频免费| 中文乱码字字幕精品一区二区三区| 一区二区日韩欧美中文字幕| 美女主播在线视频| 老司机在亚洲福利影院| 一区二区日韩欧美中文字幕| 免费观看a级毛片全部| 色婷婷久久久亚洲欧美| 性高湖久久久久久久久免费观看| 啦啦啦在线观看免费高清www| 国产无遮挡羞羞视频在线观看| 国产高清不卡午夜福利| 多毛熟女@视频| 老司机在亚洲福利影院| 国产不卡av网站在线观看| 亚洲精品aⅴ在线观看| av卡一久久| 亚洲国产看品久久| 国产免费福利视频在线观看| 成人国产av品久久久| 国产99久久九九免费精品| 黑人巨大精品欧美一区二区蜜桃| 免费高清在线观看日韩| 2018国产大陆天天弄谢| 黄网站色视频无遮挡免费观看| 美女高潮到喷水免费观看| 18禁裸乳无遮挡动漫免费视频| 97人妻天天添夜夜摸| 欧美激情极品国产一区二区三区| 操美女的视频在线观看| 侵犯人妻中文字幕一二三四区| 欧美日本中文国产一区发布| 各种免费的搞黄视频| 青春草国产在线视频| 老司机影院毛片| 免费av中文字幕在线| 午夜精品国产一区二区电影| 肉色欧美久久久久久久蜜桃| 成人漫画全彩无遮挡| 日日啪夜夜爽| 亚洲精品自拍成人| 国产在视频线精品| 99国产综合亚洲精品| 99久久99久久久精品蜜桃| 亚洲中文av在线| 国产av国产精品国产| 亚洲精品美女久久久久99蜜臀 | 国产亚洲一区二区精品| 日本av免费视频播放| 韩国高清视频一区二区三区| 亚洲色图 男人天堂 中文字幕| 久久精品久久久久久久性| 亚洲精品日韩在线中文字幕| 国产精品一二三区在线看| 国产极品天堂在线| 一区二区三区激情视频| 制服诱惑二区| 国产精品久久久久久久久免| 波多野结衣一区麻豆| 国产亚洲一区二区精品| 一区在线观看完整版| 蜜桃国产av成人99| 久久精品久久久久久噜噜老黄| 亚洲国产成人一精品久久久| 久久久久精品久久久久真实原创| 人人妻,人人澡人人爽秒播 | 久久热在线av| 欧美人与善性xxx| 午夜免费鲁丝| 大香蕉久久网| 亚洲国产欧美网| 日韩不卡一区二区三区视频在线| 亚洲av成人不卡在线观看播放网 | 日本av免费视频播放| 久久久久久免费高清国产稀缺| 欧美精品一区二区免费开放| 国产一级毛片在线| 亚洲欧美成人综合另类久久久| 伊人久久大香线蕉亚洲五| 国产极品粉嫩免费观看在线| av在线app专区| 最近最新中文字幕免费大全7| 精品人妻一区二区三区麻豆| 99精品久久久久人妻精品| 久久久久久久国产电影| 99久久精品国产亚洲精品| av线在线观看网站| 色吧在线观看| 巨乳人妻的诱惑在线观看| 国产国语露脸激情在线看| 成年人午夜在线观看视频| 国产毛片在线视频| 高清av免费在线| www.自偷自拍.com| 日本一区二区免费在线视频| 啦啦啦啦在线视频资源| 国产精品一国产av| 日韩制服丝袜自拍偷拍| 久久久久视频综合| 午夜免费观看性视频| 久久久久精品国产欧美久久久 | 下体分泌物呈黄色| 男女边摸边吃奶| 国产精品免费视频内射| 国产一区二区三区av在线| 亚洲av综合色区一区| 中文字幕人妻熟女乱码| 国产乱人偷精品视频| 成人国语在线视频| 亚洲国产看品久久| 亚洲国产精品一区三区| 亚洲精品美女久久av网站| 国产成人av激情在线播放| 日韩,欧美,国产一区二区三区| 国产av国产精品国产| 90打野战视频偷拍视频| 亚洲欧美清纯卡通| 精品福利永久在线观看| 日韩一区二区三区影片| 99热国产这里只有精品6| 伊人久久国产一区二区| 精品午夜福利在线看| 午夜福利乱码中文字幕| 丰满迷人的少妇在线观看| 亚洲久久久国产精品| 啦啦啦中文免费视频观看日本| 国产免费现黄频在线看| 日韩欧美精品免费久久| 国产福利在线免费观看视频| 青春草国产在线视频| 亚洲熟女精品中文字幕| 女人高潮潮喷娇喘18禁视频| 国产男人的电影天堂91| 国产精品国产av在线观看| 亚洲欧洲精品一区二区精品久久久 | 在线看a的网站| a 毛片基地| 丝袜人妻中文字幕| 999久久久国产精品视频| 精品一区二区三区四区五区乱码 | 久久亚洲国产成人精品v| 青青草视频在线视频观看| 久久鲁丝午夜福利片| 精品少妇内射三级| 在线天堂最新版资源| 亚洲综合精品二区| 亚洲激情五月婷婷啪啪| 中文字幕亚洲精品专区| 国产97色在线日韩免费| 赤兔流量卡办理| 国产片内射在线| 男女床上黄色一级片免费看| 国产精品.久久久| 一二三四中文在线观看免费高清| 国产成人精品在线电影| 亚洲精品国产av成人精品| 电影成人av| 一区二区三区激情视频| 国产一区二区在线观看av| 亚洲欧美色中文字幕在线| www.精华液| 亚洲成av片中文字幕在线观看| 啦啦啦视频在线资源免费观看| 欧美日韩亚洲综合一区二区三区_| 我要看黄色一级片免费的| 人成视频在线观看免费观看| 国产无遮挡羞羞视频在线观看| 久久精品久久久久久噜噜老黄| 波多野结衣av一区二区av| 美女扒开内裤让男人捅视频| 亚洲精品美女久久久久99蜜臀 | 十八禁高潮呻吟视频| 国产一区亚洲一区在线观看| 黄片小视频在线播放| 热re99久久国产66热| 亚洲第一区二区三区不卡| 精品少妇一区二区三区视频日本电影 | 搡老乐熟女国产| 久久鲁丝午夜福利片| 精品久久久精品久久久| 日韩av在线免费看完整版不卡| 亚洲精品国产区一区二| 亚洲av男天堂| 亚洲人成网站在线观看播放| 亚洲精品av麻豆狂野| 亚洲第一区二区三区不卡| 久热爱精品视频在线9| 一区在线观看完整版| 精品亚洲成国产av| 国产亚洲午夜精品一区二区久久| 不卡视频在线观看欧美| 亚洲国产最新在线播放| 亚洲精品aⅴ在线观看| 亚洲精品国产区一区二| 亚洲免费av在线视频| 赤兔流量卡办理| 久久精品久久精品一区二区三区| 你懂的网址亚洲精品在线观看| 亚洲欧美一区二区三区国产| 日本一区二区免费在线视频| 国产色婷婷99| 国产成人av激情在线播放| 美女脱内裤让男人舔精品视频| 老司机影院成人| 国产精品一国产av| 免费黄频网站在线观看国产| 成人漫画全彩无遮挡| 90打野战视频偷拍视频| 九色亚洲精品在线播放| 精品国产乱码久久久久久小说| 欧美av亚洲av综合av国产av | 国产男女超爽视频在线观看| 97人妻天天添夜夜摸| av免费观看日本| 搡老岳熟女国产| 久久久久人妻精品一区果冻| 人人妻人人澡人人爽人人夜夜| 国产 精品1| 亚洲色图 男人天堂 中文字幕| 日本91视频免费播放| 久久久久精品国产欧美久久久 | 新久久久久国产一级毛片| 夫妻午夜视频| 啦啦啦 在线观看视频| 午夜福利影视在线免费观看| 超色免费av| www.自偷自拍.com| 精品一区在线观看国产| 午夜福利免费观看在线| 少妇 在线观看| 日韩精品有码人妻一区| 成年动漫av网址| 最近中文字幕高清免费大全6| 叶爱在线成人免费视频播放| 一边摸一边做爽爽视频免费| 日韩不卡一区二区三区视频在线| 考比视频在线观看| 久久精品久久精品一区二区三区| 午夜福利网站1000一区二区三区| 啦啦啦啦在线视频资源| 国产精品人妻久久久影院| 一本一本久久a久久精品综合妖精| 国语对白做爰xxxⅹ性视频网站| 久久免费观看电影| 婷婷成人精品国产| 午夜激情久久久久久久| 99re6热这里在线精品视频| 最近手机中文字幕大全| 日韩大码丰满熟妇| 亚洲精品一区蜜桃| 亚洲国产精品一区三区| 美女脱内裤让男人舔精品视频| 99热全是精品| 亚洲av男天堂| 国产精品二区激情视频| av不卡在线播放| 超色免费av| 丁香六月天网| 久久久久久久精品精品| 久久99一区二区三区| 国产欧美日韩一区二区三区在线| 日韩av免费高清视频| 久久久久久久久久久免费av| 最近的中文字幕免费完整| 99久久精品国产亚洲精品| 亚洲精品久久成人aⅴ小说| 啦啦啦视频在线资源免费观看| 自线自在国产av| 熟女少妇亚洲综合色aaa.| 久久久国产精品麻豆| a 毛片基地| 少妇人妻久久综合中文| 久久久欧美国产精品| 一本久久精品| 国产一区二区三区av在线| 国产亚洲av片在线观看秒播厂| 久久热在线av| 在线看a的网站| 男人舔女人的私密视频| 搡老乐熟女国产| 叶爱在线成人免费视频播放| 999精品在线视频| 欧美中文综合在线视频| 人人妻人人澡人人爽人人夜夜| 麻豆精品久久久久久蜜桃| 大码成人一级视频| 岛国毛片在线播放| 久久人人爽人人片av| 中国三级夫妇交换| 国产探花极品一区二区| 国产精品一区二区精品视频观看| 国产成人免费观看mmmm| 亚洲欧美成人精品一区二区| av电影中文网址| 欧美日韩视频精品一区| 久久狼人影院| 亚洲欧美一区二区三区久久| 黄片无遮挡物在线观看| 日韩视频在线欧美| 99久久99久久久精品蜜桃| 国产精品一国产av| 久久婷婷青草| 一区二区三区乱码不卡18| 欧美日韩视频精品一区| 午夜福利一区二区在线看| 一级毛片我不卡| 国产黄频视频在线观看| 成年动漫av网址| 9191精品国产免费久久| 男人操女人黄网站| 国产午夜精品一二区理论片| 午夜91福利影院| 观看av在线不卡| 国产精品久久久人人做人人爽| 国产精品久久久久成人av|