2014-01-29 27 views

回答

1

如果它被編譯爲機器碼,它將一直使用相同的寄存器。如果它被解釋或編譯爲字節碼(想想Java或C#),它可以在每次運行時使用不同的寄存器。

+0

不是在爭辯本身的答案,但有興趣知道爲什麼字節碼不會(在幾乎所有情況下)確定性地每次編譯到相同的機器碼(從而重複使用相同的寄存器)? – ChristopheD

+1

@ChristopheD它可能是相同的,但是如果代碼被即時編譯,並且虛擬機使用諸如熱點優化或動態特化等技巧,那麼生成的代碼很容易依賴於程序遇到的數據。 – hobbs

+0

@hobbs:謝謝,這很有道理。 – ChristopheD

相關問題