Commit 730380b2 authored by sewardj's avatar sewardj
Browse files

[project @ 2000-01-25 16:58:57 by sewardj]

amodeToStix, GET_TAG: implement correctly for little-endian-32 and
supply implementation for big-endian-32.  Definitely won't work on
64-bit platforms.
parent 9bef49b8
......@@ -380,10 +380,18 @@ amodeToStix (CMacroExpr _ macro [arg])
= case macro of
ENTRY_CODE -> amodeToStix arg
ARG_TAG -> amodeToStix arg -- just an integer no. of words
GET_TAG -> StPrim SrlOp
[StInd WordRep (StPrim IntSubOp [amodeToStix arg,
StInt 1]),
GET_TAG ->
#ifdef WORDS_BIGENDIAN
StPrim AndOp
[StInd WordRep (StIndex PtrRep (amodeToStix arg)
(StInt (toInteger (-1)))),
StInt 65535]
#else
StPrim SrlOp
[StInd WordRep (StIndex PtrRep (amodeToStix arg)
(StInt (toInteger (-1)))),
StInt 16]
#endif
UPD_FRAME_UPDATEE
-> StInd PtrRep (StIndex PtrRep (amodeToStix arg)
(StInt (toInteger uF_UPDATEE)))
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment