基于Soot框架Java同步優(yōu)化研究.pdf_第1頁(yè)
已閱讀1頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、利用Java字節(jié)碼文件中的屬性,本文提出了一種用于Java程序優(yōu)化的方法。該方法利用前置改良同步逃逸分析算法,將待優(yōu)化Java程序中冗余同步操作對(duì)象找出,然后將這些信息通過(guò)標(biāo)簽形式附加在框架中間語(yǔ)句表示上,接著將得到的優(yōu)化的信息轉(zhuǎn)化到字節(jié)碼文件屬性(Attribute)中,最后通過(guò)改進(jìn)的Jasmin匯編器生成用于執(zhí)行的字節(jié)碼。本文算法以Soot為基礎(chǔ)完成實(shí)現(xiàn);Soot是一種支持和轉(zhuǎn)換Java字節(jié)碼的框架。
  完成以下工作:

2、>  (1)提出改良的逃逸分析算法。以指針?lè)治?points-to)為基礎(chǔ),針對(duì)過(guò)程間靜態(tài)字段、線程對(duì)象以及線程字段逃逸分析操作,將其上具體分析操作放在同一單while循環(huán)體內(nèi),從而有效降低分析算法功耗。利用已有的逃逸分析準(zhǔn)則和逃逸狀態(tài)結(jié)合準(zhǔn)則,進(jìn)行相應(yīng)迭代操作,將整個(gè)Java應(yīng)用程序線程局部對(duì)象標(biāo)注出來(lái),通過(guò)標(biāo)簽操作將信息標(biāo)注到字節(jié)碼屬性上,最終該程序在執(zhí)行的時(shí)候虛擬機(jī)會(huì)依據(jù)字節(jié)碼上的屬性信息,做出相應(yīng)的優(yōu)化,刪除多余的同步操作。

3、r>  (2)利用Soot框架實(shí)現(xiàn)上述提出的算法。本文算法的最終是基于開(kāi)源的Soot框架來(lái)實(shí)現(xiàn)的。利用Soot內(nèi)置的points-to分析框架——Soot Pointer AnalysisResearch Kit(SPARK),進(jìn)行必要的指針圖分析;在此基礎(chǔ)上,通過(guò)本文擴(kuò)展Soot工具的流分析框架,實(shí)現(xiàn)該逃逸分析算法。具體實(shí)現(xiàn)最主要的地方是加入了前人研究中忽視的循環(huán)流中不必要同步操作的刪除判斷,同時(shí)擴(kuò)展利用Soot中的注解框架(anno

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論