(sxbc 1 "b40d29c61abae0dd" (code :constants ("make-upvalue-cell" {:upvalue-count 0 :arity 1 :constants ("uv-value") :bytecode (1 0 0 16 0 65 1 0 50)} "uv-get" {:upvalue-count 0 :arity 1 :constants ("uv-value" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "uv-set!" {:upvalue-count 0 :arity 2 :constants ("uv-value" "dict-set!") :bytecode (16 0 1 0 0 16 1 52 1 0 3 50)} "make-vm-code" {:upvalue-count 0 :arity 4 :constants ("vc-bytecode" "vc-locals" "vc-arity" "vc-constants") :bytecode (1 0 0 16 2 1 1 0 16 1 1 2 0 16 0 1 3 0 16 3 65 4 0 50)} "make-vm-closure" {:upvalue-count 0 :arity 5 :constants ("vm-globals" "vm-upvalues" "vm-name" "vm-code" "vm-closure-env") :bytecode (1 0 0 16 3 1 1 0 16 1 1 2 0 16 2 1 3 0 16 0 1 4 0 16 4 65 5 0 50)} "make-vm-frame" {:upvalue-count 0 :arity 2 :constants ("ip" 0 "closure" "base" "local-cells") :bytecode (1 0 0 1 1 0 1 2 0 16 0 1 3 0 16 1 1 4 0 65 0 0 65 4 0 50)} "make-vm" {:upvalue-count 0 :arity 1 :constants ("sp" 0 "frames" "list" "stack" 4096 "make-vm-stack" "globals") :bytecode (1 0 0 1 1 0 1 2 0 52 3 0 0 1 4 0 1 5 0 52 6 0 1 1 7 0 16 0 65 4 0 50)} "vm-push" {:upvalue-count 0 :arity 2 :constants ("vm-sp" "vm-stack" "vm-stack-length" ">=" "vm-stack-grow" "vm-stack-copy!" "vm-set-stack!" "vm-stack-set!" "vm-set-sp!" 1) :bytecode (20 0 0 16 0 48 1 17 2 20 1 0 16 0 48 1 17 3 16 2 16 3 52 2 0 1 52 3 0 2 33 39 0 20 4 0 16 3 16 2 48 2 17 4 16 3 16 4 16 2 52 5 0 3 5 20 6 0 16 0 16 4 48 2 5 16 4 17 3 32 1 0 2 5 16 3 16 2 16 1 52 7 0 3 5 20 8 0 16 0 16 2 1 9 0 160 49 2 50)} "vm-pop" {:upvalue-count 0 :arity 1 :constants ("vm-sp" 1 "vm-set-sp!" "vm-stack" "vm-stack-get") :bytecode (20 0 0 16 0 48 1 1 1 0 161 17 1 20 2 0 16 0 16 1 48 2 5 20 3 0 16 0 48 1 16 1 52 4 0 2 50)} "vm-peek" {:upvalue-count 0 :arity 1 :constants ("vm-stack" "vm-sp" 1 "vm-stack-get") :bytecode (20 0 0 16 0 48 1 20 1 0 16 0 48 1 1 2 0 161 52 3 0 2 50)} "frame-read-u8" {:upvalue-count 0 :arity 1 :constants ("frame-ip" "frame-closure" "closure-code" "code-bytecode" "nth" "frame-set-ip!" 1) :bytecode (20 0 0 16 0 48 1 17 1 20 1 0 16 0 48 1 20 2 0 20 1 0 16 0 48 1 48 1 20 3 0 20 2 0 20 1 0 16 0 48 1 48 1 48 1 17 2 16 2 16 1 52 4 0 2 17 3 20 5 0 16 0 16 1 1 6 0 160 48 2 5 16 3 50)} "frame-read-u16" {:upvalue-count 0 :arity 1 :constants ("frame-read-u8" 256) :bytecode (20 0 0 16 0 48 1 17 1 20 0 0 16 0 48 1 17 2 16 1 16 2 1 1 0 162 160 50)} "frame-read-i16" {:upvalue-count 0 :arity 1 :constants ("frame-read-u16" 32768 ">=" 65536) :bytecode (20 0 0 16 0 48 1 17 1 16 1 1 1 0 52 2 0 2 33 9 0 16 1 1 3 0 161 32 2 0 16 1 50)} "vm-push-frame" {:upvalue-count 0 :arity 3 :constants ("make-vm-frame" "vm-sp" {:upvalue-count 1 :arity 1 :constants ("vm-push") :bytecode (20 0 0 18 0 16 0 49 2 50)} "for-each" "pad-n-nils" "code-locals" "closure-code" "vm-set-frames!" "vm-frames") :bytecode (20 0 0 16 1 20 1 0 16 0 48 1 48 2 17 3 51 2 0 1 0 16 2 52 3 0 2 5 20 4 0 16 0 20 5 0 20 6 0 16 1 48 1 48 1 16 2 168 161 48 2 5 20 7 0 16 0 16 3 20 8 0 16 0 48 1 172 49 2 50)} "code-from-value" {:upvalue-count 0 :arity 1 :constants ("Convert a compiler output dict to a vm-code dict. Idempotent — if v\n already has vm-code keys (vc-bytecode), returns as-is." "dict?" "make-vm-code" 0 16 "list" "vc-bytecode" "has-key?" "bytecode" "get" "nil?" "constants" "arity") :bytecode (1 0 0 5 16 0 52 1 0 1 167 33 22 0 20 2 0 1 3 0 1 4 0 52 5 0 0 52 5 0 0 49 4 32 126 0 16 0 1 6 0 52 7 0 2 33 5 0 16 0 32 109 0 16 0 1 8 0 52 9 0 2 17 1 16 1 52 10 0 1 33 7 0 52 5 0 0 32 2 0 16 1 17 2 16 0 1 11 0 52 9 0 2 17 3 16 3 52 10 0 1 33 7 0 52 5 0 0 32 2 0 16 3 17 4 16 0 1 12 0 52 9 0 2 17 5 16 5 52 10 0 1 33 6 0 1 3 0 32 2 0 16 5 17 6 20 2 0 16 6 16 6 1 4 0 160 16 2 16 4 49 4 50)} "vm-closure?" {:upvalue-count 0 :arity 1 :constants ("dict?" "vm-code" "has-key?") :bytecode (16 0 52 0 0 1 6 33 10 0 5 16 0 1 1 0 52 2 0 2 50)} "*active-vm*" "*jit-compile-fn*" "lambda?" {:upvalue-count 0 :arity 1 :constants ("type-of" "lambda") :bytecode (16 0 52 0 0 1 1 1 0 164 50)} "lambda-compiled" {:upvalue-count 0 :arity 1 :constants () :bytecode (2 50)} "lambda-set-compiled!" {:upvalue-count 0 :arity 2 :constants () :bytecode (2 50)} "lambda-name" "cek-call-or-suspend" {:upvalue-count 0 :arity 3 :constants ("cek-call") :bytecode (16 1 16 2 52 0 0 2 50)} "try-jit-call" {:upvalue-count 0 :arity 3 :constants ("lambda-compiled" "vm-closure?" "vm-push" "vm-call-closure" "vm-globals-ref" "jit-failed" "cek-call-or-suspend" "*jit-compile-fn*" "lambda-name" "lambda-set-compiled!") :bytecode (20 0 0 16 1 48 1 17 3 20 1 0 16 3 48 1 33 26 0 20 2 0 16 0 20 3 0 16 3 16 2 20 4 0 16 0 48 1 48 3 49 2 32 160 0 16 3 1 5 0 164 33 21 0 20 2 0 16 0 20 6 0 16 0 16 1 16 2 48 3 49 2 32 130 0 20 7 0 6 33 8 0 5 20 8 0 16 1 48 1 33 94 0 20 9 0 16 1 1 5 0 48 2 5 20 7 0 16 1 20 4 0 16 0 48 1 48 2 17 4 20 1 0 16 4 48 1 33 36 0 20 9 0 16 1 16 4 48 2 5 20 2 0 16 0 20 3 0 16 4 16 2 20 4 0 16 0 48 1 48 3 49 2 32 18 0 20 2 0 16 0 20 6 0 16 0 16 1 16 2 48 3 49 2 32 18 0 20 2 0 16 0 20 6 0 16 0 16 1 16 2 48 3 49 2 50)} "vm-call" {:upvalue-count 0 :arity 3 :constants ("vm-closure?" "vm-push-frame" "lambda?" "try-jit-call" "type-of" "component" "island" "vm-push" "cek-call-or-suspend" "callable?" "apply" "VM: not callable: " "str" "error") :bytecode (20 0 0 16 1 48 1 33 14 0 20 1 0 16 0 16 1 16 2 49 3 32 117 0 16 1 52 2 0 1 33 14 0 20 3 0 16 0 16 1 16 2 49 3 32 94 0 16 1 52 4 0 1 1 5 0 164 6 34 11 0 5 16 1 52 4 0 1 1 6 0 164 33 21 0 20 7 0 16 0 20 8 0 16 0 16 1 16 2 48 3 49 2 32 45 0 20 9 0 16 1 48 1 33 18 0 20 7 0 16 0 16 1 16 2 52 10 0 2 49 2 32 17 0 1 11 0 16 1 52 4 0 1 52 12 0 2 52 13 0 1 50)} "frame-local-get" {:upvalue-count 0 :arity 3 :constants ("Read a local variable — check shared cells first, then stack." "local-cells" "get" "str" "has-key?" "uv-get" "vm-stack" "frame-base" "vm-stack-get") :bytecode (1 0 0 5 16 1 1 1 0 52 2 0 2 17 3 16 2 52 3 0 1 17 4 16 3 16 4 52 4 0 2 33 16 0 20 5 0 16 3 16 4 52 2 0 2 49 1 32 21 0 20 6 0 16 0 48 1 20 7 0 16 1 48 1 16 2 160 52 8 0 2 50)} "frame-local-set" {:upvalue-count 0 :arity 4 :constants ("Write a local variable — to shared cell or stack." "local-cells" "get" "str" "has-key?" "uv-set!" "vm-stack" "frame-base" "vm-stack-set!") :bytecode (1 0 0 5 16 1 1 1 0 52 2 0 2 17 4 16 2 52 3 0 1 17 5 16 4 16 5 52 4 0 2 33 18 0 20 5 0 16 4 16 5 52 2 0 2 16 3 49 2 32 23 0 20 6 0 16 0 48 1 20 7 0 16 1 48 1 16 2 160 16 3 52 8 0 3 50)} "frame-upvalue-get" {:upvalue-count 0 :arity 2 :constants ("uv-get" "frame-closure" "closure-upvalues" "nth") :bytecode (20 0 0 20 1 0 16 0 48 1 20 2 0 20 1 0 16 0 48 1 48 1 16 1 52 3 0 2 49 1 50)} "frame-upvalue-set" {:upvalue-count 0 :arity 3 :constants ("uv-set!" "frame-closure" "closure-upvalues" "nth") :bytecode (20 0 0 20 1 0 16 0 48 1 20 2 0 20 1 0 16 0 48 1 48 1 16 1 52 3 0 2 16 2 49 2 50)} "frame-ip" {:upvalue-count 0 :arity 1 :constants ("ip" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "frame-set-ip!" {:upvalue-count 0 :arity 2 :constants ("ip" "dict-set!") :bytecode (16 0 1 0 0 16 1 52 1 0 3 50)} "frame-base" {:upvalue-count 0 :arity 1 :constants ("base" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "frame-closure" {:upvalue-count 0 :arity 1 :constants ("closure" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "closure-code" {:upvalue-count 0 :arity 1 :constants ("vm-code" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "closure-upvalues" {:upvalue-count 0 :arity 1 :constants ("vm-upvalues" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "closure-env" {:upvalue-count 0 :arity 1 :constants ("closure-env" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "code-bytecode" {:upvalue-count 0 :arity 1 :constants ("vc-bytecode" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "code-constants" {:upvalue-count 0 :arity 1 :constants ("vc-constants" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "code-locals" {:upvalue-count 0 :arity 1 :constants ("vc-locals" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "vm-sp" {:upvalue-count 0 :arity 1 :constants ("sp" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "vm-set-sp!" {:upvalue-count 0 :arity 2 :constants ("sp" "dict-set!") :bytecode (16 0 1 0 0 16 1 52 1 0 3 50)} "vm-stack" {:upvalue-count 0 :arity 1 :constants ("stack" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "vm-set-stack!" {:upvalue-count 0 :arity 2 :constants ("stack" "dict-set!") :bytecode (16 0 1 0 0 16 1 52 1 0 3 50)} "vm-frames" {:upvalue-count 0 :arity 1 :constants ("frames" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "vm-set-frames!" {:upvalue-count 0 :arity 2 :constants ("frames" "dict-set!") :bytecode (16 0 1 0 0 16 1 52 1 0 3 50)} "vm-globals-ref" {:upvalue-count 0 :arity 1 :constants ("globals" "get") :bytecode (16 0 1 0 0 52 1 0 2 50)} "collect-n-from-stack" {:upvalue-count 0 :arity 2 :constants ("list" 0 {:upvalue-count 5 :arity 0 :constants ("vm-pop" 1) :bytecode (18 0 18 1 165 33 29 0 20 0 0 18 3 48 1 18 2 172 19 2 5 18 0 1 1 0 160 19 0 5 18 4 49 0 32 1 0 2 50)}) :bytecode (52 0 0 0 17 2 1 1 0 17 3 51 2 0 1 3 1 1 1 2 1 0 1 4 17 4 5 16 4 48 0 5 16 2 50)} "pad-n-nils" {:upvalue-count 0 :arity 2 :constants (0 {:upvalue-count 4 :arity 0 :constants ("vm-push" 1) :bytecode (18 0 18 1 165 33 25 0 20 0 0 18 2 2 48 2 5 18 0 1 1 0 160 19 0 5 18 3 49 0 32 1 0 2 50)}) :bytecode (1 0 0 17 2 51 1 0 1 2 1 1 1 0 1 3 17 3 5 16 3 49 0 50)} "collect-n-pairs" {:upvalue-count 0 :arity 2 :constants (0 {:upvalue-count 5 :arity 0 :constants ("vm-pop" "dict-set!" 1) :bytecode (18 0 18 1 165 33 45 0 20 0 0 18 2 48 1 17 0 20 0 0 18 2 48 1 17 1 18 3 16 1 16 0 52 1 0 3 5 18 0 1 2 0 160 19 0 5 18 4 49 0 32 1 0 2 50)}) :bytecode (65 0 0 17 2 1 0 0 17 3 51 1 0 1 3 1 1 1 0 1 2 1 4 17 4 5 16 4 48 0 5 16 2 50)} "vm-global-get" {:upvalue-count 0 :arity 3 :constants ("Look up a global: closure env → globals table → primitives → HO forms" "frame-closure" "vm-closure-env" "get" "nil?" "vm-globals-ref" "has-key?" {:upvalue-count 1 :arity 0 :constants ("get-primitive") :bytecode (18 0 52 0 0 1 50)} {:upvalue-count 2 :arity 1 :constants ("vm-resolve-ho-form") :bytecode (20 0 0 18 0 18 1 49 2 50)} "cek-try" "env-walk") :bytecode (1 0 0 5 20 1 0 16 1 48 1 1 2 0 52 3 0 2 17 3 16 3 52 4 0 1 33 50 0 20 5 0 16 0 48 1 17 4 16 4 16 2 52 6 0 2 33 11 0 16 4 16 2 52 3 0 2 32 16 0 51 7 0 1 2 51 8 0 1 0 1 2 52 9 0 2 32 72 0 20 10 0 16 3 16 2 48 2 17 4 16 4 52 4 0 1 33 50 0 20 5 0 16 0 48 1 17 5 16 5 16 2 52 6 0 2 33 11 0 16 5 16 2 52 3 0 2 32 16 0 51 7 0 1 2 51 8 0 1 0 1 2 52 9 0 2 32 2 0 16 4 50)} "vm-resolve-ho-form" {:upvalue-count 0 :arity 2 :constants ("for-each" "=" {:upvalue-count 1 :arity 2 :constants ({:upvalue-count 2 :arity 1 :constants ("vm-call-external" "list") :bytecode (20 0 0 18 0 18 1 16 0 52 1 0 1 49 3 50)} "for-each") :bytecode (51 0 0 0 0 1 0 16 1 52 1 0 2 50)} "map" {:upvalue-count 1 :arity 2 :constants ({:upvalue-count 2 :arity 1 :constants ("vm-call-external" "list") :bytecode (20 0 0 18 0 18 1 16 0 52 1 0 1 49 3 50)} "map") :bytecode (51 0 0 0 0 1 0 16 1 52 1 0 2 50)} "map-indexed" {:upvalue-count 1 :arity 2 :constants ({:upvalue-count 2 :arity 2 :constants ("vm-call-external" "list") :bytecode (20 0 0 18 0 18 1 16 0 16 1 52 1 0 2 49 3 50)} "map-indexed") :bytecode (51 0 0 0 0 1 0 16 1 52 1 0 2 50)} "filter" {:upvalue-count 1 :arity 2 :constants ({:upvalue-count 2 :arity 1 :constants ("vm-call-external" "list") :bytecode (20 0 0 18 0 18 1 16 0 52 1 0 1 49 3 50)} "filter") :bytecode (51 0 0 0 0 1 0 16 1 52 1 0 2 50)} "reduce" {:upvalue-count 1 :arity 3 :constants ({:upvalue-count 2 :arity 2 :constants ("vm-call-external" "list") :bytecode (20 0 0 18 0 18 1 16 0 16 1 52 1 0 2 49 3 50)} "reduce") :bytecode (51 0 0 0 0 1 0 16 1 16 2 52 1 0 3 50)} "some" {:upvalue-count 1 :arity 2 :constants ({:upvalue-count 2 :arity 1 :constants ("vm-call-external" "list") :bytecode (20 0 0 18 0 18 1 16 0 52 1 0 1 49 3 50)} "some") :bytecode (51 0 0 0 0 1 0 16 1 52 1 0 2 50)} "every?" {:upvalue-count 1 :arity 2 :constants ({:upvalue-count 2 :arity 1 :constants ("vm-call-external" "list") :bytecode (20 0 0 18 0 18 1 16 0 52 1 0 1 49 3 50)} "every?") :bytecode (51 0 0 0 0 1 0 16 1 52 1 0 2 50)} "VM undefined: " "str" "error") :bytecode (16 1 6 1 0 0 52 1 0 2 33 9 0 5 51 2 0 1 0 32 134 0 6 1 3 0 52 1 0 2 33 9 0 5 51 4 0 1 0 32 114 0 6 1 5 0 52 1 0 2 33 9 0 5 51 6 0 1 0 32 94 0 6 1 7 0 52 1 0 2 33 9 0 5 51 8 0 1 0 32 74 0 6 1 9 0 52 1 0 2 33 9 0 5 51 10 0 1 0 32 54 0 6 1 11 0 52 1 0 2 33 9 0 5 51 12 0 1 0 32 34 0 6 1 13 0 52 1 0 2 33 9 0 5 51 14 0 1 0 32 14 0 5 1 15 0 16 1 52 16 0 2 52 17 0 1 50)} "vm-call-external" {:upvalue-count 0 :arity 3 :constants ("vm-closure?" "vm-call-closure" "vm-globals-ref" "cek-call") :bytecode (20 0 0 16 1 48 1 33 19 0 20 1 0 16 1 16 2 20 2 0 16 0 48 1 49 3 32 8 0 16 1 16 2 52 3 0 2 50)} "vm-global-set" {:upvalue-count 0 :arity 4 :constants ("Set a global: write to closure env if found, else globals table." "frame-closure" "vm-closure-env" "get" "nil?" "env-walk-set!" "vm-globals-ref" "dict-set!") :bytecode (1 0 0 5 20 1 0 16 1 48 1 1 2 0 52 3 0 2 17 4 4 17 5 16 4 52 4 0 1 167 33 16 0 20 5 0 16 4 16 2 16 3 48 3 17 5 32 1 0 2 5 16 5 167 33 18 0 20 6 0 16 0 48 1 16 2 16 3 52 7 0 3 32 1 0 2 50)} "env-walk" {:upvalue-count 0 :arity 2 :constants ("nil?" "env-has?" "env-get" "env-parent" "env-walk") :bytecode (16 0 52 0 0 1 33 4 0 2 32 53 0 16 0 16 1 52 1 0 2 33 11 0 16 0 16 1 52 2 0 2 32 31 0 20 3 0 16 0 48 1 17 2 16 2 52 0 0 1 33 4 0 2 32 9 0 20 4 0 16 2 16 1 49 2 50)} "env-walk-set!" {:upvalue-count 0 :arity 3 :constants ("nil?" "env-has?" "env-set!" "env-parent" "env-walk-set!") :bytecode (16 0 52 0 0 1 33 4 0 4 32 59 0 16 0 16 1 52 1 0 2 33 15 0 16 0 16 1 16 2 52 2 0 3 5 3 32 33 0 20 3 0 16 0 48 1 17 3 16 3 52 0 0 1 33 4 0 4 32 11 0 20 4 0 16 3 16 1 16 2 49 3 50)} "vm-create-closure" {:upvalue-count 0 :arity 3 :constants ("Create a closure from a code constant. Reads upvalue descriptors\n from the bytecode stream and captures values from the enclosing frame." "code-from-value" "dict?" "upvalue-count" "get" 0 "list" {:upvalue-count 6 :arity 0 :constants ("frame-read-u8" 1 "local-cells" "get" "str" "has-key?" "make-upvalue-cell" "vm-stack" "frame-base" "vm-stack-get" "dict-set!" "frame-closure" "closure-upvalues" "nth" "append!") :bytecode (18 0 18 1 165 33 164 0 20 0 0 18 2 48 1 17 0 20 0 0 18 2 48 1 17 1 16 0 1 1 0 164 33 85 0 18 2 1 2 0 52 3 0 2 17 2 16 1 52 4 0 1 17 3 16 2 16 3 52 5 0 2 33 11 0 16 2 16 3 52 3 0 2 32 41 0 20 6 0 20 7 0 18 3 48 1 20 8 0 18 2 48 1 16 1 160 52 9 0 2 48 1 17 4 16 2 16 3 16 4 52 10 0 3 5 16 4 32 25 0 20 11 0 18 2 48 1 20 12 0 20 11 0 18 2 48 1 48 1 16 1 52 13 0 2 17 2 18 4 16 2 52 14 0 2 5 18 0 1 1 0 160 19 0 5 18 5 49 0 32 1 0 2 50)} "make-vm-closure" "vm-globals-ref") :bytecode (1 0 0 5 20 1 0 16 2 48 1 17 3 16 2 52 2 0 1 33 20 0 16 2 1 3 0 52 4 0 2 6 34 4 0 5 1 5 0 32 3 0 1 5 0 17 4 52 6 0 0 17 5 1 5 0 17 6 51 7 0 1 6 1 4 1 1 1 0 1 5 1 7 17 7 5 16 7 48 0 5 16 5 17 5 20 8 0 16 3 16 5 2 20 9 0 16 0 48 1 2 49 5 50)} "vm-run" {:upvalue-count 0 :arity 2 :constants ("Execute bytecode until all frames are done or IO suspension." {:upvalue-count 2 :arity 0 :constants ("vm-frames" "empty?" "frame-closure" "closure-code" "code-bytecode" "code-constants" "frame-ip" ">=" "vm-set-frames!" "list" "vm-step" "vm-globals-ref" "__io_request" "get" "nil?") :bytecode (20 0 0 18 0 48 1 52 1 0 1 167 33 175 0 20 0 0 18 0 48 1 169 17 0 20 0 0 18 0 48 1 170 17 1 20 2 0 16 0 48 1 20 3 0 20 2 0 16 0 48 1 48 1 20 4 0 20 3 0 20 2 0 16 0 48 1 48 1 48 1 17 2 20 2 0 16 0 48 1 20 3 0 20 2 0 16 0 48 1 48 1 20 5 0 20 3 0 20 2 0 16 0 48 1 48 1 48 1 17 3 20 6 0 16 0 48 1 16 2 168 52 7 0 2 33 14 0 20 8 0 18 0 52 9 0 0 49 2 32 45 0 20 10 0 18 0 16 0 16 1 16 2 16 3 48 5 5 20 11 0 18 0 48 1 1 12 0 52 13 0 2 52 14 0 1 33 7 0 18 1 49 0 32 1 0 2 32 1 0 2 50)}) :bytecode (1 0 0 5 51 1 0 1 0 1 1 17 1 5 16 1 49 0 50)} "vm-step" {:upvalue-count 0 :arity 5 :constants ("frame-read-u8" 1 "frame-read-u16" "vm-push" "nth" 2 3 4 5 "vm-pop" 6 "vm-peek" 16 "frame-local-get" 17 "frame-local-set" 18 "frame-upvalue-get" 19 "frame-upvalue-set" 20 "vm-global-get" 21 "vm-global-set" 32 "frame-read-i16" "frame-set-ip!" "frame-ip" 33 34 48 "collect-n-from-stack" "vm-call" 49 "vm-set-frames!" "vm-set-sp!" "frame-base" 50 51 "vm-create-closure" 52 "call-primitive" 64 65 "collect-n-pairs" 144 "str" "apply" 128 "vm-globals-ref" "dict-set!" 160 161 162 163 164 165 166 167 168 169 170 171 172 173 0 174 "inc" 175 "dec" 112 "__io_request" "VM: unknown opcode " "error") :bytecode (20 0 0 16 1 48 1 17 5 16 5 1 1 0 164 33 27 0 20 2 0 16 1 48 1 17 6 20 3 0 16 0 16 4 16 6 52 4 0 2 49 2 32 83 6 16 5 1 5 0 164 33 11 0 20 3 0 16 0 2 49 2 32 63 6 16 5 1 6 0 164 33 11 0 20 3 0 16 0 3 49 2 32 43 6 16 5 1 7 0 164 33 11 0 20 3 0 16 0 4 49 2 32 23 6 16 5 1 8 0 164 33 10 0 20 9 0 16 0 49 1 32 4 6 16 5 1 10 0 164 33 17 0 20 3 0 16 0 20 11 0 16 0 48 1 49 2 32 234 5 16 5 1 12 0 164 33 30 0 20 0 0 16 1 48 1 17 6 20 3 0 16 0 20 13 0 16 0 16 1 16 6 48 3 49 2 32 195 5 16 5 1 14 0 164 33 30 0 20 0 0 16 1 48 1 17 6 20 15 0 16 0 16 1 16 6 20 11 0 16 0 48 1 49 4 32 156 5 16 5 1 16 0 164 33 28 0 20 0 0 16 1 48 1 17 6 20 3 0 16 0 20 17 0 16 1 16 6 48 2 49 2 32 119 5 16 5 1 18 0 164 33 28 0 20 0 0 16 1 48 1 17 6 20 19 0 16 1 16 6 20 11 0 16 0 48 1 49 3 32 82 5 16 5 1 20 0 164 33 40 0 20 2 0 16 1 48 1 17 6 16 4 16 6 52 4 0 2 17 7 20 3 0 16 0 20 21 0 16 0 16 1 16 7 48 3 49 2 32 33 5 16 5 1 22 0 164 33 40 0 20 2 0 16 1 48 1 17 6 16 4 16 6 52 4 0 2 17 7 20 23 0 16 0 16 1 16 7 20 11 0 16 0 48 1 49 4 32 240 4 16 5 1 24 0 164 33 29 0 20 25 0 16 1 48 1 17 6 20 26 0 16 1 20 27 0 16 1 48 1 16 6 160 49 2 32 202 4 16 5 1 28 0 164 33 48 0 20 25 0 16 1 48 1 17 6 20 9 0 16 0 48 1 17 7 16 7 167 33 20 0 20 26 0 16 1 20 27 0 16 1 48 1 16 6 160 49 2 32 1 0 2 32 145 4 16 5 1 29 0 164 33 47 0 20 25 0 16 1 48 1 17 6 20 9 0 16 0 48 1 17 7 16 7 33 20 0 20 26 0 16 1 20 27 0 16 1 48 1 16 6 160 49 2 32 1 0 2 32 89 4 16 5 1 30 0 164 33 43 0 20 0 0 16 1 48 1 17 6 20 31 0 16 0 16 6 48 2 17 7 20 9 0 16 0 48 1 17 8 20 32 0 16 0 16 8 16 7 49 3 32 37 4 16 5 1 33 0 164 33 68 0 20 0 0 16 1 48 1 17 6 20 31 0 16 0 16 6 48 2 17 7 20 9 0 16 0 48 1 17 8 20 34 0 16 0 16 2 48 2 5 20 35 0 16 0 20 36 0 16 1 48 1 48 2 5 20 32 0 16 0 16 8 16 7 49 3 32 216 3 16 5 1 37 0 164 33 46 0 20 9 0 16 0 48 1 17 6 20 34 0 16 0 16 2 48 2 5 20 35 0 16 0 20 36 0 16 1 48 1 48 2 5 20 3 0 16 0 16 6 49 2 32 161 3 16 5 1 38 0 164 33 44 0 20 2 0 16 1 48 1 17 6 16 4 16 6 52 4 0 2 17 7 20 39 0 16 0 16 1 16 7 48 3 17 8 20 3 0 16 0 16 8 49 2 32 108 3 16 5 1 40 0 164 33 57 0 20 2 0 16 1 48 1 17 6 20 0 0 16 1 48 1 17 7 16 4 16 6 52 4 0 2 17 8 20 31 0 16 0 16 7 48 2 17 9 20 3 0 16 0 16 8 16 9 52 41 0 2 49 2 32 42 3 16 5 1 42 0 164 33 32 0 20 2 0 16 1 48 1 17 6 20 31 0 16 0 16 6 48 2 17 7 20 3 0 16 0 16 7 49 2 32 1 3 16 5 1 43 0 164 33 32 0 20 2 0 16 1 48 1 17 6 20 44 0 16 0 16 6 48 2 17 7 20 3 0 16 0 16 7 49 2 32 216 2 16 5 1 45 0 164 33 39 0 20 0 0 16 1 48 1 17 6 20 31 0 16 0 16 6 48 2 17 7 20 3 0 16 0 20 46 0 16 7 52 47 0 2 49 2 32 168 2 16 5 1 48 0 164 33 42 0 20 2 0 16 1 48 1 17 6 16 4 16 6 52 4 0 2 17 7 20 49 0 16 0 48 1 16 7 20 11 0 16 0 48 1 52 50 0 3 32 117 2 16 5 1 51 0 164 33 33 0 20 9 0 16 0 48 1 17 6 20 9 0 16 0 48 1 17 7 20 3 0 16 0 16 7 16 6 160 49 2 32 75 2 16 5 1 52 0 164 33 33 0 20 9 0 16 0 48 1 17 6 20 9 0 16 0 48 1 17 7 20 3 0 16 0 16 7 16 6 161 49 2 32 33 2 16 5 1 53 0 164 33 33 0 20 9 0 16 0 48 1 17 6 20 9 0 16 0 48 1 17 7 20 3 0 16 0 16 7 16 6 162 49 2 32 247 1 16 5 1 54 0 164 33 33 0 20 9 0 16 0 48 1 17 6 20 9 0 16 0 48 1 17 7 20 3 0 16 0 16 7 16 6 163 49 2 32 205 1 16 5 1 55 0 164 33 33 0 20 9 0 16 0 48 1 17 6 20 9 0 16 0 48 1 17 7 20 3 0 16 0 16 7 16 6 164 49 2 32 163 1 16 5 1 56 0 164 33 33 0 20 9 0 16 0 48 1 17 6 20 9 0 16 0 48 1 17 7 20 3 0 16 0 16 7 16 6 165 49 2 32 121 1 16 5 1 57 0 164 33 33 0 20 9 0 16 0 48 1 17 6 20 9 0 16 0 48 1 17 7 20 3 0 16 0 16 7 16 6 166 49 2 32 79 1 16 5 1 58 0 164 33 18 0 20 3 0 16 0 20 9 0 16 0 48 1 167 49 2 32 52 1 16 5 1 59 0 164 33 18 0 20 3 0 16 0 20 9 0 16 0 48 1 168 49 2 32 25 1 16 5 1 60 0 164 33 18 0 20 3 0 16 0 20 9 0 16 0 48 1 169 49 2 32 254 0 16 5 1 61 0 164 33 18 0 20 3 0 16 0 20 9 0 16 0 48 1 170 49 2 32 227 0 16 5 1 62 0 164 33 36 0 20 9 0 16 0 48 1 17 6 20 9 0 16 0 48 1 17 7 20 3 0 16 0 16 7 16 6 52 4 0 2 49 2 32 182 0 16 5 1 63 0 164 33 33 0 20 9 0 16 0 48 1 17 6 20 9 0 16 0 48 1 17 7 20 3 0 16 0 16 7 16 6 172 49 2 32 140 0 16 5 1 64 0 164 33 21 0 20 3 0 16 0 1 65 0 20 9 0 16 0 48 1 161 49 2 32 110 0 16 5 1 66 0 164 33 21 0 20 3 0 16 0 20 9 0 16 0 48 1 52 67 0 1 49 2 32 80 0 16 5 1 68 0 164 33 21 0 20 3 0 16 0 20 9 0 16 0 48 1 52 69 0 1 49 2 32 50 0 16 5 1 70 0 164 33 28 0 20 9 0 16 0 48 1 17 6 20 49 0 16 0 48 1 1 71 0 16 6 52 50 0 3 32 13 0 1 72 0 16 5 52 46 0 2 52 73 0 1 50)} "vm-call-closure" {:upvalue-count 0 :arity 3 :constants ("*active-vm*" "make-vm" "vm-push-frame" "vm-run" "vm-pop") :bytecode (20 0 0 17 3 20 1 0 16 2 48 1 17 4 16 4 21 0 0 5 20 2 0 16 4 16 0 16 1 48 3 5 20 3 0 16 4 48 1 5 16 3 21 0 0 5 20 4 0 16 4 49 1 50)} "vm-execute-module" {:upvalue-count 0 :arity 2 :constants ("code-from-value" "make-vm" "make-vm-closure" "list" "module" "make-vm-frame" 0 "pad-n-nils" "code-locals" "vm-set-frames!" "vm-run" "vm-globals-ref" "__io_request" "get" "nil?" "vm-pop" "vm" "suspended" "op" "import" "request") :bytecode (20 0 0 16 0 48 1 17 2 20 1 0 16 1 48 1 17 3 20 2 0 16 2 52 3 0 0 1 4 0 16 1 2 48 5 17 4 20 5 0 16 4 1 6 0 48 2 17 5 20 7 0 16 3 20 8 0 16 2 48 1 48 2 5 20 9 0 16 3 16 5 52 3 0 1 48 2 5 20 10 0 16 3 48 1 5 20 11 0 16 3 48 1 1 12 0 52 13 0 2 17 6 16 6 52 14 0 1 33 10 0 20 15 0 16 3 49 1 32 23 0 1 16 0 16 3 1 17 0 3 1 18 0 1 19 0 1 20 0 16 6 65 4 0 50)} "vm-resume-module" {:upvalue-count 0 :arity 1 :constants ("Resume a suspended VM after IO (import) has been resolved.\n Clears __io_request in globals, pushes nil (import result), re-runs." "vm" "get" "vm-globals-ref" "__io_request" "dict-set!" "vm-push" "vm-run" "nil?" "vm-pop" "suspended" "op" "import" "request") :bytecode (1 0 0 5 16 0 1 1 0 52 2 0 2 17 1 20 3 0 16 1 48 1 1 4 0 2 52 5 0 3 5 20 6 0 16 1 2 48 2 5 20 7 0 16 1 48 1 5 20 3 0 16 1 48 1 1 4 0 52 2 0 2 17 2 16 2 52 8 0 1 33 10 0 20 9 0 16 1 49 1 32 23 0 1 1 0 16 1 1 10 0 3 1 11 0 1 12 0 1 13 0 16 2 65 4 0 50)} {:library (sx vm) :op "import"}) :bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 51 15 0 128 14 0 5 51 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 2 128 32 0 5 2 128 33 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 51 39 0 128 38 0 5 51 37 0 128 40 0 5 51 42 0 128 41 0 5 51 44 0 128 43 0 5 51 46 0 128 45 0 5 51 48 0 128 47 0 5 51 50 0 128 49 0 5 51 52 0 128 51 0 5 51 54 0 128 53 0 5 51 56 0 128 55 0 5 51 58 0 128 57 0 5 51 60 0 128 59 0 5 51 62 0 128 61 0 5 51 64 0 128 63 0 5 51 66 0 128 65 0 5 51 68 0 128 67 0 5 51 70 0 128 69 0 5 51 72 0 128 71 0 5 51 74 0 128 73 0 5 51 76 0 128 75 0 5 51 78 0 128 77 0 5 51 80 0 128 79 0 5 51 82 0 128 81 0 5 51 84 0 128 83 0 5 51 86 0 128 85 0 5 51 88 0 128 87 0 5 51 90 0 128 89 0 5 51 92 0 128 91 0 5 51 94 0 128 93 0 5 51 96 0 128 95 0 5 51 98 0 128 97 0 5 51 100 0 128 99 0 5 51 102 0 128 101 0 5 51 104 0 128 103 0 5 51 106 0 128 105 0 5 51 108 0 128 107 0 5 51 110 0 128 109 0 5 51 112 0 128 111 0 5 51 114 0 128 113 0 5 51 116 0 128 115 0 5 51 118 0 128 117 0 5 1 119 0 112 50)))