mirror of
https://github.com/tweag/asterius.git
synced 2024-09-19 21:07:55 +03:00
Remove Memory/Table exports (#595)
This commit is contained in:
parent
aa4be1a7b8
commit
5955c1714d
@ -577,18 +577,6 @@ marshalMemoryImport m MemoryImport {..} = flip runContT pure $ do
|
||||
ebp <- marshalBS externalBaseName
|
||||
lift $ Binaryen.addMemoryImport m inp emp ebp 0
|
||||
|
||||
marshalTableExport :: Binaryen.Module -> TableExport -> IO Binaryen.Export
|
||||
marshalTableExport m TableExport {..} = flip runContT pure $ do
|
||||
inp <- marshalBS "0"
|
||||
enp <- marshalBS externalName
|
||||
lift $ Binaryen.addTableExport m inp enp
|
||||
|
||||
marshalMemoryExport :: Binaryen.Module -> MemoryExport -> IO Binaryen.Export
|
||||
marshalMemoryExport m MemoryExport {..} = flip runContT pure $ do
|
||||
inp <- marshalBS "0"
|
||||
enp <- marshalBS externalName
|
||||
lift $ Binaryen.addMemoryExport m inp enp
|
||||
|
||||
marshalModule ::
|
||||
Bool -> SM.SymbolMap Int64 -> Module -> IO Binaryen.Module
|
||||
marshalModule tail_calls sym_map hs_mod@Module {..} = do
|
||||
@ -614,10 +602,8 @@ marshalModule tail_calls sym_map hs_mod@Module {..} = do
|
||||
forM_ functionExports $ marshalFunctionExport m
|
||||
marshalFunctionTable m tableSlots functionTable
|
||||
marshalTableImport m tableImport
|
||||
void $ marshalTableExport m tableExport
|
||||
flip runReaderT env $ marshalMemorySegments memoryMBlocks memorySegments
|
||||
marshalMemoryImport m memoryImport
|
||||
void $ marshalMemoryExport m memoryExport
|
||||
flip runContT pure $ do
|
||||
lim_segs <- marshalBS "limit-segments"
|
||||
(lim_segs_p, _) <- marshalV [lim_segs]
|
||||
|
@ -166,26 +166,6 @@ makeExportSection Module {..} ModuleSymbolTable {..} = pure Wasm.ExportSection
|
||||
}
|
||||
| FunctionExport {..} <- functionExports
|
||||
]
|
||||
<> ( case memoryExport of
|
||||
MemoryExport {..} ->
|
||||
[ Wasm.Export
|
||||
{ exportName = coerce $ SBS.toShort externalName,
|
||||
exportDescription =
|
||||
Wasm.ExportMemory $
|
||||
Wasm.MemoryIndex 0
|
||||
}
|
||||
]
|
||||
)
|
||||
<> ( case tableExport of
|
||||
TableExport {..} ->
|
||||
[ Wasm.Export
|
||||
{ exportName = coerce $ SBS.toShort externalName,
|
||||
exportDescription =
|
||||
Wasm.ExportTable $
|
||||
Wasm.TableIndex 0
|
||||
}
|
||||
]
|
||||
)
|
||||
}
|
||||
|
||||
makeElementSection ::
|
||||
|
@ -90,14 +90,12 @@ resolveAsteriusModule debug bundled_ffi_state m_globals_resolved func_start_addr
|
||||
{ externalModuleName = "WasmTable",
|
||||
externalBaseName = "table"
|
||||
},
|
||||
tableExport = TableExport {externalName = "table"},
|
||||
tableSlots = table_slots,
|
||||
memorySegments = segs,
|
||||
memoryImport = MemoryImport
|
||||
{ externalModuleName = "WasmMemory",
|
||||
externalBaseName = "memory"
|
||||
},
|
||||
memoryExport = MemoryExport {externalName = "memory"},
|
||||
memoryMBlocks = initial_mblocks
|
||||
}
|
||||
|
||||
|
@ -30,8 +30,6 @@ module Asterius.Types
|
||||
TableImport (..),
|
||||
MemoryImport (..),
|
||||
FunctionExport (..),
|
||||
TableExport (..),
|
||||
MemoryExport (..),
|
||||
FunctionTable (..),
|
||||
DataSegment (..),
|
||||
Module (..),
|
||||
@ -49,11 +47,9 @@ module Asterius.Types
|
||||
)
|
||||
where
|
||||
|
||||
import Asterius.Binary.Orphans ()
|
||||
import Asterius.Binary.TH
|
||||
import Asterius.Types.EntitySymbol
|
||||
import Asterius.Types.SymbolMap
|
||||
import qualified Binary as GHC
|
||||
import Control.Exception
|
||||
import qualified Data.ByteString as BS
|
||||
import Data.Data
|
||||
@ -435,20 +431,6 @@ data FunctionExport
|
||||
}
|
||||
deriving (Show, Data)
|
||||
|
||||
newtype TableExport
|
||||
= TableExport
|
||||
{ externalName :: BS.ByteString
|
||||
}
|
||||
deriving (Show, Data)
|
||||
deriving newtype (GHC.Binary)
|
||||
|
||||
newtype MemoryExport
|
||||
= MemoryExport
|
||||
{ externalName :: BS.ByteString
|
||||
}
|
||||
deriving (Show, Data)
|
||||
deriving newtype (GHC.Binary)
|
||||
|
||||
data FunctionTable
|
||||
= FunctionTable
|
||||
{ tableFunctionNames :: [BS.ByteString],
|
||||
@ -470,11 +452,9 @@ data Module
|
||||
functionExports :: [FunctionExport],
|
||||
functionTable :: FunctionTable,
|
||||
tableImport :: TableImport,
|
||||
tableExport :: TableExport,
|
||||
tableSlots :: Int,
|
||||
memorySegments :: [DataSegment],
|
||||
memoryImport :: MemoryImport,
|
||||
memoryExport :: MemoryExport,
|
||||
memoryMBlocks :: Int
|
||||
}
|
||||
deriving (Show, Data)
|
||||
|
Loading…
Reference in New Issue
Block a user