3,用于根據(jù)該開關參數(shù),向指令緩沖區(qū)發(fā)送對應的執(zhí)行指令;執(zhí)行單元14,用于在該開關參數(shù)為指示開啟參數(shù)時,通過該指令緩沖區(qū)中對應的執(zhí)行指令,對編譯器程序進行分析。
[0087]在具體實現(xiàn)中,本實施例提供的裝置中,當開關參數(shù)為指示開啟參數(shù)時,向指令緩沖區(qū)發(fā)送的執(zhí)行指令中可以包括目標地址;相應地,執(zhí)行單元14,具體用于在所述開關參數(shù)為指示開啟參數(shù)時,對寄存器的值進行壓棧操作,并將該目標地址存儲在該寄存器中;進而將所述編譯器程序跳轉到該目標地址所指示的該編譯器的待分析程序入口,以對該編譯器程序進行分析。
[0088]需要說明的是,本實施例提供的裝置,執(zhí)行單元14,還用于通過執(zhí)行開關參數(shù)為指示關閉參數(shù)時指令緩沖區(qū)中對應的執(zhí)行指令,將編譯器程序跳轉出套鎖指令集,保留開關參數(shù)為指示開啟參數(shù)時該指令緩沖區(qū)中對應的執(zhí)行指令。
[0089]進一步地,本實施例提供的裝置中,執(zhí)行模塊11還包括:記錄單元15,用于在執(zhí)行單元14對寄存器的值進行壓棧操作之前,記錄套鎖指令集的返回地址,該返回地址為執(zhí)行該套鎖指令集前,編譯器程序的當前地址;相應的,執(zhí)行模塊11還包括:綁定單元16,用于在該執(zhí)行單元14將編譯器程序跳轉到目標地址所指示的該編譯器的待分析程序入口,以對該編譯器程序進行分析之后,綁定開關參數(shù)為指示開啟參數(shù)時記錄的該套鎖指令集的返回地址,使得在開關參數(shù)為指示關閉參數(shù)時,確定將該編譯器程序跳轉到該套鎖指令集的返回地址。
[0090]本發(fā)明實施例提供的套鎖實現(xiàn)裝置用于執(zhí)行本發(fā)明實施例二提供的套鎖實現(xiàn)方法,具備相應的功能模塊,其實現(xiàn)原理和技術效果類似,此處不再贅述。
[0091]本領域普通技術人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0092]最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍。
【主權項】
1.一種套鎖實現(xiàn)方法,其特征在于,包括: 在執(zhí)行加入套鎖指令集的編譯器程序時,根據(jù)所述套鎖指令集中的開關參數(shù),對所述編譯器程序進行分析; 根據(jù)對所述編譯器程序的分析結果對所述編譯器程序進行優(yōu)化處理。2.根據(jù)權利要求1所述的方法,其特征在于,所述套鎖指令集包括:所述開關參數(shù)對應的執(zhí)行指令,則所述根據(jù)所述套鎖指令集中的開關參數(shù),對所述編譯器程序進行分析,包括: 根據(jù)所述開關參數(shù),向指令緩沖區(qū)發(fā)送對應的執(zhí)行指令;并在所述開關參數(shù)為指示開啟參數(shù)時,通過所述指令緩沖區(qū)中對應的執(zhí)行指令,對所述編譯器程序進行分析。3.根據(jù)權利要求2所述的方法,其特征在于,所述執(zhí)行指令中包括目標地址,則所述在所述開關參數(shù)為指示開啟參數(shù)時,通過所述指令緩沖區(qū)中對應的執(zhí)行指令,對所述編譯器程序進行分析,包括: 在所述開關參數(shù)為指示開啟參數(shù)時,對寄存器的值進行壓棧操作,并將所述目標地址存儲在所述寄存器中; 將所述編譯器程序跳轉到所述目標地址所指示的所述編譯器的待分析程序入口,以對所述編譯器程序進行分析。4.根據(jù)權利要求3所述的方法,其特征在于,所述對寄存器的值進行壓棧操作之前,所述方法還包括: 記錄所述套鎖指令集的返回地址,所述返回地址為執(zhí)行所述套鎖指令集前,所述編譯器程序的當前地址; 則所述將所述編譯器程序跳轉到所述目標地址所指示的所述編譯器的待分析程序入口,以對所述編譯器程序進行分析之后,所述方法還包括: 綁定所述開關參數(shù)為指示開啟參數(shù)時記錄的所述套鎖指令集的返回地址,使得在所述開關參數(shù)為指示關閉參數(shù)時,確定將所述編譯器程序跳轉到所述套鎖指令集的返回地址。5.根據(jù)權利要求2?4中任一項所述的方法,其特征在于,還包括:通過執(zhí)行所述開關參數(shù)為指示關閉參數(shù)時所述指令緩沖區(qū)中對應的執(zhí)行指令,將所述編譯器程序跳轉出所述套鎖指令集,保留所述開關參數(shù)為指示開啟參數(shù)時所述指令緩沖區(qū)中對應的執(zhí)行指令。6.一種套鎖實現(xiàn)裝置,其特征在于,包括: 執(zhí)行模塊,用于在執(zhí)行加入套鎖指令集的編譯器程序時,根據(jù)所述套鎖指令集中的開關參數(shù),對所述編譯器程序進行分析; 優(yōu)化模塊,用于根據(jù)對所述編譯器程序的分析結果對所述編譯器程序進行優(yōu)化處理。7.根據(jù)權利要求6所述的裝置,其特征在于,所述套鎖指令集包括:所述開關參數(shù)對應的執(zhí)行指令,則所述執(zhí)行模塊包括: 發(fā)送單元,用于根據(jù)所述開關參數(shù),向指令緩沖區(qū)發(fā)送對應的執(zhí)行指令; 執(zhí)行單元,用于在所述開關參數(shù)為指示開啟參數(shù)時,通過所述指令緩沖區(qū)中對應的執(zhí)行指令,對所述編譯器程序進行分析。8.根據(jù)權利要求7所述的裝置,其特征在于,所述執(zhí)行指令中包括目標地址;則所述執(zhí)行單元,具體用于在所述開關參數(shù)為指示開啟參數(shù)時,對寄存器的值進行壓棧操作,并將所述目標地址存儲在所述寄存器中;進而將所述編譯器程序跳轉到所述目標地址所指示的所述編譯器的待分析程序入口,以對所述編譯器程序進行分析。9.根據(jù)權利要求8所述的裝置,其特征在于,所述執(zhí)行模塊還包括:記錄單元,用于在所述執(zhí)行單元對寄存器的值進行壓棧操作之前,記錄所述套鎖指令集的返回地址,所述返回地址為執(zhí)行所述套鎖指令集前,所述編譯器程序的當前地址; 則所述執(zhí)行模塊還包括:綁定單元,用于在所述執(zhí)行單元將所述編譯器程序跳轉到所述目標地址所指示的所述編譯器的待分析程序入口,以對所述編譯器程序進行分析之后,綁定所述開關參數(shù)為指示開啟參數(shù)時記錄的所述套鎖指令集的返回地址,使得在所述開關參數(shù)為指示關閉參數(shù)時,確定將所述編譯器程序跳轉到所述套鎖指令集的返回地址。10.根據(jù)權利要求7?9中任一項所述的裝置,其特征在于,所述執(zhí)行單元,還用于通過執(zhí)行所述開關參數(shù)為指示關閉參數(shù)時所述指令緩沖區(qū)中對應的執(zhí)行指令,將所述編譯器程序跳轉出所述套鎖指令集,保留所述開關參數(shù)為指示開啟參數(shù)時所述指令緩沖區(qū)中對應的執(zhí)行指令。
【專利摘要】本發(fā)明提供一種套鎖實現(xiàn)方法及裝置。本發(fā)明提供的套鎖實現(xiàn)方法,包括:在執(zhí)行加入套鎖指令集的編譯器程序時,根據(jù)所述套鎖指令集中的開關參數(shù),對所述編譯器程序進行分析;根據(jù)對所述編譯器程序的分析結果對所述編譯器程序進行優(yōu)化處理。本發(fā)明提供一種適用于MIPS構架中的套鎖實現(xiàn)方法,以解決現(xiàn)有技術中基于X86構架的套鎖實現(xiàn)方式,對具有固定長度指令的MIPS構架并不適用的問題,使得MIPS構架中編譯器程序的開發(fā)的更加便利和有效。
【IPC分類】G06F9/30, G06F9/45
【公開號】CN105677297
【申請?zhí)枴?br>【發(fā)明人】汪清, 薛雙百, 黃文君, 屈秋雯, 魏振偉
【申請人】龍芯中科技術有限公司
【公開日】2016年6月15日
【申請日】2014年11月18日