Added an EXIT intrinsic that's useful for profiling
This commit is contained in:
parent
d98c5079ca
commit
af1e4b6b7f
|
@ -2183,6 +2183,10 @@ cgenIntrinsicProc :: Meta -> String -> [A.Actual] -> CGen ()
|
||||||
cgenIntrinsicProc m "ASSERT" [A.ActualExpression e] = call genAssert m e
|
cgenIntrinsicProc m "ASSERT" [A.ActualExpression e] = call genAssert m e
|
||||||
cgenIntrinsicProc _ "RESCHEDULE" [] = call genReschedule
|
cgenIntrinsicProc _ "RESCHEDULE" [] = call genReschedule
|
||||||
cgenIntrinsicProc m "CAUSEERROR" [] = call genStop m "CAUSEERROR"
|
cgenIntrinsicProc m "CAUSEERROR" [] = call genStop m "CAUSEERROR"
|
||||||
|
cgenIntrinsicProc m "EXIT" [A.ActualExpression e]
|
||||||
|
= do tell ["exit("]
|
||||||
|
call genExpression e
|
||||||
|
tell [");"]
|
||||||
cgenIntrinsicProc m "SETAFF" [A.ActualExpression e] = call genSetAff m e
|
cgenIntrinsicProc m "SETAFF" [A.ActualExpression e] = call genSetAff m e
|
||||||
cgenIntrinsicProc m "SETPRI" [A.ActualExpression e] = call genSetPri m e
|
cgenIntrinsicProc m "SETPRI" [A.ActualExpression e] = call genSetPri m e
|
||||||
cgenIntrinsicProc m s as = case lookup s intrinsicProcs of
|
cgenIntrinsicProc m s as = case lookup s intrinsicProcs of
|
||||||
|
|
|
@ -130,6 +130,7 @@ intrinsicProcs :: [(String, [(A.AbbrevMode, A.Type, String)])]
|
||||||
intrinsicProcs =
|
intrinsicProcs =
|
||||||
[ ("ASSERT", [(A.ValAbbrev, A.Bool, "value")])
|
[ ("ASSERT", [(A.ValAbbrev, A.Bool, "value")])
|
||||||
, ("CAUSEERROR", [])
|
, ("CAUSEERROR", [])
|
||||||
|
, ("EXIT", [(A.ValAbbrev, A.Int, "code")])
|
||||||
, ("RESCHEDULE", [])
|
, ("RESCHEDULE", [])
|
||||||
, ("SETAFF", [(A.ValAbbrev, A.Int, "aff")])
|
, ("SETAFF", [(A.ValAbbrev, A.Int, "aff")])
|
||||||
, ("SETPRI", [(A.ValAbbrev, A.Int, "pri")])
|
, ("SETPRI", [(A.ValAbbrev, A.Int, "pri")])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user