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.

Reply via email to