jit

    0熱度

    2回答

    我有一個基於16位寄存器的虛擬機,我想知道將它編譯爲實際x86機器代碼的步驟是什麼?我不打算做一個JIT編譯器除非有必要能夠將編譯的代碼鏈接到另一個可執行文件/ DLL。 虛擬機的製作使得如果將虛擬機添加到項目中,可以添加特殊的語言結構。 (例如,如果將其嵌入到遊戲引擎中,則可能會添加「實體」對象類型,並且可能會暴露引擎中的幾個C函數)。這會導致代碼完全依賴某些暴露的C函數或暴露的C++類,在它嵌

    3熱度

    1回答

    根據我的理解,標準Lua解釋器首先將輸入代碼編譯爲「字節碼」(luac的輸出),然後「解釋」該字節碼。 但是,這不是基本上是一個JIT編譯器的定義?那麼LuaJIT做了什麼?它與標準的Lua解釋器有什麼不同?這怎麼能更快?

    10熱度

    1回答

    爲了各種目的,我正在運行一個類文件。爲此,我正在使用JVMTI代理。我的方法是調用RetransformClasses函數來調用ClassFileLoadHook。該策略適用於所有在檢測時間之後有進一步調用的方法,因爲實際檢測發生在後續函數調用中,但對於在程序中沒有進一步調用功能的任何方法(例如main函數)不起作用。 我想在執行過程中實時檢測一個方法。我想要一些程序,如儀表代碼的On-Stack

    2熱度

    2回答

    我一直在想如何V8 JavaScript引擎和任何其他JIT編譯器執行生成的代碼。 以下是我在嘗試編寫小型演示時閱讀的文章。 http://eli.thegreenplace.net/2013/11/05/how-to-jit-an-introduction http://nullprogram.com/blog/2015/03/19/ 我只知道很少裝配,所以我最初使用http://gcc.god

    0熱度

    1回答

    我讀過一篇關於熱點通過格子的不斷傳播的文章。 http://www.cliffc.org/blog/2012/02/27/too-much-theory-part-2/ 它描述了「(頂部滿足-1)== -1 ==(-1滿足頂部),所以這個例子是有效的:(1滿足2,3)==底部==(2, 3滿足1)。因此:(0滿足0,1)== 0,1 ==(0,1滿足0)「 但是我不明白爲什麼(頂部滿足-1)==

    1熱度

    1回答

    我明白on-stack replacement(OSR)通常如何工作,但我不明白OSR編譯的方法是否曾經有用,一旦方法離開觸發編譯的初始調用 - JITed代碼是否可用於後續迭代? 看起來好像是這樣,一旦解釋器進入相同的字節碼索引,舊OSR啓動它就可以再次進入OSR編譯方法。 我問的主要是因爲我看到Hotspot立即OSR編譯我的方法兩次(對於不同的BCI),但甚至沒有執行正常的C2非OSR編譯,

    0熱度

    1回答

    假設我有一個抽象類和一個實現它的類。 public abstract class BaseClass { public void Outer() { for (int i = 0; i < 1000000; i++) { Inner(); } } protected abstract void Inner

    0熱度

    1回答

    在V8 home(在谷歌的JavaScript引擎),我們讀到這樣的: V8編譯和執行JavaScript源代碼 這是否意味着JavaScript是不是V8中的解釋語言? V8是否使用JavaScript的即時編譯方法? 編輯:還有一個existing question這已經解決我的第一個問題,但不是第二。

    0熱度

    1回答

    我們知道下面的通話談話的主題, What's the calling convention for the Java code in Linux platform? 並且還解釋說, 「你可能會注意到的Java調用約定類似於C調用約定,而是由一個說法正確的,這是有意這樣做的移調用JNI方法時避免額外的寄存器混洗(您知道,JNI方法在方法參數前面有額外的JNIEnv *參數)。「所以當我們調用JNI函

    1熱度

    1回答

    說我有一個用於例如方法isEven驗證特定值,的方法第二個方法調用例如從磁盤或用戶)。但在那之後我還需要偶數值的方法使用此方法: public static String padToEven(int evenSize, String string) { if (!isEven(evenSize)) { // <-- duplication of isEven method t