diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-10-20 16:11:42 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2022-11-16 21:46:49 -0500 |
commit | 443bfc76d062aed3f265a7cde1b2cc324dccf256 (patch) | |
tree | 232d0971b94195b8db04e0af9318087868cb4d53 | |
parent | d73379a5a3b2d6381ccd578d843aae7ba36799cd (diff) | |
download | haskell-443bfc76d062aed3f265a7cde1b2cc324dccf256.tar.gz |
RtsAPI
-rw-r--r-- | rts/RtsAPI.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/rts/RtsAPI.c b/rts/RtsAPI.c index 5cbea01496..a0050a5bc4 100644 --- a/rts/RtsAPI.c +++ b/rts/RtsAPI.c @@ -23,6 +23,7 @@ /* ---------------------------------------------------------------------------- Building Haskell objects from C datatypes. ------------------------------------------------------------------------- */ +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkChar (Capability *cap, HsChar c) { @@ -38,6 +39,7 @@ rts_mkChar (Capability *cap, HsChar c) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkInt (Capability *cap, HsInt i) { @@ -53,6 +55,7 @@ rts_mkInt (Capability *cap, HsInt i) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkInt8 (Capability *cap, HsInt8 i) { @@ -62,6 +65,7 @@ rts_mkInt8 (Capability *cap, HsInt8 i) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkInt16 (Capability *cap, HsInt16 i) { @@ -71,6 +75,7 @@ rts_mkInt16 (Capability *cap, HsInt16 i) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkInt32 (Capability *cap, HsInt32 i) { @@ -80,6 +85,7 @@ rts_mkInt32 (Capability *cap, HsInt32 i) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkInt64 (Capability *cap, HsInt64 i) { @@ -89,6 +95,7 @@ rts_mkInt64 (Capability *cap, HsInt64 i) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkWord (Capability *cap, HsWord i) { @@ -98,6 +105,7 @@ rts_mkWord (Capability *cap, HsWord i) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkWord8 (Capability *cap, HsWord8 w) { @@ -107,6 +115,7 @@ rts_mkWord8 (Capability *cap, HsWord8 w) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkWord16 (Capability *cap, HsWord16 w) { @@ -116,6 +125,7 @@ rts_mkWord16 (Capability *cap, HsWord16 w) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkWord32 (Capability *cap, HsWord32 w) { @@ -125,6 +135,7 @@ rts_mkWord32 (Capability *cap, HsWord32 w) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkWord64 (Capability *cap, HsWord64 w) { @@ -135,6 +146,7 @@ rts_mkWord64 (Capability *cap, HsWord64 w) } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkFloat (Capability *cap, HsFloat f) { @@ -144,6 +156,7 @@ rts_mkFloat (Capability *cap, HsFloat f) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkDouble (Capability *cap, HsDouble d) { @@ -153,6 +166,7 @@ rts_mkDouble (Capability *cap, HsDouble d) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkStablePtr (Capability *cap, HsStablePtr s) { @@ -162,6 +176,7 @@ rts_mkStablePtr (Capability *cap, HsStablePtr s) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkPtr (Capability *cap, HsPtr a) { @@ -171,6 +186,7 @@ rts_mkPtr (Capability *cap, HsPtr a) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkFunPtr (Capability *cap, HsFunPtr a) { @@ -180,6 +196,7 @@ rts_mkFunPtr (Capability *cap, HsFunPtr a) return TAG_CLOSURE(1, p); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkBool (Capability *cap STG_UNUSED, HsBool b) { @@ -190,12 +207,14 @@ rts_mkBool (Capability *cap STG_UNUSED, HsBool b) } } +WARD_NEED(may_take_sm_lock) HaskellObj rts_mkString (Capability *cap, char *s) { return rts_apply(cap, (StgClosure *)unpackCString_closure, rts_mkPtr(cap,s)); } +WARD_NEED(may_take_sm_lock) HaskellObj rts_apply (Capability *cap, HaskellObj f, HaskellObj arg) { |