Skip to content

Commit

Permalink
FREEVAR fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Nick Zbinden committed Sep 24, 2014
1 parent a6df9a8 commit 4bc9d34
Showing 1 changed file with 5 additions and 8 deletions.
13 changes: 5 additions & 8 deletions Bytecode Spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ Clojure Bytecode Spec
CFLOAT dst float
CBOOL dst bool
CNIL dst nil
CFUNC dst fn

Reads D from const. table (if required) and writes it into destination slot A.

Expand Down Expand Up @@ -147,14 +146,12 @@ vector B as argument for the function.
FNEW creates new closure for the function referenced by `jump` in the variable
slot `dst`.

OP A B C
SETFREEVAR dst src idx
GETFREEVAR dst src idx
OP A D
SETFREEVAR dst idx
GETFREEVAR dst idx

SETFREEVAR sets the free variable `idx` of closure `dst` to the value of
the variable in `src`.
GETFREEVAR copies the value of the free variable `idx` from the closure `src`
into the variable in `dst`.
SETFREEVAR sets the free variable `idx` to the value of the variable in `src`.
GETFREEVAR copies the value of the free variable `idx` into the variable in `dst`.

## Tail Recursion and Loops

Expand Down

0 comments on commit 4bc9d34

Please sign in to comment.