getCurrentOffset :: CodeGen e s Word32
getCurrentOffset = do
- ep <- (fromIntegral . ptrToIntPtr) `liftM` getEntryPoint
- offset <- fromIntegral `liftM` getCodeOffset
+ ep <- (fromIntegral . ptrToIntPtr) <$> getEntryPoint
+ offset <- fromIntegral <$> getCodeOffset
return $ ep + offset
emitInvoke :: Word16 -> Bool -> CodeGen e s (Maybe (Word32, TrapCause))
emit' ATHROW = do
trapaddr <- emitSigIllTrap 2
let patcher resp reip = do
+ error "no athrow for you, sorry"
emitSigIllTrap 2
return reip
return $ Just (trapaddr, ThrowException patcher)