HotSpot JVM團隊正在開發非常酷的項目,它允許開發人員動態編譯/注入Java,Javascript(和其他)以JVM速度運行。 問題: - OpenJ9與Graal/Truffle可互操作嗎? - 如果OMR與Graal /松露類似,你可以對比它們嗎?OpenJ9和項目Graal /松露
0
A
回答
1
對松露的API支持的一些信息是在這裏:OMR和格拉爾之間 https://github.com/eclipse/openj9/issues/59
1
比較已經寫在這裏:https://github.com/eclipse/omr/issues/1118
從這個問題引述約翰Duimovich:
所以,簡短的回答是,Truffle/Graal正在研究如何使用JVM來實現編程語言。通過實施一個AST解析器並通過Graal優化它(大量跳過的細節),松露被用於實現語言。 Graal專注於代碼生成並依靠Java進行垃圾收集。你用Java實現你的語言。由於許多目標語言使用C/C++作爲它們的實現語言,因此這可能不是初學者,但也許使用TruffleC可以直接重新編譯,但我認爲這不是開源的。他們有一些令人印象深刻的基準,所以那裏有很酷的東西。
和
Eclipse的OMR,爲生產做好準備代碼,IBM Java中使用,並試圖引導成其他語言,在Java的良好的基準,但對於其他語言證明點仍在進行中因爲OMR作爲一個開源項目大約有一年的歷史。現有的語言實現者不需要重新編寫他們的C/C++實現,因此他們可以逐步採用組件。如果您想要集成代碼生成庫或集成獨立的GC實現,您可以選擇OMR作爲模塊化組件。
還有一些原型允許Java代碼從Java驅動OMR的JITBuilder代碼生成器。請參閱Mark Stoodley的JVMLS演示文稿:https://www.youtube.com/watch?v=w5rcBiOHrB0
相關問題
- 1. Java9鏈接和OpenJ9
- 2. 松露堅固裝載機不與松露3.2.1
- 3. OpenJ9和碼頭集裝箱?
- 4. 松露遷移服務器錯誤(在松露初始化演示)
- 5. 固體(松露):與松露控制檯工作正常,但與松露測試失敗
- 6. 松露遷移錯誤
- 7. 暴露Xcode項目的庫
- 8. NPM不能在Windows上安裝「松露」
- 9. 不能調用松露控制檯
- 10. 松露控制檯變量聲明
- 11. 錯誤松露部署命令
- 12. 測試ethereum事件日誌與松露
- 13. 從PowerShell中運行Testrpc和松露不起作用
- 14. java liferay項目中的內存泄露
- 15. Sencha Touch:在單個項目上披露
- 16. 蘋果iPhone項目模板泄露?
- 17. 在Eclipse中創建和Android項目並輕鬆複製
- 18. 可你輕鬆在一個項目中C#和VB.aspx
- 19. 松露控制檯調用函數錯誤
- 20. 松露部署的合同不能通過Etherscan驗證
- 21. 以鬆散耦合的方式暴露ILogger
- 22. 松露遷移錯誤(測試rpc正在運行)
- 23. Android ListView項目鬆動偵聽器,如果添加了太多項目
- 24. 如何*輕鬆*揭露底層對象的方法?
- 25. 松露Solidity - 來自不同合同的調用函數
- 26. 松露遷移失敗,但只在主網絡上。
- 27. 列表查看項目(和子項目)
- 28. alfreco股份amp原型項目vs露天amp項目原型vs alfresco allinone原型項目
- 29. 在松露中指定交易執行的自定義帳戶
- 30. 測試復仇直接事件堅固松露
>由於許多目標語言都使用C/C++作爲其實現語言,因此這可能不是啓動器。 不是。您仍然可以通過例如調用C代碼JNI,並且有GraalLLVM [1](代碼名稱sulong),讓您在JVM內運行C/C++/Fortran(它被解釋爲任何其他松露語言)。請參閱FastR或TruffleRuby,它們使用它來運行R/Ruby本機擴展。 [1] https://github.com/graalvm/sulong – Steves
...當然,如果你想移植現有的實現,可能是一個問題,但同時你不會得到任何好處,除非您將該實現應用於ORM/Truffle提供的功能。 – Steves