Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
仮想マシンにおけるスタックの管理
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
monochrome
July 11, 2021
Programming
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
仮想マシンにおけるスタックの管理
言語処理系Slackミートアップ#4(2021/07/11)
monochrome
July 11, 2021
More Decks by monochrome
See All by monochrome
RubyKaigi2026: Invariants in my own Ruby
sisshiki1969
0
34
Improving my own Ruby thereafter
sisshiki1969
1
260
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
1.1k
Improve my own Ruby
sisshiki1969
1
620
My own Ruby, thereafter
sisshiki1969
0
430
Running Optcarrot (faster) on my own Ruby.
sisshiki1969
1
350
Rustでゴミ集め
sisshiki1969
1
390
RustでつくるRubyのFiber
sisshiki1969
0
340
Shinjuku.rs#15 Rustでつくるx86アセンブラ
sisshiki1969
0
1.8k
Other Decks in Programming
See All in Programming
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
160
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
150
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
気持ちぃ〜角丸 Squircle
ryu1013
0
150
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
16k
Jetpack Compose Mechanisms
skydoves
2
650
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
120
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Java 27新機能 / Java 27 new features
kishida
2
210
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
120
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
160
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
100
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
450
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
550
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
570
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Designing Experiences People Love
moore
143
24k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
A Soul's Torment
seathinner
8
3.7k
Transcript
プログラミング言語Slack 定期ミートアップ 2021/07/11 仮想マシンにおけるスタック・ヒープのハンドリング monochrome ruruby: https://github.com/sisshiki1969/ruruby
def g end def f g() end f() toplevel Virtual
Context stack
def g end def f g() end f() toplevel f
Virtual Context stack
def g end def f g() end f() toplevel f
g Virtual Context stack
def g end def f g() end f() toplevel f
Virtual Context stack
def g end def f g() end f() toplevel Virtual
Context stack
t = 100 3.times do b1 = 0 end toplevel
block Virtual Context stack b1 t
def f f1 = 5 Proc.new do b1 = 1
g() end end p = f() p.call() toplevel f Virtual Context stack f1
def f f1 = 5 Proc.new do b1 = 1
g() end end p = f() p.call() toplevel f Virtual Context stack f1 block b1 Heap space
def f f1 = 5 Proc.new do b1 = 1
g() end end p = f() p.call() toplevel f Virtual Context stack block b1 Heap space f’ f1
def f f1 = 5 Proc.new do b1 = 1
g() end end p = f() p.call() toplevel Virtual Context stack block b1 Heap space f’ f1 p
def f f1 = 5 Proc.new do b1 = 1
g() end end p = f() p.call() toplevel Virtual Context stack block b1 Heap space f’ f1 p
def f f1 = 5 Proc.new do b1 = 1
g() end end p = f() p.call() toplevel Virtual Context stack block b1 Heap space f’ f1 p g
def f f1 = 5 Proc.new do b1 = 1
g() end end p = f() p.call() toplevel Virtual Context stack block b1 Heap space f’ f1 p