μλ νμΈμ μ λ http://www.youtube.com/watch?v=apZYqHPqzYoλ₯Ό λ³΄κ³ Rustμμλ ν« μ½λ κ΅μ²΄κ° μμΌλ©΄ μ’κ² λ€κ³ μκ°νμ΅λλ€.
Javaμλ OSGi νλ‘μ νΈ( http://www.osgi.org/Main/HomePage ) λ° ν«μ€μ( http://code.google.com/p/hotswap/ )μ΄ μμΌλ©°, μ΄λ λͺ¨λμ μ κ·Έλ μ΄λ λ° λ³κ²½μ μ©μ΄νκ² ν©λλ€. λ€λ₯Έ λͺ¨λμ 건λλ¦¬μ§ μκ³ μμ© νλ‘κ·Έλ¨.
νΉν ν¬λ‘μ€ νλ«νΌ λ°©μμμ λ€μ΄ν°λΈ μ½λλ‘ μ΄ μμ μ μννλ κ²μ μ λ§ λ§€μ° μ΄λ ΅μ΅λλ€. VMμ λ°μ΄νΈμ½λ λ‘λ©, μ½λ μμ±, μ½λ λ°°μΉ λ±μ μμ ν μ μ΄ν μ μκΈ° λλ¬Έμ μκ°μ΄ λ μ½μ΅λλ€.
μ΄ μ£Όμ μ λν μ΅μ μ°κ΅¬λ μλμ§λ§ Kitsune: Cλ₯Ό μν ν¨μ¨μ μΈ λ²μ© λμ μννΈμ¨μ΄ μ λ°μ΄νΈ (OOPSLA 2012)κ° ν₯λ―Έλ‘λ€λ κ²μ μμμ΅λλ€.
λΆλ₯λ₯Ό μν΄ λ°©λ¬Έ, 2013λ 7μ 17μΌ. ν« μ€μνμ μ§μνλ λ° νμν μΌλΆ νλͺ©(μ: νμ΄μ§λ₯Ό μ€ν κ°λ₯ν κ²μΌλ‘ νμ, I-μΊμ νλ¬μ± λ±)λ JIT μ»΄νμΌλ¬λ₯Ό μ§μνλ λ° νμνμ§λ§ μ€μ λ‘λ κΉλ€λ‘μ΅λλ€.
μμΉ λ 립 μ½λ(PIC)λ νμνλ€κ³ μκ°ν©λλ€. Kitsune λ¬Έμλ μ€μ λ‘ λ²μ κ° λ°μ΄ν° λ μ΄μμ λ§μ΄κ·Έλ μ΄μ κ³Ό κ°μ ν¨μ¬ λ 곡격μ μΈ λ³νμ λ€λ£Ήλλ€. (μ΄ μμ μμ λλ κ·Έ μ’ μ΄λ§ νμ΄λ³΄μλ€.)
μ΄κ²μ λ©μ§ μΌμ΄μ§λ§ μλ§λ μΌμ΄λμ§ μμ κ²μ΄λΌκ³ λ§νλ κ²μ΄ νΈμν©λλ€. μ΄λ³΄λ€ λ μ€λλ ₯ μλ λ€λ₯Έ μ΄λ €μ΄ λ¬Έμ λ€μ΄ λ§λ€κ³ μκ°ν©λλ€.
LLVM λ° ν΄λΉ JITλ₯Ό ν΅ν΄ μ»΄νμΌλ μ½λλ‘ λͺ λ² μνλμμ΅λλ€. VMμ λμ Έμ Erlangμ΄ VM λ΄μμ ν μ μλ κ²κ³Ό λμΌν μμ
μ μνν μ μμ΅λλ€.
μκ°: http://vimeo.com/36579366
C++μ μ:
λκ΅°κ° μ μμ€ VMμ μ¬μ©νκ³ μΆλ€λ©΄ Rustμμλ κ·Έλ κ² ν μ μμ κ² κ°μ΅λλ€... κ·Έλ° μμΌλ‘ μλνλ €λ©΄ μ΄μ¨λ VM λμμ μΆκ°ν΄μΌ ν©λλ€...
λλ μ΄κ²μ μ°Έμ‘° http://runtimecompiledcplusplus.blogspot.co.uk/ λ° μ½λ https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus μ©μΌλ‘λ§ μΆκ°ν κ²μ λλ€.
κ°μ₯ μ μ©ν λκΈ
λλ μ΄κ²μ μ°Έμ‘° http://runtimecompiledcplusplus.blogspot.co.uk/ λ° μ½λ https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus μ©μΌλ‘λ§ μΆκ°ν κ²μ λλ€.
λ° https://bentheelder.github.io/blog/rust-hotswap.html