diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2014-10-14 10:39:28 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2014-10-14 10:39:28 +0000 |
| commit | b5cc77aea18e5855e95ddc1fb67039d99a2e956a (patch) | |
| tree | 899a2cd3e9d0799b4822cd19a575e08f428d5ed1 /src/compiler | |
| parent | 37bd8dd9fd2a9dd234841a0276e83e2e06f67c43 (diff) | |
yet another bugfix in the byte code
Diffstat (limited to 'src/compiler')
| -rw-r--r-- | src/compiler/GF/Compile/GenerateBC.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/GF/Compile/GenerateBC.hs b/src/compiler/GF/Compile/GenerateBC.hs index 18c75b0b8..a121a3d5e 100644 --- a/src/compiler/GF/Compile/GenerateBC.hs +++ b/src/compiler/GF/Compile/GenerateBC.hs @@ -202,7 +202,7 @@ compileLambda gr st vs xs e h0 bs = (arity+1) (zip xs (map ARG_VAR [0..]) ++ zip ys (map FREE_VAR [0..])) - e bs + e (b1:bs) b1 = if arity == 0 then b else CHECK_ARGS arity:b @@ -210,7 +210,7 @@ compileLambda gr st vs xs e h0 bs = then [SET_PAD] else map (SET . shiftIVal st . getVar vs) ys h1 = h0 + 1 + length is - in (h1,b1:bs1,HEAP h0,PUT_CLOSURE (length bs1) : is) + in (h1,bs1,HEAP h0,PUT_CLOSURE (length bs) : is) getVar vs x = case lookup x vs of |
