mirror.dongdigua.github.io/tsoding_bm.md

53 lines
2.0 KiB
Markdown
Raw Normal View History

2022-07-12 22:00:54 +08:00
# tsoding vm for lisp
2022-07-18 14:14:30 +08:00
## [ebisp](https://youtu.be/vVjNyY2jkqg)
- 1:39 "imagine dying because breathing stopped for gc"
- 1:46 "If you want clickbait, you should not lie in your titles, you should be always technically correct"
- 1:47 It still build after a year
## [garbage collector](https://youtu.be/2JgEKEd3tw8)
- 0:55 jim, a json library
- 1:20 start making gc
- 1:30 ohhhh
### [mark/sweep gc in C++](https://youtu.be/RjFQA0C9fjY)
2022-07-12 22:00:54 +08:00
## [Day 1](https://youtu.be/0irYsCYuZws)
- 0:15 LLVM?
- 0:18 вm -- blyat machine
- 1:?? job
- 2:10 random access to stack (where my `copy n` came from)
<!-- 2:18 M-x align-regxp -->
- 2:20-2:35 fibonacci (where my fib.asm came from)
- 2:40-2:55 dump in-memory program into/from file (how to implement this in rust?)
- 4:11 succeed!
2022-07-18 14:14:30 +08:00
[progress](https://github.com/tsoding/bm/tree/238612b4f1d300baa922e57a543ed75c153f3e40)
2022-07-12 22:00:54 +08:00
## [Day 2](https://youtu.be/9td67NTtNCg)
- 2:00 jump lable
- 2:11 "or I'll come to your house, steal all your source code, and make all your variables constant, ok. And I'm a haskeller, I know how to make all the variables constant, ok, trust me."
- about NaN-boxing
- https://www.cnblogs.com/qicosmos/p/4285409.html
- https://zhuanlan.zhihu.com/p/166406678
## [Day 3](https://youtu.be/LN9vrbBNG64)
- 0:45 "s64 vs i64, fight"
- 0:50 [boost integer](https://theboostcpplibraries.com/boost.integer)
- 0:55 `#include <stdurmom.h>`
2022-07-13 13:55:27 +08:00
- 3:35 calculating pi
- 3:43 refer to forth
- 4:00 step debug
- 4:14 swap relative address like dup
2022-07-18 14:14:30 +08:00
[progress](https://github.com/tsoding/bm/commits/master?after=6384b3d7e8364370a9a3eff348cc10ad0c0b51ae+1294&branch=master&qualified_name=refs%2Fheads%2Fmaster)
## [Day 4](https://youtu.be/X7bSMKUgKVc) function call!!!
- 0:30 how function call & ret works
- 1:15 I left the industry(software engineering)
<!-- 1:18
"why you wear headphones on neck and not head?"
"because my neck is part of my head"
-->
- 1:30 native call: alloc on heap!
- 1:38 ???
- 1:58 Makefile to build a particular file extension