當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
所谓的中间代码(ES5 的 “JSIL”)
生活随笔
收集整理的這篇文章主要介紹了
所谓的中间代码(ES5 的 “JSIL”)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
腳本 for (var i in obj) {obj[i] = i * 2 + 1;
} 寄存器版JSIL /*literial registersL0 'i' identifierL1 'obj' identifierL2 2 numberL3 1 number
*/LVA $0, L1 CEE $1, $0
start: ITEM $2, $1 SVA L0, $2 MUL $3, [0], L2 ADD $3, $3, L3 SPR $0, $2, $3NEXT $4, $1JNZ start,$4
end:
堆棧版JSIL
/* variablesL0 i L1 obj */PUSH VAR L1 // objPUSH ENUM 0 // obj,[enum]obj start: PUSH VAR L0 // obj,[enum]obj,iPUSH ITEM 1 // obj,[enum]obj,i,[enum]obj.itemSAVE // obj,[enum]obj,iPOPPUSH VAR L1PUSH VAR L0PROP // ... obj[i]PUSH VAR L0 // ... obj[i],iPUSH NUMBER 2 // ... i,2MULTPUSH NUMBER 1 // ... 2i,1ADDSAVE // ... obj[i]( = 2i+1) POPNEXT // obj,[enum]obj,hasNext?JZ endPOP end:你喜歡哪一種呢?
轉載于:https://www.cnblogs.com/infinte/archive/2009/12/31/1637203.html
總結
以上是生活随笔為你收集整理的所谓的中间代码(ES5 的 “JSIL”)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows下完成端口移植Linux下
- 下一篇: gradle idea java ssm