Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mruby VM
Search
Yukihiro Matsumoto
July 04, 2023
Programming
0
92
mruby VM
RubyKaigi 2023 LT
The internal of the mruby VM (in 5 minutes)
Yukihiro Matsumoto
July 04, 2023
Tweet
Share
More Decks by Yukihiro Matsumoto
See All by Yukihiro Matsumoto
30 Years of Ruby
matz
0
480
Contribute to Ruby (RubyKaigi 2022)
matz
0
250
Ruby_through_Reserved_Words.pdf
matz
0
140
Ruby after 25 years
matz
1
1.5k
What is software made of?
matz
0
680
Streem
matz
8
3.8k
world-of-languages.pdf
matz
8
1.3k
Ruby Everywhere
matz
11
120k
Other Decks in Programming
See All in Programming
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
450
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
270
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
180
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
130
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Package Management Learnings from Homebrew
mikemcquaid
0
220
CSC307 Lecture 06
javiergs
PRO
0
680
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
210
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Technical Leadership for Architectural Decision Making
baasie
1
240
Fireside Chat
paigeccino
41
3.8k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
94
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
How to make the Groovebox
asonas
2
1.9k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
54
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Side Projects
sachag
455
43k
Transcript
Powered by Rabbit 3.0.1 mruby VM OSS Vision Ruby Association
Yukihiro "Matz" Matsumoto @yukihiro_matz
Powered by Rabbit 3.0.1 mruby
Powered by Rabbit 3.0.1 Alternative Ruby Implementation
Powered by Rabbit 3.0.1 M-Ruby
Powered by Rabbit 3.0.1 Modular Ruby
Powered by Rabbit 3.0.1 eMbeddable Ruby
Powered by Rabbit 3.0.1 Memory efficient Ruby
Powered by Rabbit 3.0.1 Embeddable VM
Powered by Rabbit 3.0.1 Register Based Instruction Set Ruby
Specialized Instructions Portable Instruction Set
Powered by Rabbit 3.0.1 Register vs Stack
Powered by Rabbit 3.0.1 Stack based Instructions PUSH 1 PUSH
2 ADD
Powered by Rabbit 3.0.1 Less Operands Smaller Instructions Highly
Dependent Instruction Order
Powered by Rabbit 3.0.1 Register based Instructions LOADINT R1 1
LOADINT R2 2 ADD R1 R2
Powered by Rabbit 3.0.1 More Operands Longer Instructions Independent
Instruction Order Easier to Peep-hole Optimize
Powered by Rabbit 3.0.1 # a (R1) = 42
LOADINT R2 42 MOVE R1 R2
Powered by Rabbit 3.0.1 # a (R1) = 42
LOADINT R1 42
Powered by Rabbit 3.0.1 Ruby Specialized Instructions
Powered by Rabbit 3.0.1 GETIV,GETCV,GETCONST SEND,SENDB SUPER EXCEPT,RESCUE,RAISEIF
Powered by Rabbit 3.0.1 Portable
Powered by Rabbit 3.0.1 Can be dumped in binary
format
Powered by Rabbit 3.0.1 Used by mruby, mruby/c
Powered by Rabbit 3.0.1 Not easy to upgrade
Powered by Rabbit 3.0.1 Compile Once, Run Anywhere
Powered by Rabbit 3.0.1 Even on Keyboards
Powered by Rabbit 3.0.1 Sponsored by Salesforce.com
Powered by Rabbit 3.0.1 Sponsored by NaCl
Powered by Rabbit 3.0.1 Sponsored by GitHub Sponsors
Powered by Rabbit 3.0.1 Sponsored by Ruby Community
Powered by Rabbit 3.0.1 Thank you