summaryrefslogtreecommitdiff
path: root/src/runtime/haskell
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2014-10-06 15:57:42 +0000
committerkr.angelov <kr.angelov@gmail.com>2014-10-06 15:57:42 +0000
commit13c7721bc52ca2ee998c0a4347f15264c78a951b (patch)
tree9a40516b232a8408f6568c1c00f0a88c0970f984 /src/runtime/haskell
parentaf7feea38589676ad4a2cfd93b13413be99f33b7 (diff)
using instruction RET was wrong; now use EVAL
Diffstat (limited to 'src/runtime/haskell')
-rw-r--r--src/runtime/haskell/PGF/Binary.hs6
-rw-r--r--src/runtime/haskell/PGF/ByteCode.hs3
2 files changed, 2 insertions, 7 deletions
diff --git a/src/runtime/haskell/PGF/Binary.hs b/src/runtime/haskell/PGF/Binary.hs
index 3f8515179..aef894e2b 100644
--- a/src/runtime/haskell/PGF/Binary.hs
+++ b/src/runtime/haskell/PGF/Binary.hs
@@ -168,10 +168,8 @@ instance Binary Instr where
put (EVAL (ARG_VAR n) (UpdateCall b c)) = putWord8 49 >> put n >> put (b,c)
put (EVAL (FREE_VAR n) (UpdateCall b c)) = putWord8 50 >> put n >> put (b,c)
put (EVAL (GLOBAL id) (UpdateCall b c)) = putWord8 51 >> put id >> put (b,c)
- put (RET h (TailCall a b c)) = putWord8 53 >> put h >> put a >> put b
- put (RET h (UpdateCall b c)) = putWord8 54 >> put h >> put b
- put (DROP n l ) = putWord8 60 >> put (n,l)
- put (FAIL ) = putWord8 64
+ put (DROP n l ) = putWord8 52 >> put (n,l)
+ put (FAIL ) = putWord8 56
instance Binary Type where
put (DTyp hypos cat exps) = put (hypos,cat,exps)
diff --git a/src/runtime/haskell/PGF/ByteCode.hs b/src/runtime/haskell/PGF/ByteCode.hs
index 7cec9cfe5..393efa5b9 100644
--- a/src/runtime/haskell/PGF/ByteCode.hs
+++ b/src/runtime/haskell/PGF/ByteCode.hs
@@ -26,7 +26,6 @@ data Instr
| SET_PAD
| PUSH IVal
| EVAL IVal TailInfo
- | RET {-# UNPACK #-} !Int TailInfo
| DROP {-# UNPACK #-} !Int {-# UNPACK #-} !CodeLabel
| FAIL
@@ -60,8 +59,6 @@ ppInstr (SET v) = text "SET " <+> ppIVal v
ppInstr (SET_PAD ) = text "SET_PAD"
ppInstr (PUSH v) = text "PUSH " <+> ppIVal v
ppInstr (EVAL v ti) = text "EVAL " <+> ppIVal v <+> ppTailInfo ti
-ppInstr (RET h (TailCall a b c)) = text "RET " <+> ppIVal (HEAP h) <+> text "tail" <> parens (int a <> comma <> int b)
-ppInstr (RET h (UpdateCall b c)) = text "RET " <+> ppIVal (HEAP h) <+> text "update" <> parens (int b)
ppInstr (DROP n l ) = text "DROP " <+> int n <+> ppLabel l
ppInstr (FAIL ) = text "FAIL"