Java虛擬機用于數(shù)字電視機頂盒研究與實現(xiàn)

結論
來源:中國有線電視 更新日期:2007-10-15 作者:佚名
內容導航:  分頁瀏覽 | 全文瀏覽

    ①當隨后我們手動調節(jié)工作指針Wptr′到Wptr"時,工作棧已由先前的嵌套匯編的函數(shù)進入到了要調用的本地方法的C函數(shù),因此先前的函數(shù)的局部變量在此時無效,也就是說此時如果用以前實參傳遞過來的本地函數(shù)指針調用本地的函數(shù)肯定不會成功,因此要把這個函數(shù)指針先手動保存起來。

    ②flag的設置的原因是:本地方法的參數(shù)的個數(shù)不是固定的,而OS20所提供的用匯編調用函數(shù)在回到函數(shù)入口點時只彈出Wptr"指向的4個單元的內容,因此多余的參數(shù)出棧操作也必須通過調節(jié)Wptr手動完成,通過向下移動Wptr查找flag標志,再調節(jié)Wptr到Wtpr+2即可正確地回到匯編函數(shù)。當本地方法的參數(shù)完全手動入棧后就可以手動調節(jié)工作區(qū)指針Wptr而進入到調用的本地函數(shù),函數(shù)返回后的第一件事是保存在寄存器中的函數(shù)的返回值到returnvalue,恢復工作區(qū)指針Wptr,并將本地方法的返回值類型作為嵌入?yún)R編的函數(shù)的返回值,此時就完成了由Java棧到C棧的轉換,并成功調用本地方法。

圖3Java棧到本地棧的轉換

圖3Java棧到本地棧的轉換

    結論

    通過對Sun公司下載的CDC代碼的修改與編寫,對CDC中的加載的類做了一些裁減,并且將線程化的解釋器改為一次性解釋字節(jié)碼的單線程解釋器簡化程序,成功地生成了在機頂盒上可以運行簡單的Java程序的虛擬機。

 標簽:
上一頁 1 2 3 4 
廣告聯(lián)系:010-82755684 | 010-82755685 手機版:m.pjtime.com官方微博:weibo.com/pjtime官方微信:pjtime
Copyright (C) 2007 by PjTime.com,投影時代網(wǎng) 版權所有 關于投影時代 | 聯(lián)系我們 | 歡迎來稿 | 網(wǎng)站地圖
返回首頁 網(wǎng)友評論 返回頂部 建議反饋
快速評論
驗證碼: 看不清?點一下
發(fā)表評論