Skip to content

What does `StgRunIsImplementedInAssembler` in rts/StgCRun.c do

I am porting GHC to a new architecture and find the function StgRunIsImplementedInAssembler confusing in rts/StgCRun.c and rts/SgtCRunAsm.c

From what I understand, to enable registerised build. StgRun and StgReturn must be implemented in rts/SgtCRunAsm.c

However, when I check the rts/StgCRun.c file. I find the function StgRunIsImplementedInAssembler also have some assembly code in it, which seems have something to do with calling-conv.

But I'm not sure what does those assembly code do. May I get some hint?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information