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
How V8 executes WASM
Search
Taketoshi Aono(青野健利 a.k.a brn)
July 24, 2019
Programming
3
1.6k
How V8 executes WASM
WASM Pipeline of V8 javascript engine
Taketoshi Aono(青野健利 a.k.a brn)
July 24, 2019
Tweet
Share
More Decks by Taketoshi Aono(青野健利 a.k.a brn)
See All by Taketoshi Aono(青野健利 a.k.a brn)
document.write再考
brn
6
3k
Parsing Javascript
brn
14
9.1k
JSON & Object Tips
brn
1
450
CA 1Day Youth Bootcamp for Frontend LT
brn
0
900
Modern TypeScript
brn
2
780
javascript - behind the scene
brn
3
720
tc39 proposals
brn
0
840
プロダクト開発とTypeScript
brn
8
2.9k
React-Springでリッチなアニメーション
brn
1
670
Other Decks in Programming
See All in Programming
Compose Navigation実装の見通しを良くする
hiroaki404
0
170
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
550
私の愛したLaravel 〜レールを超えたその先へ〜
kentaroutakeda
11
3k
もう一人で悩まない! 個の知見をチームの知見にする3つの習慣と工夫 / Into team knowledge.
honyanya
3
510
ベクトル検索システムの気持ち
monochromegane
28
7.9k
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
140
体得しよう!RSA暗号の原理と解読
laysakura
3
490
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
220
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
4
920
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
720
フロントエンドテストの育て方
quramy
8
2.1k
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
350
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Building Applications with DynamoDB
mza
94
6.3k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Into the Great Unknown - MozCon
thekraken
35
1.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
Practical Orchestrator
shlominoach
186
10k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Transcript
H o w V 8 E x e c u
t e W A S M
Name !CSO 5BLFUPTIJ"POP੨݈ར Occupation 'SPOUFOE%FWFMPQFS1SPEVDU0XOFS Company $ZCFSBHFOU"EUFDI4UVEJP"*.FTTFOHFS OSS $POUSJCVUPSPG7
About IUUQJOGPCODI
8"4.࣮ߦύε
8"4. -JGU0⒎ JBY 5VSCP'BO 0UIFST 5VSCP'BO %FCVH *OUFSQSFUFS
-JGUPGG 8"4.ઐ༻ͷ#BTFMJOFίϯύΠϥ 8"4.ͷ01ίʔυΛ+*5ʹม͢Δ ϨδελϚγϯ͕ͩɺͷϩʔυʹελοΫ͏ ϨδελׂϦχΞʹߦ͍ɺϨδελ͕ރׇͨ͠ΒTQJMM͠ɺಛʹੜଘظؒ ͷੳ͍ͯ͠ͳ͍ 9ͱ*"ͷΈσϑΥϧτͰ0/ʹͳ͍ͬͯΔ
5VSCP'BO 7ͷ࠷దԽ+*5༻ύΠϓϥΠϯ άϥϑΛੜ͔ͯ͠Βɺάϥϑͷ࠷దԽύΠϓϥΠϯΛ௨Γɺ *OTUSVDUJPO4FMFDUPSΛܦͯ+*5ίʔυΛग़ྗ͢Δ +BWBTDSJQU͜ͷ࠷దԽΛܦͯ+*5ίʔυ͕ग़ྗ͞ΕΔ
5VSCP'BO1JQFMJOF
8"4. %FDPEF 'VODUJPO#PEZ 44" (SBQI 0QUJNJ[BUJPO QBTT 4DIFEVMJOH 3FHJTUFS "MMPDBUJPO
*OTUSVDUJPO TFMFDUJPO $PEF (FOFSBUJPO
-JGUPGG1JQFMJOF
8"4. %FDPEF 'VODUJPO#PEZ $PEF (FOFSBUJPO
KBWBTDSJQU1JQFMJOF
+4 44" (SBQI 0QUJNJ[BUJPO QBTT 4DIFEVMJOH 3FHJTUFS "MMPDBUJPO *OTUSVDUJPO TFMFDUJPO
$PEF (FOFSBUJPO 1BSTF "45 #ZUFDPEF (SBQI #ZUFDPEF
-JGUPGG5JFSJOH
8"4. -JGU0⒎ &YFDVUFCBTFMJOF+*5 5VSCP'BO *NNFEJBUFMZTUBSUCBDLHSPVOEDPNQJMF
5JFSJOH -JGUPGGͷ߹࠷ॳʹ-JGUPGGͰ#BTFMJOF+*5Λग़ྗ࣮ͯ͠ߦ͢Δ ͜͏͢Δ͜ͱͰελʔτΞοϓλΠϜͷߴԽΛߦ͏ ͞Βʹ8"4.+4ͱҧͬͯ੩తʹશͯܕ͚͞Ε͍ͯΔͨΊɺ࣮ߦͷ5SBDF ΛߦΘͣʹଈ࠷దԽ+*5Λग़ྗ͢Δ͜ͱ͕Ͱ͖Δ ͦͷͨΊɺ#BTFMJOFΛੜͭͭ͠όοΫάϥϯυͰ5VSCP'BOʹΑΔ࠷దԽ +*5ͷग़ྗΛಉ࣌ʹߦ͍ͬͯΔ
*OUFSQSFUFS 8"4.༻ͷΠϯλϓϦλ࣮ ී௨ʹ࣮ߦͨ͠߹ʹ͜ͷύεʹೖΔ͜ͱͳ͍ σόοά༻్ͱͯ͠ͷΈଘࡏ͢Δ ͱ͍ͯ
$PEF$BDIJOH
5VSCP'BODPEFDBDIJOH 8"4.ͷίʔυҰίϯύΠϧ͞ΕΔͱ$ISPNFʹΑͬͯΩϟογϡ͞Ε ͯ࣍ճҎ߱ߴͰىಈ͢Δ
5PFGpDJFOUDBDIJOH ʠJOTUBOUJBUF4USFBNJOHʡ͔ʠDPNQJMF4USFBNJOHʡΛར༻͢Δඞཁ͕͋ Δ 63-ͱXBTNͷΈ߹ΘͤͰΩϟογϡΛߦ͏ͷͰɺҧ͏63-͔Βϩʔυ ͢ΔͷΛΊΔ
KBWBTDSJQUͱൺͯ
$PEFTJ[F ѹॖ͞Εͨ#ZUFDPEFͳͷͰવKBWBTDSJQUͷιʔείʔυΑΓখ͍͞ ίʔυ༰ʹΑΔ͕
5ZQF'FFECBDL KBWBTDSJQUܕ͕ແ͍ͷͰɺCBTFMJOFͰ༷ʑͳܕʹରԠ͢ΔίʔυΛग़ྗ ͦͷޙऩू͞Εͨܕใ͔ΒมͷܕΛ༧ͯ͠+*5Λग़ྗ͢Δ 8"4.੩తܕ͚ͳͷͰɺͦͷաఔΛܦΔඞཁ͕ແ͍
4UBUJD0QUJNJ[BUJPO 8"4.ଟ͘ͷ߹ɺίϯύΠϥ͔Βग़ྗ͞ΕΔͨΊɺίϯύΠϥͷόοΫ Τϯυ͕੩తͳ࠷దԽΛࢪ͢͜ͱ͕Ͱ͖Δ +*5ͷλΠϛϯάͰߦ͏࠷దԽ࣌ؒΛ͔͚ΒΕͳ͍ͨΊɺߦ͑Δ࠷దԽ͕ ݶΒΕΔ
($ 8"4.ʹ($͕ແ͍ͷͰߴͳׂ͕Մೳ 8"4.ͷϝϞϦ+4ͷ"SSBZ#VGGFS͔ΒׂΓͯΒΕ͍ͯΔ͕ɺׂͷλΠ ϛϯάͰ0MEεϖʔεʹׂΓͯΔͷͰ+4ͷ($ͷରʹͳΓͮΒ͍
ؾʹͳΔ 8"4.͔ͳΓMPXMFWFMͳ#ZUFDPEFͳͷͰɺ+7.ͷΑ͏ͳલఏ݅Λͨ ͤΒΕͣɺΤϯδϯଆͰͰ͖Δ࠷దԽ͕͔ͳΓݶΒΕͯ͘Δ ࣄલͷ࠷దԽ͕ඇৗʹॏཁʹͳͬͯ͠·͍ɺ͏ίϯύΠϥʹੑೳ͕େ͖͘ ґଘͦ͠͏
·ͱΊ Γ8"4.ͱͯίϯύΠϥϑϨϯυϦʔ KBWBTDSJQUͷ࠷దԽύε͔ͳΓෳࡶʹݟ͑Δ