• <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è)算法
    一二三四中文在线观看免费高清| 人人妻人人澡人人爽人人夜夜| 日本熟妇午夜| 综合色丁香网| 国产精品一区二区在线观看99| 99热这里只有是精品在线观看| 美女主播在线视频| 可以在线观看毛片的网站| 亚洲精品第二区| 亚洲va在线va天堂va国产| 亚洲欧美成人综合另类久久久| 大香蕉久久网| 亚洲人成网站高清观看| av免费观看日本| 亚洲av中文字字幕乱码综合| 亚洲人成网站在线播| 热99国产精品久久久久久7| 成人特级av手机在线观看| 26uuu在线亚洲综合色| 亚洲av成人精品一二三区| 一区二区av电影网| 在线免费观看不下载黄p国产| 成年av动漫网址| 七月丁香在线播放| 91久久精品电影网| 欧美97在线视频| 乱系列少妇在线播放| 日日摸夜夜添夜夜爱| 免费不卡的大黄色大毛片视频在线观看| 国产探花极品一区二区| 欧美日韩视频高清一区二区三区二| 九色成人免费人妻av| 只有这里有精品99| 老司机影院毛片| 99热这里只有是精品50| 国产精品一二三区在线看| av国产久精品久网站免费入址| 一区二区三区精品91| 不卡视频在线观看欧美| 久热久热在线精品观看| 久久久久九九精品影院| 亚洲国产欧美人成| 少妇丰满av| 日本免费在线观看一区| 少妇的逼水好多| av线在线观看网站| 久久久色成人| 国产黄片视频在线免费观看| 国产黄a三级三级三级人| 久久热精品热| 少妇的逼水好多| 国产久久久一区二区三区| 99久国产av精品国产电影| 国国产精品蜜臀av免费| 国产 一区精品| 永久免费av网站大全| 中国美白少妇内射xxxbb| 国产在线一区二区三区精| 天堂俺去俺来也www色官网| 麻豆国产97在线/欧美| 成人黄色视频免费在线看| 久久久久久久久久久免费av| 联通29元200g的流量卡| 水蜜桃什么品种好| 久久久精品欧美日韩精品| 午夜福利在线在线| 大话2 男鬼变身卡| 高清午夜精品一区二区三区| 久久精品国产亚洲av涩爱| 又爽又黄a免费视频| 成人二区视频| 亚洲国产色片| 搡老乐熟女国产| 一级毛片 在线播放| av网站免费在线观看视频| 精品少妇黑人巨大在线播放| 精品一区二区三卡| 狂野欧美激情性bbbbbb| 18禁裸乳无遮挡免费网站照片| 中文精品一卡2卡3卡4更新| 久久久久久伊人网av| 亚洲av日韩在线播放| 亚洲国产精品999| 亚洲丝袜综合中文字幕| 18+在线观看网站| 国产伦精品一区二区三区四那| 成人欧美大片| 亚洲欧美日韩东京热| 男女啪啪激烈高潮av片| 黑人高潮一二区| 嫩草影院精品99| 亚洲精品国产色婷婷电影| 国产黄片视频在线免费观看| 99热网站在线观看| 国产一区二区亚洲精品在线观看| 大码成人一级视频| 天美传媒精品一区二区| 天天躁日日操中文字幕| 一本一本综合久久| 亚洲国产色片| 晚上一个人看的免费电影| 午夜免费观看性视频| 成人一区二区视频在线观看| 日韩视频在线欧美| 欧美激情久久久久久爽电影| 永久网站在线| 亚洲国产高清在线一区二区三| av免费观看日本| 黄片wwwwww| 免费不卡的大黄色大毛片视频在线观看| 亚洲欧洲国产日韩| 97人妻精品一区二区三区麻豆| 国产一区亚洲一区在线观看| 日韩精品有码人妻一区| 看非洲黑人一级黄片| 国产一区二区在线观看日韩| 免费电影在线观看免费观看| 精品一区在线观看国产| 免费电影在线观看免费观看| 日韩精品有码人妻一区| 国产精品福利在线免费观看| 久久99热这里只有精品18| 黑人高潮一二区| 亚洲欧美成人综合另类久久久| 丰满人妻一区二区三区视频av| 国产成人免费观看mmmm| 免费不卡的大黄色大毛片视频在线观看| 国产亚洲91精品色在线| 高清av免费在线| 免费观看性生交大片5| 国产精品久久久久久精品电影小说 | 成年免费大片在线观看| 春色校园在线视频观看| 久久97久久精品| 久久影院123| 寂寞人妻少妇视频99o| 高清午夜精品一区二区三区| 欧美日本视频| 免费av不卡在线播放| 日产精品乱码卡一卡2卡三| 日本wwww免费看| 七月丁香在线播放| 亚洲国产欧美在线一区| 国产成人精品婷婷| 国产成人精品婷婷| 少妇猛男粗大的猛烈进出视频 | 免费人成在线观看视频色| 国产视频内射| 春色校园在线视频观看| 国精品久久久久久国模美| 丰满乱子伦码专区| 国产亚洲91精品色在线| 少妇丰满av| 黄片wwwwww| av免费观看日本| 国产午夜精品久久久久久一区二区三区| 91午夜精品亚洲一区二区三区| 熟女电影av网| 国产探花极品一区二区| 国产成人午夜福利电影在线观看| 精品一区二区三卡| 日韩电影二区| 欧美激情国产日韩精品一区| 国产成人freesex在线| 老司机影院毛片| 亚洲av欧美aⅴ国产| 成人免费观看视频高清| 成人高潮视频无遮挡免费网站| 少妇高潮的动态图| 又黄又爽又刺激的免费视频.| 在线观看一区二区三区激情| av在线老鸭窝| 老师上课跳d突然被开到最大视频| 联通29元200g的流量卡| 秋霞伦理黄片| 日韩一区二区视频免费看| 特级一级黄色大片| 波多野结衣巨乳人妻| 一级毛片aaaaaa免费看小| 成年女人在线观看亚洲视频 | 日韩中字成人| 日韩欧美精品v在线| 久久国产乱子免费精品| 日产精品乱码卡一卡2卡三| 亚洲精品成人久久久久久| av免费观看日本| 搡女人真爽免费视频火全软件| 午夜激情久久久久久久| 久久久午夜欧美精品| 国产淫语在线视频| 黄色欧美视频在线观看| 香蕉精品网在线| a级毛色黄片| 久久久久网色| 在线免费十八禁| 51国产日韩欧美| 国产成人免费无遮挡视频| 中国国产av一级| av在线天堂中文字幕| 一级二级三级毛片免费看| 色哟哟·www| 国产精品三级大全| 国产男女内射视频| 久久久久久国产a免费观看| 中文精品一卡2卡3卡4更新| 久久人人爽人人爽人人片va| xxx大片免费视频| 国产成人精品婷婷| 一级a做视频免费观看| 九色成人免费人妻av| 综合色av麻豆| 男女边吃奶边做爰视频| av一本久久久久| 国产亚洲午夜精品一区二区久久 | 午夜激情福利司机影院| av女优亚洲男人天堂| 国内精品宾馆在线| 国产亚洲精品久久久com| 狂野欧美激情性bbbbbb| 女人被狂操c到高潮| 18禁动态无遮挡网站| 极品少妇高潮喷水抽搐| 又爽又黄a免费视频| 丝瓜视频免费看黄片| 午夜精品国产一区二区电影 | 久热这里只有精品99| 国产日韩欧美在线精品| 人妻 亚洲 视频| 亚洲在线观看片| 亚洲国产精品999| 国产精品一区二区在线观看99| 日韩欧美 国产精品| 国产精品福利在线免费观看| 国产亚洲5aaaaa淫片| 婷婷色综合大香蕉| 久久精品国产自在天天线| 国产成人91sexporn| 成人国产av品久久久| 亚洲最大成人中文| 成人欧美大片| 日韩在线高清观看一区二区三区| 亚洲欧美日韩东京热| 色5月婷婷丁香| 在线播放无遮挡| 少妇高潮的动态图| 精品熟女少妇av免费看| 日本色播在线视频| 精华霜和精华液先用哪个| 22中文网久久字幕| av在线蜜桃| 神马国产精品三级电影在线观看| 国产真实伦视频高清在线观看| 久久久久久伊人网av| 男女国产视频网站| 久久精品久久精品一区二区三区| 18禁裸乳无遮挡免费网站照片| 久久久久精品性色| 麻豆成人午夜福利视频| 水蜜桃什么品种好| 精品人妻熟女av久视频| 三级国产精品片| 久久精品国产鲁丝片午夜精品| av黄色大香蕉| 免费黄频网站在线观看国产| 80岁老熟妇乱子伦牲交| 亚洲性久久影院| 亚洲成色77777| 日韩av不卡免费在线播放| 国产精品av视频在线免费观看| 色吧在线观看| 黑人高潮一二区| 国产精品三级大全| 亚洲国产av新网站| 国产精品人妻久久久影院| 中文欧美无线码| 交换朋友夫妻互换小说| 伦理电影大哥的女人| 成人免费观看视频高清| av在线观看视频网站免费| 亚洲激情五月婷婷啪啪| 欧美日韩视频精品一区| 亚洲国产精品专区欧美| 国产精品久久久久久精品电影| 色哟哟·www| 亚洲国产最新在线播放| 久久久久精品性色| 亚洲国产成人一精品久久久| 国产成人精品一,二区| 亚洲无线观看免费| 内射极品少妇av片p| 久久女婷五月综合色啪小说 | 两个人的视频大全免费| 国产精品偷伦视频观看了| 欧美日韩精品成人综合77777| 七月丁香在线播放| 亚洲av电影在线观看一区二区三区 | 天美传媒精品一区二区| 一区二区三区乱码不卡18| 国产老妇伦熟女老妇高清| 亚洲精品456在线播放app| 又黄又爽又刺激的免费视频.| 尾随美女入室| 欧美三级亚洲精品| 国产黄频视频在线观看| 国产伦精品一区二区三区视频9| 各种免费的搞黄视频| 国产综合精华液| 高清欧美精品videossex| 嘟嘟电影网在线观看| 真实男女啪啪啪动态图| 日韩视频在线欧美| 人妻制服诱惑在线中文字幕| 中文字幕av成人在线电影| 亚洲国产高清在线一区二区三| 亚洲av日韩在线播放| 婷婷色综合大香蕉| 一级毛片电影观看| 一级毛片我不卡| 国产精品蜜桃在线观看| 老师上课跳d突然被开到最大视频| 十八禁网站网址无遮挡 | 美女xxoo啪啪120秒动态图| 黄色怎么调成土黄色| 国产精品熟女久久久久浪| 美女视频免费永久观看网站| 亚洲丝袜综合中文字幕| 高清午夜精品一区二区三区| 午夜日本视频在线| 国产精品久久久久久精品电影| 青青草视频在线视频观看| 日韩免费高清中文字幕av| 最近的中文字幕免费完整| 精品久久久久久久人妻蜜臀av| 精品国产一区二区三区久久久樱花 | 欧美国产精品一级二级三级 | av黄色大香蕉| 久久久久久久久久成人| 男的添女的下面高潮视频| 视频区图区小说| 一级毛片久久久久久久久女| 国产精品久久久久久精品电影小说 | 男女边吃奶边做爰视频| 日韩欧美精品免费久久| 美女视频免费永久观看网站| 午夜视频国产福利| 熟女电影av网| 精品久久久久久久久av| 欧美xxxx性猛交bbbb| 新久久久久国产一级毛片| 人妻一区二区av| 久久久亚洲精品成人影院| 免费不卡的大黄色大毛片视频在线观看| 一二三四中文在线观看免费高清| 嫩草影院入口| 男人狂女人下面高潮的视频| 国产色婷婷99| 午夜福利高清视频| 精品久久国产蜜桃| 欧美xxxx性猛交bbbb| 成人亚洲精品av一区二区| 精品久久久久久久人妻蜜臀av| 一个人看视频在线观看www免费| 成人亚洲欧美一区二区av| 亚洲欧美成人综合另类久久久| 久久97久久精品| 中文字幕免费在线视频6| 欧美激情久久久久久爽电影| 亚洲欧美精品专区久久| 久久久精品94久久精品| 简卡轻食公司| 内射极品少妇av片p| 国产永久视频网站| 亚洲av男天堂| 日韩免费高清中文字幕av| 成年女人在线观看亚洲视频 | 亚洲一级一片aⅴ在线观看| eeuss影院久久| 天美传媒精品一区二区| 在线 av 中文字幕| 别揉我奶头 嗯啊视频| 日韩欧美一区视频在线观看 | 精品酒店卫生间| 免费高清在线观看视频在线观看| 亚洲av成人精品一二三区| 成人国产av品久久久| 黑人高潮一二区| 久久午夜福利片| 男人狂女人下面高潮的视频| 国产午夜精品一二区理论片| 日本免费在线观看一区| 91aial.com中文字幕在线观看| 精品久久久久久久久av| 大片免费播放器 马上看| 一级黄片播放器| 男女那种视频在线观看| 天天一区二区日本电影三级| 91午夜精品亚洲一区二区三区| 一级毛片久久久久久久久女| 日韩一区二区三区影片| av黄色大香蕉| 国产欧美亚洲国产| 欧美日韩在线观看h| 色哟哟·www| 五月天丁香电影| 麻豆乱淫一区二区| 国产一级毛片在线| 久久精品熟女亚洲av麻豆精品| 男人添女人高潮全过程视频| av在线亚洲专区| 一本色道久久久久久精品综合| 亚洲怡红院男人天堂| 神马国产精品三级电影在线观看| 大片电影免费在线观看免费| 大片电影免费在线观看免费| 男女边吃奶边做爰视频| 亚洲怡红院男人天堂| 国精品久久久久久国模美| 欧美成人a在线观看| 亚洲精品456在线播放app| 热re99久久精品国产66热6| 中文字幕制服av| 天天一区二区日本电影三级| 搞女人的毛片| 国产老妇女一区| 你懂的网址亚洲精品在线观看| 国产在线一区二区三区精| 欧美成人精品欧美一级黄| 另类亚洲欧美激情| av福利片在线观看| 精品国产乱码久久久久久小说| 波野结衣二区三区在线| 久久久亚洲精品成人影院| 成人国产av品久久久| 日韩欧美精品免费久久| 毛片女人毛片| 成年av动漫网址| 国产毛片在线视频| 国产精品偷伦视频观看了| 舔av片在线| 国产精品久久久久久久久免| av黄色大香蕉| 波野结衣二区三区在线| 哪个播放器可以免费观看大片| 国内揄拍国产精品人妻在线| 最后的刺客免费高清国语| 99久久人妻综合| 国产成人aa在线观看| 国产一区有黄有色的免费视频| 欧美最新免费一区二区三区| 一级毛片 在线播放| 国产精品女同一区二区软件| 国产片特级美女逼逼视频| 亚洲三级黄色毛片| 在线天堂最新版资源| 国产精品三级大全| 男人和女人高潮做爰伦理| 国产 一区 欧美 日韩| 交换朋友夫妻互换小说| 2022亚洲国产成人精品| 亚洲国产av新网站| 熟女人妻精品中文字幕| 最近中文字幕2019免费版| 久久久久久久久大av| 中文字幕亚洲精品专区| 国产成人精品久久久久久| 中文欧美无线码| 国产高清国产精品国产三级 | 久久99精品国语久久久| 亚洲av中文av极速乱| 久久97久久精品| 久久久久久久大尺度免费视频| h日本视频在线播放| av免费观看日本| 色播亚洲综合网| 大又大粗又爽又黄少妇毛片口| 老司机影院毛片| 亚洲精品亚洲一区二区| 综合色丁香网| 国产亚洲精品久久久com| 男人爽女人下面视频在线观看| 日日摸夜夜添夜夜添av毛片| 1000部很黄的大片| 免费电影在线观看免费观看| 国产片特级美女逼逼视频| 亚洲不卡免费看| 人人妻人人爽人人添夜夜欢视频 | a级一级毛片免费在线观看| 亚洲国产高清在线一区二区三| 成人特级av手机在线观看| 大香蕉97超碰在线| 男女那种视频在线观看| 国产精品国产三级专区第一集| 男女边吃奶边做爰视频| 午夜激情福利司机影院| 久久久久性生活片| 日韩电影二区| 高清午夜精品一区二区三区| 嫩草影院精品99| 免费看日本二区| av网站免费在线观看视频| 亚洲自偷自拍三级| 一区二区三区免费毛片| 日韩一区二区视频免费看| 久久久国产一区二区| 在线观看免费高清a一片| 18+在线观看网站| 成人特级av手机在线观看| 性色av一级| 日韩av不卡免费在线播放| 国产黄a三级三级三级人| 青青草视频在线视频观看| 91久久精品国产一区二区三区| 久久久久性生活片| 久久久久久久久久成人| 大码成人一级视频| 国产亚洲av嫩草精品影院| 一级毛片我不卡| 91狼人影院| 久久久久精品久久久久真实原创| 丝袜脚勾引网站| 国产 一区 欧美 日韩| 亚洲精品乱码久久久久久按摩| 欧美zozozo另类| 亚洲av不卡在线观看| 秋霞伦理黄片| 少妇丰满av| 欧美日韩国产mv在线观看视频 | 国产乱来视频区| 青春草视频在线免费观看| www.av在线官网国产| 国产一区亚洲一区在线观看| 亚洲欧美日韩另类电影网站 | 九九在线视频观看精品| 久久人人爽av亚洲精品天堂 | 日韩不卡一区二区三区视频在线| 日韩亚洲欧美综合| 午夜福利在线观看免费完整高清在| 国产成人免费观看mmmm| 能在线免费看毛片的网站| 五月开心婷婷网| 我的女老师完整版在线观看| 水蜜桃什么品种好| 最近最新中文字幕大全电影3| 成人亚洲精品av一区二区| 建设人人有责人人尽责人人享有的 | 久久精品夜色国产| 国产精品麻豆人妻色哟哟久久| 免费观看av网站的网址| 国产精品秋霞免费鲁丝片| 亚洲精品日本国产第一区| 老女人水多毛片| 干丝袜人妻中文字幕| 国产老妇女一区| 一级毛片电影观看| 毛片女人毛片| videos熟女内射| 国产av码专区亚洲av| 亚洲综合色惰| 国产亚洲av嫩草精品影院| 亚洲最大成人中文| 国产精品秋霞免费鲁丝片| 色婷婷久久久亚洲欧美| 亚洲av成人精品一区久久| 五月开心婷婷网| 免费大片18禁| 亚洲精品456在线播放app| 国产精品一区二区在线观看99| 亚洲综合色惰| 国产欧美日韩一区二区三区在线 | 亚洲欧美一区二区三区黑人 | 午夜福利在线观看免费完整高清在| 亚洲怡红院男人天堂| 啦啦啦啦在线视频资源| 国产欧美日韩精品一区二区| 2022亚洲国产成人精品| 一二三四中文在线观看免费高清| 久久久久久久国产电影| 伦理电影大哥的女人| 国产亚洲最大av| 99热6这里只有精品| 伦精品一区二区三区| 夫妻午夜视频| 免费看av在线观看网站| 神马国产精品三级电影在线观看| 亚洲婷婷狠狠爱综合网| 国产色爽女视频免费观看| 午夜福利在线观看免费完整高清在| 久久影院123| 赤兔流量卡办理| 99久久中文字幕三级久久日本| 蜜桃久久精品国产亚洲av| 中文字幕av成人在线电影| 在线 av 中文字幕| 久久久久久久久久成人| 亚洲精品aⅴ在线观看| 久久国内精品自在自线图片| 国产成人一区二区在线| av一本久久久久| 在线观看人妻少妇| 七月丁香在线播放| 亚洲婷婷狠狠爱综合网| 中国美白少妇内射xxxbb| 国产视频首页在线观看| 日本一本二区三区精品| 日韩大片免费观看网站| 国产精品蜜桃在线观看| av国产免费在线观看| 成人无遮挡网站| 欧美丝袜亚洲另类| 国内精品美女久久久久久| 嫩草影院新地址| 久久久久国产网址| 欧美性猛交╳xxx乱大交人| 国产伦理片在线播放av一区| 亚洲综合色惰|