Build Node.js–WASM/WASI tiny compiler with Node.js

2836c80ba2ab0c0a0fcd820c713b106d?s=47 mganeko
November 30, 2019

Build Node.js–WASM/WASI tiny compiler with Node.js

Lightning talk for JSConf.JP 2019. Building JavaScript-WASI tiny compiler, and WASI support.

2836c80ba2ab0c0a0fcd820c713b106d?s=128

mganeko

November 30, 2019
Tweet

Transcript

  1. J@B 1 "A M 30 3 I@ L C @B

    @I 1 "A .3 .2 ( / (" " )C9 @ 09 3 CN @P / C / @ 3)1. 3)1 PNPNM L A 1 0 2 ( 9 I J
  2. • • , , , •

  3. • . . ! •

  4. • ! • • / .. . à / •

    • / .. . à / E :
  5. • A • • ? • A , ? !

    • • A E HB F
  6. • : E • • B ? C E !

    A ! • ! • FH
  7. / • . . B A B • 1 7:

    23 8 7 7 3 3 3 7 23 8 • :B A : , • 023 0 0: 7 23 3 . • .B - :B • - 1 M - 1 g I • 23 8 M 23 8 R V V d • 23 8 M 23 8 R / e Ld • fb 23a N T Mh • :723 0 3 3 0 3 238 238 • TS I N N - MR L
  8. ( 1 1) 0 (1 2 . -2 A 23A

    2 A 2E 2 (E C 23 3 2 ). ). A A 2 C :A 2 C2 A C3A 2 2 3 A
  9. ) 9 9 . ( 0 ) 2 1 -2AB

    A : & 2 BCA2 C B C2 CA ( A2C A & B B A: 2 B A B 2 2 B B C )2 2 A: C 2C 2B . B 2C &BB C A 2C 2B &BB : 2A A 2C A B A B A 2 C ) BC : A
  10.  • • à • / / • 2 $

    2 - / / • • - / :/- : / 2 $ 2 - / / • -. • . : . • -. . • - / • - / . • • :- ./ A
  11. ( , , ) • , , • ) ./1

    )2 ./ 2 • ( )1 )2 / 2)2 • S • O IL I L •
  12. ) () () : 1 • O SMU • RE

    J O W • ((.) (A .) .) ) • O LSMU • RE JO L Y JV • / ,) B .) .) A .) . ((.) ßà / ,)
  13. +14 C; = ;C C% C; = ;C ; C

    = C; F C= ; * % F 3 C= * * * , % C * = C% % C; = C = = // -2 , - JI
  14. ,2 + C; = ;C C C; = ;C C%

    ; AC * % / F 4 C= C% * A = = = % AC; = C = = 1 3 % - JI
  15. +14 C; = ;C C ; C = C; C;

    = ;C F C= ; C; * % F 3 C= C% * = = = C * = C% % , , % * // -2 , - JI
  16. 1 1 A A A ; = AA A C

    ; C ; A % + C , 2 , * % 1 3 , * % 2- / F
  17. ; ; 3 3 +3 3 = .$ . $

    3 2 3 . 3 A / 1 F
  18. .1 F F ) ( / ; ; =A 

    A ; ; F 2 ; A ; A ; ; +3 $
  19. = = A A; ) F ( / A; F

    ; ; $ 2 A F .1 +3 $I
  20. 1 1 ) + $ . . $ 1 =

    ;= = ;= /( A
  21. / (2) ) / ) : • • • /

    • PI A W H C P • / • , • , ( ) • / , / ) • ) H ( • A HPM S
  22. ) ) ) 8 = ;= .- . . 3

    .-) : /: , ; , 2. 2 ( , 3 .-) : /: , // . ; = =; = ;; 8 ) 8= ;; A ;= =; 8 . ; ; = = ;; + =; (=; 8 ; ' ;' ;; + C , 2. 2 ( C
  23. . ;8 . 8. .(> . . ), ( (

    > . 88 > . ) 88 > ;8 . . 8. ; . .= 8 . 8 ; ( / ) /) , ) : / / ) ) , . / M S . 8. ; .= 8 . 8 8. ; . .= 8 .= 8 . 8 8. 8. ; . .= 8 .= 8 . ) )/ . ( ( A 8 . .= 8. . . .
  24. 4 9 -/ - / $/ ; $ / =

    = = 41= ; " =2 2 )("" 6 ;3 = = = = 41= " =2 2 )("" -- $$$$ 2 3 ; 2 2 6 = " K $$$ ; 12 2 " -- ; 12 2 + / B= B= 41 ; ; 12 2"" -/ ; B= B= 41 2 ; 6 ;3 2 ;"" 6 ;3 2 ; 9 )(" 9 329 B )(" 9 329 )(" )( 3 ; -- 9 B . - 19 329 B 19 329 B -- 9 . B - )( 3 ; )( 244 19 329 19 329 -- = ; "- $ / )( 3 ; -- ; - 4 " ; " "
  25. ! • . : B /: • -. : .:

    -// / • . /: - : , : ,A- • : MW IF • S N • . /: - : , : ,A-
  26. • ( . ) - , • ) - (

    . • . ( . • . . / . . • à , , - • jc I Ae Mbn N • S S ( . i A ) mf • ( . C i • ( . ad gh ) lC • WN A ) , , -
  27. • . • JJ I 9 I DFOACC9 F IJ9

    9 AOA M9IA 9 M :9II D:CN INIJ D A J 9 • 32 - CA 3- R AC JMF CF 9 FD • M9IDJAD - : AC MAJ IJ • JJ I M9IDJAD L • 09 :N ,9IJCN . • JJ I MMM 9IJCN FD :CF 9 F A C J 9IJCN 9JAL M :9II D:CN FD AC JAD • .. . . • 1F .- A J J F CN • JJ I AJ : FD :NJ F 9CCA9 M9ID DA F JAD • - R 0dSce 2 T W ln wg o vhgn • vfgzPtps P p P • 9IDJAD R IJ bWyvf n • / J R ,9IJCN X SaP 1ipmk u 0d T W • : II D:CN 0A F JAD rugn T W ogw
  28. / • ) /- • : . / - -

    - . . - / -: • ( ) ) • • ( : : • S d f_ P a • - hl CP • bncm: A Wi cm : egIPN
  29. ( ,( ( ( ) * * ,( * :2

    0 • / 0 /0 : : H • / W • • /0:: WI • > : //:0 > 2: • >! - : //:0 - 0 :: • >! - 0 0 2 3 - 0 :: • > 0 0 > 2: • : 0 - 0 : 0 0 • 0: - 020: 30 > 0 - : //:0 - 0 :: - 0 0 2 3 - 0 :: - - 0 *: 0 0 - 0 :: H
  30. - • ( ) 2 - - ) • )

    • 1 • 1 3 1 1 3 3 • 1 3 à 1 (( 1 à • 1 (( 3 818 • A 2 A 1 • - ) ( - 3 • d_a o y t M S p k u • , ) d_a o y r c a • S _e • oS C S t • l (( Sc a • r fgh w pW • A 2 A 1 m tM • Sv nI, ) sw M ST i
  31. - • C ! A 1A 2 C 3C A

    A C 2 C C A • C 3 AC C A C 2 C CA C8 (, 3 • ,C C ! • )8 3 )1 3 1C C8 CA • -1 C à 3 AC C (,) 3 à ! • C A (,) CA A • 31 1 A C ! • A C (, 3 A C ! 2 81 C C 8 A A ! • C ! keg _T y t • (, W keg M iag s • C ! dfel • • uS (,) bIh iag s • mnp y • 1 A C ! v • w (, bIh _ cqha 3 A C A1C (- 3 r UT bq aoIW
  32. ( ) ( ( ( ) $( A + 2

    + A A + = 2 + 2 + 2 A + A A A ) $( 2 2(3 2 =)( A =)( ; A 2 =)($ A A C ;=A = C ; 2 =)($ A =)($; = ; 2 =)($ A =)($ = 2 ; A =)($ A =)($ A > C = C A A = A A A = C ; A A 1 $> . C= $ 0 $> 3-1/ C=
  33. / . . : &. 2 A A A A

    A &. . . 2 A ) C . A A - &.( A 2& 2: A A &.( 2& 2: 2 A A &.( A A 2 :A A
  34. • : • • : - . $ : •

    : • / : $ • . . : : - / : : - . $ : • ./ : • . - / : • • : : / : • : : /
  35. • / / / / ! ( / • /

    / / / / // ( ß à ) • ( • / / / / • / ( ( • a i ( drE xeLM • pS L A ) p c M • ( gS M Atbgs M • ( w oVhVfn lI SA W a uy M • V A ( ( Sm V
  36. • • / _ • " • C G @

    • " PRT • T M ][ @ S@ W@
  37. ! / 67 / 67 N 9AA ::A3 5 3

    :728 :A7 43 43 6 77 4 4 / 67 / 67 M SM 9AA ::A3 5 3 :728 :A7 77 5 4 45 / 67 / 67 1-0. 9AA ::A3 5 3 :728 :A7 5 3 5 5