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 racket-dev+unsubscr...@googlegroups.com.
> 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 racket-dev+unsubscr...@googlegroups.com.
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