forked from GitHub/gf-core
using instruction RET was wrong; now use EVAL
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user