This paper provides the only high-level description of bytecode and the VM that I can remember:
https://plt.eecs.northwestern.edu/racket-machine/ The `compiler/zo-structs` library and its documentation in effect describe the bytecode content (but not its encoding). "Bytecode" is fairly close to expanded Racket --- so much that `compiler/decompile` can reconstruct a good facsimile of bytecode in expanded form, and looking at the implementation of `cmopiler/decompile` might be helpful. The start of "eval.c" in the implementation provides an overview of compiler passes, but that might not be quite what you're looking for. At Thu, 7 Nov 2019 01:46:17 -0500, Joshua Judson Rosen wrote: > Hi, > > I'm trying to learn about Racket's bytecode and VM (after skimming through > the > docs, > I guess I'm specifically interested in the "3m" VM and the "zo" bytecode?). > > Trying to find answers to questions like "is it a stack-machine, a > register-machine..., > something else?"; "what are the bytecode operators and their operands"; > "what sort of verification is done while loading bytecode".... > > I've been a longtime user of Guile and have recently started reading through > Guile's VM documentation, and ideally I'm trying to find something similar to > this > but for Racket: > > > https://www.gnu.org/software/guile/manual/html_node/A-Virtual-Machine-for-Guile > .html > > Does such a thing exist? > > If not, could someone perhaps give me some specific advice as to where in the > code > I should look to find this info? > > > -- > "Don't be afraid to ask (λf.((λx.xx) (λr.f(rr))))." > > -- > You received this message because you are subscribed to the Google Groups > "Racket Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-dev/c9b29384-df5e-72fc-5ff9-5bd64418b0 > 06%40geekspace.com. -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/5dc41751.1c69fb81.cdf16.aaa5SMTPIN_ADDED_MISSING%40mx.google.com.
