| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
H2JVM.Internal.Convert.Instruction
Description
Converts abstract instructions into raw instructions, including resolving labels into offsets. TODO: this is very inefficient, requiring three passes over the instructions
Documentation
type CodeConverterEff (r :: [Effect]) = (ConstantPoolEff r, State ConvertState :> r, Error CodeConverterError :> r) Source #
fullyRunCodeConverter :: forall (r' :: [Effect]) a. ConvertEff r' => Eff (State ConvertState ': r') a -> Eff r' a Source #
convertInstructions :: forall (r :: [Effect]). (CodeConverterEff r, HasCallStack) => NonEmpty Instruction -> Eff r (NonEmpty Instruction) Source #
fullyResolveAbs :: forall (r :: [Effect]). CodeConverterEff r => Label -> Eff r Word16 Source #
data ConvertState Source #
Constructors
| ConvertState | |
Fields | |