[發(fā)明專利]混合式動(dòng)態(tài)碼編譯裝置、方法及其服務(wù)系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 201310627787.X | 申請(qǐng)日: | 2013-11-28 |
| 公開(kāi)(公告)號(hào): | CN104657189A | 公開(kāi)(公告)日: | 2015-05-27 |
| 發(fā)明(設(shè)計(jì))人: | 游逸平;陳柏裕;陳靜芳 | 申請(qǐng)(專利權(quán))人: | 財(cái)團(tuán)法人資訊工業(yè)策進(jìn)會(huì) |
| 主分類號(hào): | G06F9/45 | 分類號(hào): | G06F9/45 |
| 代理公司: | 北京康信知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11240 | 代理人: | 余剛;李靜 |
| 地址: | 中國(guó)*** | 國(guó)省代碼: | 中國(guó)臺(tái)灣;71 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 混合式 動(dòng)態(tài) 編譯 裝置 方法 及其 服務(wù) 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明提供一種動(dòng)態(tài)碼編譯裝置,且特別是一種混合式動(dòng)態(tài)碼編譯裝置、方法及其服務(wù)系統(tǒng)。
背景技術(shù)
目前網(wǎng)絡(luò)與電子技術(shù)發(fā)展快速,以致于人們可以輕易地使用終端裝置瀏覽網(wǎng)頁(yè),以獲得需要的服務(wù)與信息。網(wǎng)頁(yè)的內(nèi)容可以通過(guò)文件標(biāo)示語(yǔ)言(Text?Markup?Language)來(lái)編輯,且文件標(biāo)示語(yǔ)言還可以是超文件標(biāo)示語(yǔ)言(Hyper?Text?Markup?Language,HTML),以呈現(xiàn)結(jié)構(gòu)化的信息(例如,標(biāo)題、段落和列表等)。
然而,文件標(biāo)示語(yǔ)言一般適用于編輯靜態(tài)或非互動(dòng)的網(wǎng)頁(yè),而不易或無(wú)法編輯動(dòng)態(tài)或互動(dòng)的網(wǎng)頁(yè),因此,便有動(dòng)態(tài)直譯式程序語(yǔ)言被提出,例如JavaScript。JavaScript是一種動(dòng)態(tài)型別、弱型別、基于原型的語(yǔ)言,且內(nèi)建支持型別。JavaScript可以直接嵌入HTML頁(yè)面,也可以寫(xiě)成單獨(dú)的檔案(其擴(kuò)展名為“js”)以利于結(jié)構(gòu)和行為的分離。JavaScript可以用來(lái)將動(dòng)態(tài)文字嵌入于HTML頁(yè)面、對(duì)瀏覽器事件作出響應(yīng)、讀寫(xiě)HTML網(wǎng)頁(yè)中的元素、在數(shù)據(jù)被送出到服務(wù)器之前驗(yàn)證數(shù)據(jù)、檢測(cè)訪客的瀏覽器信息或控制小型文本文件(cookies)。
目前,Mozilla公司提出了一種JavaScript的最佳化方案,其通過(guò)定義好的“ASM.js”檔案的內(nèi)容來(lái)比對(duì)收到的JavaScript碼,以將收到的JavaScript碼通過(guò)底層虛擬機(jī)器(Low?Level?Virtual?Machine,LLVM)進(jìn)行轉(zhuǎn)碼為C/C++語(yǔ)言碼,以利于終端裝置(例如,iOS、Windows或Android系統(tǒng)的電子裝置)執(zhí)行所述C/C++語(yǔ)言碼,從而顯示動(dòng)態(tài)或互動(dòng)的網(wǎng)頁(yè)。然而,若收到的JavaScript碼不存在于“ASM.js”檔案中的碼庫(kù)(codebase),則所接收到的JavaScript碼將無(wú)法被轉(zhuǎn)碼,因此,Mozilla公司的方案仍缺乏彈性。
除此之外,Google公司提供了一種JavaScript引擎,稱為V8引擎。V8引擎可以在JavaScript執(zhí)行之前,將JavaScript編譯成機(jī)器碼,而非位元組或是進(jìn)行直譯,以此提升效能,但仍不能避免加載的時(shí)間消耗。另外,JavaScript碼本身無(wú)法控制內(nèi)存的釋放,而可能導(dǎo)致內(nèi)存泄漏(memory?leak)。因此,V8引擎被設(shè)計(jì)成具有垃圾回收(Garbage?Collection,GC)處理的功能。
垃圾回收處理是一種自動(dòng)的內(nèi)存管理機(jī)制,當(dāng)一個(gè)電腦上的動(dòng)態(tài)內(nèi)存上的變數(shù)、物件或字串等數(shù)據(jù)不再被需要時(shí),就應(yīng)該予以釋放,以讓出內(nèi)存空間。垃圾回收處理策略可以分為全域停止型(Stop-the-World,STW)、同步型(concurrent)與增進(jìn)型(incremental)。全域停止型垃圾回收處理策略在系統(tǒng)認(rèn)為需要進(jìn)行垃圾回收處理時(shí),將目前執(zhí)行的程序停止,并進(jìn)行垃圾回收處理。同步型垃圾回收處理策略在程序執(zhí)行時(shí)同時(shí)進(jìn)行垃圾回收處理,而沒(méi)有停止程序的問(wèn)題,但相對(duì)地,其僅能進(jìn)行簡(jiǎn)單的垃圾回收處理,故整體效率不佳。增進(jìn)型的垃圾回收處理策略采用了上述全域停止型與同步型的垃圾回收處理策略,并做出了取舍,其在平時(shí)類似同步型垃圾回收處理策略,僅簡(jiǎn)單的垃圾回收處理,但在系統(tǒng)認(rèn)為需要時(shí),停止程序執(zhí)行,并以全域停止型垃圾回收處理策略進(jìn)行全整的垃圾回收處理。
由上述可知,全域停止型與增進(jìn)型的垃圾回收處理策略不受外部控制,而同步型的垃圾回收處理策略則導(dǎo)致整體效率不佳。目前V8引擎雖采用了增進(jìn)型的垃圾回收處理策略降低停止程序執(zhí)行的沖擊,但其在執(zhí)行全域停止型的垃圾回收時(shí),仍不受外部控制,故仍會(huì)造成程序于不可預(yù)期的時(shí)點(diǎn)停止執(zhí)行,并造成使用者經(jīng)驗(yàn)不佳。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種混合式動(dòng)態(tài)碼編譯裝置,所述混合式動(dòng)態(tài)碼編譯裝置包括語(yǔ)法解析器(parser)、靜態(tài)碼(native?code)產(chǎn)生器與動(dòng)態(tài)碼改寫(xiě)器(rewriter),其中所述語(yǔ)法解析器耦接所述靜態(tài)碼產(chǎn)生器與所述動(dòng)態(tài)碼改寫(xiě)器。語(yǔ)法解析器用以接收第一動(dòng)態(tài)碼,對(duì)所述第一動(dòng)態(tài)碼進(jìn)行語(yǔ)法解析,以將所述第一動(dòng)態(tài)碼分為多個(gè)能編譯的區(qū)塊與多個(gè)不能編譯的區(qū)塊。靜態(tài)碼產(chǎn)生器將所述能編譯的區(qū)塊轉(zhuǎn)碼為靜態(tài)碼。動(dòng)態(tài)碼改寫(xiě)器用以對(duì)所述不能編譯的區(qū)塊進(jìn)行改寫(xiě),以產(chǎn)生第二動(dòng)態(tài)碼,其中第二動(dòng)態(tài)碼具有所述第一動(dòng)態(tài)碼與所述靜態(tài)碼之間進(jìn)行溝通的多個(gè)功能傳呼(function?call)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于財(cái)團(tuán)法人資訊工業(yè)策進(jìn)會(huì);,未經(jīng)財(cái)團(tuán)法人資訊工業(yè)策進(jìn)會(huì);許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310627787.X/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 動(dòng)態(tài)矢量譯碼方法和動(dòng)態(tài)矢量譯碼裝置
- 動(dòng)態(tài)口令的顯示方法及動(dòng)態(tài)令牌
- 動(dòng)態(tài)庫(kù)管理方法和裝置
- 動(dòng)態(tài)令牌的身份認(rèn)證方法及裝置
- 令牌、動(dòng)態(tài)口令生成方法、動(dòng)態(tài)口令認(rèn)證方法及系統(tǒng)
- 一種動(dòng)態(tài)模糊控制系統(tǒng)
- 一種基于動(dòng)態(tài)信號(hào)的POS機(jī)和安全保護(hù)方法
- 圖像動(dòng)態(tài)展示的方法、裝置、系統(tǒng)及介質(zhì)
- 一種基于POS機(jī)聚合碼功能分離顯示動(dòng)態(tài)聚合碼的系統(tǒng)
- 基于動(dòng)態(tài)口令的身份認(rèn)證方法、裝置和動(dòng)態(tài)令牌
- 一種軟件開(kāi)發(fā)中的自動(dòng)化編譯方法及系統(tǒng)
- 一種動(dòng)態(tài)分配編譯機(jī)的系統(tǒng)及其方法
- 一種實(shí)現(xiàn)安卓編譯隔離的方法和系統(tǒng)
- 調(diào)度服務(wù)器、編譯服務(wù)器及分布式編譯方法
- 代碼編譯方法、編譯設(shè)備、存儲(chǔ)介質(zhì)及裝置
- 文件編譯方法、裝置、編譯設(shè)備及存儲(chǔ)介質(zhì)
- 一種編譯方法、裝置及系統(tǒng)
- 一種編譯方法和相關(guān)裝置
- 一種編譯方法、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種代碼編譯方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)





