https://github.com/minoki/icfpc2006
My solutions to ICFP Programming Contest 2006 "The Cult of the Bound Variable", including JITting VM for the Universal Machine
https://github.com/minoki/icfpc2006
icfp2006
Last synced: 11 months ago
JSON representation
My solutions to ICFP Programming Contest 2006 "The Cult of the Bound Variable", including JITting VM for the Universal Machine
- Host: GitHub
- URL: https://github.com/minoki/icfpc2006
- Owner: minoki
- Created: 2021-09-27T13:58:12.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-24T13:05:35.000Z (over 2 years ago)
- Last Synced: 2025-03-10T15:09:16.251Z (over 1 year ago)
- Topics: icfp2006
- Language: C
- Homepage:
- Size: 446 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My solutions to ICFP Programming Contest 2006 "The Cult of the Bound Variable"
## The Universal Machine
* [run.c](run.c)
* Simple VM using `switch`.
* [run_threaded.c](run_threaded.c)
* Threaded VM using computed goto.
* [run_threaded_switch.c](run_threaded_switch.c)
* Threaded (?) VM using `switch`.
* [run_directthreaded.c](run_directthreaded.c)
* Direct-threaded VM using computed goto.
* [run_directthreaded_tailcall.c](run_directthreaded_tailcall.c)
* Direct-threaded VM using tail calls.
* [aarch64/run_jit.c](aarch64/run_jit.c)
* JIT-compiling VM for AArch64.
* [x86_64/run_jit.c](x86_64/run_jit.c)
* JIT-compiling VM for x86_64.
参考:
* [YARV Maniacs 【第 3 回】 命令ディスパッチの高速化](https://magazine.rubyist.net/articles/0008/0008-YarvManiacs.html)
* [JITあれこれ | κeenのHappy Hacκing Blog](https://keens.github.io/blog/2018/12/01/jitarekore/)
* [WASM3の末尾呼び出しVMがかしこい - Qiita](https://qiita.com/okuoku/items/ed52f48ce871f429759e)
## codex.umz
* [extract.lua](extract.lua)
* Extract `umix.um` from `codex.umz`'s output. Use as `make umix.um`.
* [extract-CBV.hs](extract-CBV.hs)
* Extract CBV's logo as a PNG image.

## QVICKBASIC (BASIC)
* [hack3.bas](hack3.bas)
* A program to obtain passwords for `ftd`, `ohmega`, and `howie`.
## Adventure (ADVTR)
See [adventure/README.md](adventure/README.md).
## 2D (CIRCS)
* [2d/mult.sml](2d/mult.sml)
* [2d/reverse.sml](2d/reverse.sml)
* [2d/raytrace.sml](2d/raytrace.sml)
## Antomaton (ANTWO)
* [antomaton/puzzle1sol.txt](antomaton/puzzle1sol.txt)
* [antomaton/puzzle2sol.txt](antomaton/puzzle2sol.txt)
* [antomaton/puzzle3sol.txt](antomaton/puzzle3sol.txt)
* [antomaton/puzzle5sol.txt](antomaton/puzzle5sol.txt)
* [antomaton/puzzle15sol.txt](antomaton/puzzle15sol.txt)
## Balance (BLNCE)
See [balance/README.md](balance/README.md).
## Black Knots (BLACK)
See [blackknots/README.md](blackknots/README.md).
## Advise / O'Cult (ADVIS)
* [ocult/arith.adv](ocult/arith.adv)
* [ocult/xml.adv](ocult/xml.adv)