From 8630330aeec8a1908ba18b8b8be6025ad8aae55a Mon Sep 17 00:00:00 2001 From: Rajkumar Natarajan Date: Sun, 1 Apr 2018 23:50:49 -0400 Subject: [PATCH 1/2] eta573 Rename core runtime ready for review --- .gitignore | 7 +++- compiler/ETA/CodeGen/Closure.hs | 2 +- compiler/ETA/CodeGen/Layout.hs | 8 ++--- compiler/ETA/CodeGen/Main.hs | 2 +- compiler/ETA/CodeGen/Rts.hs | 33 ++++++++++--------- compiler/ETA/CodeGen/Types.hs | 4 +-- libraries/base/java-utils/Utils.java | 9 ++--- libraries/ghc-prim/java/Utils.java | 1 - libraries/integer/java/Utils.java | 2 +- .../java/eta/{runtime/stg => }/Closure.java | 8 ++--- .../java/eta/{runtime/stg => }/DataCon.java | 5 ++- .../eta/{runtime/apply => }/Function.java | 7 ++-- .../java/eta/{runtime/thunk => }/Thunk.java | 16 ++++----- .../{runtime/thunk => }/UpdatableThunk.java | 6 ++-- .../java/eta/{runtime/stg => }/Value.java | 3 +- .../{runtime => }/exception/EtaException.java | 5 +-- .../{runtime => }/exception/Exception.java | 11 +++---- .../eta/runtime/{stg => }/Capability.java | 15 ++++----- rts/src/main/java/eta/runtime/Runtime.java | 10 +----- .../main/java/eta/runtime/RuntimeLogging.java | 5 +-- .../java/eta/runtime/apply/Function1.java | 3 +- .../java/eta/runtime/apply/Function1_1.java | 2 +- .../java/eta/runtime/apply/Function1_2.java | 2 +- .../java/eta/runtime/apply/Function1_3.java | 2 +- .../java/eta/runtime/apply/Function1_4.java | 2 +- .../java/eta/runtime/apply/Function2.java | 3 +- .../java/eta/runtime/apply/Function2_1.java | 2 +- .../java/eta/runtime/apply/Function2_2.java | 2 +- .../java/eta/runtime/apply/Function2_3.java | 2 +- .../java/eta/runtime/apply/Function2_4.java | 2 +- .../java/eta/runtime/apply/Function3.java | 3 +- .../java/eta/runtime/apply/Function3_1.java | 2 +- .../java/eta/runtime/apply/Function3_2.java | 2 +- .../java/eta/runtime/apply/Function3_3.java | 2 +- .../java/eta/runtime/apply/Function3_4.java | 2 +- .../java/eta/runtime/apply/Function4.java | 3 +- .../java/eta/runtime/apply/Function4_1.java | 2 +- .../java/eta/runtime/apply/Function4_2.java | 2 +- .../java/eta/runtime/apply/Function4_3.java | 2 +- .../java/eta/runtime/apply/Function4_4.java | 2 +- .../java/eta/runtime/apply/Function5.java | 3 +- .../java/eta/runtime/apply/Function5_1.java | 2 +- .../java/eta/runtime/apply/Function6.java | 2 ++ .../java/eta/runtime/apply/Function6_1.java | 2 +- rts/src/main/java/eta/runtime/apply/PAP.java | 4 +-- .../main/java/eta/runtime/apply/PAP1_1.java | 3 +- .../main/java/eta/runtime/apply/PAPSlow.java | 6 ++-- .../eta/runtime/concurrent/Concurrent.java | 8 ++--- .../java/eta/runtime/concurrent/MVar.java | 7 ++-- .../java/eta/runtime/concurrent/OSThread.java | 1 - .../eta/runtime/concurrent/WorkerThread.java | 2 +- .../runtime/exception/EtaAsyncException.java | 2 +- .../java/eta/runtime/exception/Raise.java | 3 +- .../java/eta/runtime/interpreter/BCO.java | 6 +--- .../eta/runtime/interpreter/Interpreter.java | 4 +-- rts/src/main/java/eta/runtime/io/Array.java | 4 +-- .../main/java/eta/runtime/io/ByteArray.java | 10 +----- rts/src/main/java/eta/runtime/io/IO.java | 4 +-- .../java/eta/runtime/io/MemoryManager.java | 18 +--------- rts/src/main/java/eta/runtime/io/MutVar.java | 6 ++-- .../java/eta/runtime/message/Message.java | 2 +- .../eta/runtime/message/MessageBlackHole.java | 4 +-- .../eta/runtime/message/MessageShutdown.java | 2 +- .../eta/runtime/message/MessageThrowTo.java | 7 ++-- .../eta/runtime/message/MessageWakeup.java | 2 +- .../java/eta/runtime/parallel/Parallel.java | 6 ++-- .../java/eta/runtime/stg/ArgumentStack.java | 1 + .../main/java/eta/runtime/stg/Closures.java | 4 +-- rts/src/main/java/eta/runtime/stg/FunPtr.java | 1 - rts/src/main/java/eta/runtime/stg/Print.java | 2 +- .../java/eta/runtime/stg/StablePtrTable.java | 4 +-- rts/src/main/java/eta/runtime/stg/Stg.java | 2 ++ .../main/java/eta/runtime/stg/StgContext.java | 6 ++-- rts/src/main/java/eta/runtime/stg/TSO.java | 12 ++----- .../main/java/eta/runtime/stg/WeakPtr.java | 6 ++-- .../java/eta/runtime/stm/AtomicInvariant.java | 5 +-- rts/src/main/java/eta/runtime/stm/STM.java | 10 +++--- rts/src/main/java/eta/runtime/stm/TVar.java | 9 ++--- .../eta/runtime/stm/TransactionEntry.java | 2 +- .../eta/runtime/stm/TransactionRecord.java | 11 ++----- .../main/java/eta/runtime/storage/Block.java | 3 +- .../java/eta/runtime/storage/BlockStats.java | 1 - .../java/eta/runtime/storage/HeapStats.java | 1 - .../eta/runtime/storage/NurseryStats.java | 1 - .../main/java/eta/runtime/storage/Span.java | 1 - .../main/java/eta/runtime/thunk/Ap1Upd.java | 3 +- .../main/java/eta/runtime/thunk/Ap1VUpd.java | 3 +- .../main/java/eta/runtime/thunk/Ap2Upd.java | 3 +- .../main/java/eta/runtime/thunk/Ap2VUpd.java | 3 +- .../main/java/eta/runtime/thunk/Ap3Upd.java | 3 +- .../main/java/eta/runtime/thunk/Ap3VUpd.java | 3 +- .../main/java/eta/runtime/thunk/Ap4Upd.java | 3 +- .../main/java/eta/runtime/thunk/Ap4VUpd.java | 3 +- .../main/java/eta/runtime/thunk/Ap5Upd.java | 3 +- .../main/java/eta/runtime/thunk/Ap6Upd.java | 3 +- .../main/java/eta/runtime/thunk/Ap7Upd.java | 3 +- rts/src/main/java/eta/runtime/thunk/ApD.java | 3 +- rts/src/main/java/eta/runtime/thunk/ApF.java | 3 +- rts/src/main/java/eta/runtime/thunk/ApI.java | 3 +- rts/src/main/java/eta/runtime/thunk/ApL.java | 3 +- rts/src/main/java/eta/runtime/thunk/ApO.java | 3 +- rts/src/main/java/eta/runtime/thunk/ApV.java | 3 +- .../java/eta/runtime/thunk/BlackHole.java | 3 +- .../java/eta/runtime/thunk/BlockingQueue.java | 11 +------ rts/src/main/java/eta/runtime/thunk/CAF.java | 3 +- .../eta/runtime/thunk/SelectorDNoUpd.java | 4 +-- .../java/eta/runtime/thunk/SelectorDUpd.java | 5 ++- .../eta/runtime/thunk/SelectorFNoUpd.java | 5 ++- .../java/eta/runtime/thunk/SelectorFUpd.java | 5 ++- .../eta/runtime/thunk/SelectorLNoUpd.java | 5 ++- .../java/eta/runtime/thunk/SelectorLUpd.java | 5 ++- .../eta/runtime/thunk/SelectorNNoUpd.java | 5 ++- .../java/eta/runtime/thunk/SelectorNUpd.java | 5 ++- .../java/eta/runtime/thunk/SelectorNoUpd.java | 4 +-- .../eta/runtime/thunk/SelectorONoUpd.java | 5 ++- .../java/eta/runtime/thunk/SelectorOUpd.java | 5 ++- .../eta/runtime/thunk/SelectorPNoUpd.java | 5 ++- .../java/eta/runtime/thunk/SelectorPUpd.java | 5 ++- .../java/eta/runtime/thunk/SelectorUpd.java | 5 +-- .../eta/runtime/thunk/SingleEntryThunk.java | 3 +- .../eta/runtime/thunk/SingleEntryThunk0.java | 1 - .../eta/runtime/thunk/SingleEntryThunk1.java | 2 +- .../eta/runtime/thunk/SingleEntryThunk2.java | 2 +- .../eta/runtime/thunk/SingleEntryThunk3.java | 2 +- .../eta/runtime/thunk/SingleEntryThunk4.java | 2 +- .../eta/runtime/thunk/SingleEntryThunk5.java | 2 +- .../eta/runtime/thunk/SingleEntryThunk6.java | 2 +- .../main/java/eta/runtime/thunk/Thunks.java | 2 +- .../eta/runtime/thunk/UpdatableThunk0.java | 2 +- .../eta/runtime/thunk/UpdatableThunk1.java | 3 +- .../eta/runtime/thunk/UpdatableThunk2.java | 3 +- .../eta/runtime/thunk/UpdatableThunk3.java | 3 +- .../eta/runtime/thunk/UpdatableThunk4.java | 3 +- .../eta/runtime/thunk/UpdatableThunk5.java | 3 +- .../eta/runtime/thunk/UpdatableThunk6.java | 3 +- .../java/eta/runtime/thunk/UpdateInfo.java | 22 +++++++++++-- .../eta/runtime/thunk/UpdateInfoStack.java | 15 +++++---- .../java/eta/runtime/util/UnsafeUtil.java | 6 ---- .../eta/runtime/storage/ManagedHeapTest.java | 4 +-- 139 files changed, 282 insertions(+), 344 deletions(-) rename rts/src/main/java/eta/{runtime/stg => }/Closure.java (95%) rename rts/src/main/java/eta/{runtime/stg => }/DataCon.java (93%) rename rts/src/main/java/eta/{runtime/apply => }/Function.java (99%) rename rts/src/main/java/eta/{runtime/thunk => }/Thunk.java (96%) rename rts/src/main/java/eta/{runtime/thunk => }/UpdatableThunk.java (93%) rename rts/src/main/java/eta/{runtime/stg => }/Value.java (88%) rename rts/src/main/java/eta/{runtime => }/exception/EtaException.java (78%) rename rts/src/main/java/eta/{runtime => }/exception/Exception.java (98%) rename rts/src/main/java/eta/runtime/{stg => }/Capability.java (99%) diff --git a/.gitignore b/.gitignore index d69f3c50..3b06ef07 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,9 @@ result utils/scripts/lib/ release.log binaries/ -.gradle \ No newline at end of file +.gradle +.idea +rts/.classpath +rts/.project +rts/.settings/ +rts/rts.iml diff --git a/compiler/ETA/CodeGen/Closure.hs b/compiler/ETA/CodeGen/Closure.hs index 43175d5c..b618eb2a 100644 --- a/compiler/ETA/CodeGen/Closure.hs +++ b/compiler/ETA/CodeGen/Closure.hs @@ -71,7 +71,7 @@ lfClass hasStdLayout _arity fvs (LFThunk {..}) = | hasStdLayout = T.pack (show fvs) | otherwise = mempty lfClass hasStdLayout args fvs (LFReEntrant {..}) - = stgFun <> funExt + = etaFun <> funExt where funExt | hasStdLayout = T.pack (show args) <> fvsText | args <= 6 = T.pack (show args) diff --git a/compiler/ETA/CodeGen/Layout.hs b/compiler/ETA/CodeGen/Layout.hs index eead5d9c..6f4a93b7 100644 --- a/compiler/ETA/CodeGen/Layout.hs +++ b/compiler/ETA/CodeGen/Layout.hs @@ -230,7 +230,7 @@ slowCall dflags loadContext fun argFtCodes where n = length argFtCodes ft = locFt fun code = loadLoc fun - realCls = fromMaybe stgClosure $ locClass fun + realCls = fromMaybe etaClosure $ locClass fun (arity, fts) = slowCallPattern $ map (\(a,_,_) -> a) argFtCodes slowCode = directCall' loadContext True True realCls (mkApFast arity realCls fts) @@ -239,7 +239,7 @@ slowCall dflags loadContext fun argFtCodes directCall :: Code -> Type -> CgLoc -> RepArity -> [(ArgRep, Maybe FieldType, Maybe Code)] -> (Code, Maybe Code) directCall loadContext funType fun arity argFtCodes | Just staticCode <- loadStaticMethod fun argFts - = directCall' loadContext True True stgClosure + = directCall' loadContext True True etaClosure staticCode arity ((P, Nothing, Nothing):argFtCodes) | arity' == arity = directCall' loadContext True True realCls (mkApFast arity' realCls fts) arity' @@ -249,7 +249,7 @@ directCall loadContext funType fun arity argFtCodes code = loadLoc fun ft = locFt fun entryCode = enterMethod loadContext fun - realCls = fromMaybe stgClosure $ locClass fun + realCls = fromMaybe etaClosure $ locClass fun argFts' = catMaybes . take arity $ map (\(_,ft,_) -> ft) argFtCodes -- All this logic is to get around some weird issues with -- the java monad type inlining. Ideally, argFts = staticFts @@ -308,7 +308,7 @@ genApplyCall :: Code -> Int -> [FieldType] -> [(ArgRep, Maybe FieldType, Maybe C genApplyCall loadContext arity fts args = loadContext <> fold loadCodes - <> mkApFast arity stgClosure fts + <> mkApFast arity etaClosure fts where loadCodes = mapMaybe (\(_, _, a) -> a) args getRepFtCodes :: [StgArg] -> CodeGen [(ArgRep, Maybe FieldType, Maybe Code)] diff --git a/compiler/ETA/CodeGen/Main.hs b/compiler/ETA/CodeGen/Main.hs index 1ab54d67..2f4ef4da 100644 --- a/compiler/ETA/CodeGen/Main.hs +++ b/compiler/ETA/CodeGen/Main.hs @@ -246,7 +246,7 @@ externaliseId _dflags id = do cgTyCon :: TyCon -> CodeGen () cgTyCon tyCon = unless (null dataCons) $ do dflags <- getDynFlags - (_, CgState {..}) <- newTypeClosure (tyConClass dflags tyCon) stgConstr + (_, CgState {..}) <- newTypeClosure (tyConClass dflags tyCon) etaDataCon mapM_ (cgDataCon cgClassName) dataCons when (isEnumerationTyCon tyCon) $ cgEnumerationTyCon cgClassName tyCon diff --git a/compiler/ETA/CodeGen/Rts.hs b/compiler/ETA/CodeGen/Rts.hs index 8899ddff..8e1e923e 100644 --- a/compiler/ETA/CodeGen/Rts.hs +++ b/compiler/ETA/CodeGen/Rts.hs @@ -15,8 +15,10 @@ import qualified Data.Text as T merge :: Text -> Text -> Text merge x y = T.append x . T.cons '/' $ y -rts, apply, thunk, stg, exception, io, util, stm, par, interp, conc :: Text -> Text +rts, eta, etaex, apply, thunk, stg, exception, io, util, stm, par, interp, conc :: Text -> Text rts = merge "eta/runtime" +eta = merge "eta" +etaex = merge "eta/exception" apply = merge (rts "apply") thunk = merge (rts "thunk") stg = merge (rts "stg") @@ -32,16 +34,16 @@ closureType, indStaticType, contextType, capabilityType, taskType, funType, tsoT frameType, conType, thunkType, rtsConfigType, exitCodeType, rtsOptsEnbledType, stgArrayType, stgByteArrayType, stgMutVarType, stgMVarType, hsResultType, stgTVarType, stgBCOType, stgWeakType :: FieldType -closureType = obj stgClosure +closureType = obj etaClosure indStaticType = obj stgIndStatic contextType = obj stgContext capabilityType = obj capability taskType = obj task -funType = obj stgFun +funType = obj etaFun tsoType = obj stgTSO frameType = obj stackFrame -conType = obj stgConstr -thunkType = obj stgThunk +conType = obj etaDataCon +thunkType = obj etaThunk rtsConfigType = obj rtsConfig rtsOptsEnbledType = obj rtsOptsEnbled exitCodeType = obj exitCode @@ -54,19 +56,19 @@ hsResultType = obj hsResult stgBCOType = obj stgBCO stgWeakType = obj stgWeak -stgConstr, stgClosure, stgContext, capability, task, stgInd, stgIndStatic, stgThunk, - stgFun, stgTSO, stackFrame, rtsConfig, rtsOptsEnbled, exitCode, stgArray, +etaDataCon, etaClosure, stgContext, capability, task, stgInd, stgIndStatic, etaThunk, + etaFun, stgTSO, stackFrame, rtsConfig, rtsOptsEnbled, exitCode, stgArray, stgByteArray, rtsUnsigned, stgMutVar, stgMVar, stgTVar, rtsGroup, hsResult, stgBCO, stgWeak :: Text -stgConstr = stg "DataCon" -stgClosure = stg "Closure" +etaDataCon = eta "DataCon" +etaClosure = eta "Closure" stgContext = stg "StgContext" -capability = stg "Capability" +capability = rts "Capability" task = stg "Task" -stgInd = thunk "UpdatableThunk" +stgInd = eta "UpdatableThunk" stgIndStatic = thunk "CAF" -stgThunk = thunk "Thunk" -stgFun = apply "Function" +etaThunk = eta "Thunk" +etaFun = eta "Function" stgTSO = stg "TSO" stackFrame = stg "StackFrame" rtsConfig = rts "RtsConfig" @@ -206,7 +208,7 @@ resumeInterruptsMethod :: Code resumeInterruptsMethod = invokevirtual $ mkMethodRef stgTSO "resumeInterrupts" [jbool] void -stgExceptionGroup, ioGroup, stmGroup, concGroup, parGroup, interpGroup, stgGroup :: Text +stgExceptionGroup, ioGroup, stmGroup, concGroup, parGroup, interpGroup, stgGroup, applyGroup :: Text stgExceptionGroup = exception "Exception" ioGroup = io "IO" stmGroup = stm "STM" @@ -214,6 +216,7 @@ concGroup = conc "Concurrent" stgGroup = stg "Stg" parGroup = par "Parallel" interpGroup = interp "Interpreter" +applyGroup = apply "Apply" -- Types byteArrayBuf :: Code @@ -275,7 +278,7 @@ getTagMethod :: Code -> Code getTagMethod code = code <> gconv closureType conType - <> invokevirtual (mkMethodRef stgConstr "getTag" [] (ret jint)) + <> invokevirtual (mkMethodRef etaDataCon "getTag" [] (ret jint)) printStream :: Text printStream = "java/io/PrintStream" diff --git a/compiler/ETA/CodeGen/Types.hs b/compiler/ETA/CodeGen/Types.hs index bd756a22..1e0417e2 100644 --- a/compiler/ETA/CodeGen/Types.hs +++ b/compiler/ETA/CodeGen/Types.hs @@ -328,7 +328,7 @@ enterMethod loadContext cgLoc <> gconv closureType (obj closureCls) <> loadContext <> invokevirtual (mkMethodRef closureCls "enter" [contextType] (ret closureType)) - where closureCls = fromMaybe stgClosure (locClass cgLoc) + where closureCls = fromMaybe etaClosure (locClass cgLoc) evaluateMethod :: Code -> CgLoc -> Code evaluateMethod loadContext cgLoc @@ -336,7 +336,7 @@ evaluateMethod loadContext cgLoc <> gconv closureType (obj closureCls) <> loadContext <> invokevirtual (mkMethodRef closureCls "evaluate" [contextType] (ret closureType)) - where closureCls = fromMaybe stgClosure (locClass cgLoc) + where closureCls = fromMaybe etaClosure (locClass cgLoc) type RecIndexes = [(Int, Id)] type RecInfo = (Text, Text, Text, FieldRef, Code, RecIndexes) diff --git a/libraries/base/java-utils/Utils.java b/libraries/base/java-utils/Utils.java index 3eb2305c..b320e76f 100644 --- a/libraries/base/java-utils/Utils.java +++ b/libraries/base/java-utils/Utils.java @@ -6,13 +6,11 @@ import java.util.Set; import java.util.List; import java.util.HashSet; - import java.io.File; import java.io.IOException; import java.io.PrintStream; import java.io.InputStream; import java.io.UnsupportedEncodingException; - import java.nio.ByteOrder; import java.nio.ByteBuffer; import java.nio.file.Files; @@ -35,20 +33,17 @@ import java.nio.channels.WritableByteChannel; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; - import eta.runtime.Runtime; import eta.runtime.RuntimeLogging; import eta.runtime.stg.TSO; import eta.runtime.stg.StgContext; -import eta.runtime.stg.Closure; -import eta.runtime.stg.Capability; +import eta.Closure; +import eta.runtime.Capability; import eta.runtime.io.MemoryManager; - import ghc_prim.ghc.types.datacons.Czh; import ghc_prim.ghc.types.datacons.ZC; import ghc_prim.ghc.types.tycons.ZMZN; import ghc_prim.ghc.Types; - import java.lang.management.ManagementFactory; import com.sun.management.OperatingSystemMXBean; diff --git a/libraries/ghc-prim/java/Utils.java b/libraries/ghc-prim/java/Utils.java index 096e0fc5..6f183dde 100644 --- a/libraries/ghc-prim/java/Utils.java +++ b/libraries/ghc-prim/java/Utils.java @@ -1,7 +1,6 @@ package eta.ghc_prim; import java.nio.ByteBuffer; - import eta.runtime.io.MemoryManager; public class Utils { diff --git a/libraries/integer/java/Utils.java b/libraries/integer/java/Utils.java index 5d937665..16cb7901 100644 --- a/libraries/integer/java/Utils.java +++ b/libraries/integer/java/Utils.java @@ -2,7 +2,7 @@ import java.math.BigInteger; import eta.runtime.stg.StgContext; -import eta.runtime.stg.Closure; +import eta.Closure; public class Utils { /** diff --git a/rts/src/main/java/eta/runtime/stg/Closure.java b/rts/src/main/java/eta/Closure.java similarity index 95% rename from rts/src/main/java/eta/runtime/stg/Closure.java rename to rts/src/main/java/eta/Closure.java index b3556539..a528545e 100644 --- a/rts/src/main/java/eta/runtime/stg/Closure.java +++ b/rts/src/main/java/eta/Closure.java @@ -1,11 +1,7 @@ -package eta.runtime.stg; +package eta; +import eta.runtime.stg.StgContext; import java.io.Serializable; - -import eta.runtime.stg.Capability; -import eta.runtime.stg.TSO; -import eta.runtime.thunk.Thunk; - import static eta.runtime.RuntimeLogging.barf; public abstract class Closure implements Serializable { diff --git a/rts/src/main/java/eta/runtime/stg/DataCon.java b/rts/src/main/java/eta/DataCon.java similarity index 93% rename from rts/src/main/java/eta/runtime/stg/DataCon.java rename to rts/src/main/java/eta/DataCon.java index 4c099dd2..1c590d3e 100644 --- a/rts/src/main/java/eta/runtime/stg/DataCon.java +++ b/rts/src/main/java/eta/DataCon.java @@ -1,4 +1,7 @@ -package eta.runtime.stg; +package eta; + +import eta.runtime.stg.Print; +import eta.runtime.stg.StgContext; import static eta.runtime.RuntimeLogging.barf; diff --git a/rts/src/main/java/eta/runtime/apply/Function.java b/rts/src/main/java/eta/Function.java similarity index 99% rename from rts/src/main/java/eta/runtime/apply/Function.java rename to rts/src/main/java/eta/Function.java index 75d0c992..cf3b9b0b 100644 --- a/rts/src/main/java/eta/runtime/apply/Function.java +++ b/rts/src/main/java/eta/Function.java @@ -1,11 +1,10 @@ -package eta.runtime.apply; +package eta; +import eta.runtime.apply.PAPSlow; +import eta.runtime.apply.PAP1_1; import eta.runtime.stg.Print; -import eta.runtime.stg.Value; -import eta.runtime.stg.Closure; import eta.runtime.stg.StgContext; import eta.runtime.stg.ArgumentStack; - import static eta.runtime.RuntimeLogging.barf; public abstract class Function extends Value { diff --git a/rts/src/main/java/eta/runtime/thunk/Thunk.java b/rts/src/main/java/eta/Thunk.java similarity index 96% rename from rts/src/main/java/eta/runtime/thunk/Thunk.java rename to rts/src/main/java/eta/Thunk.java index e18fd7f3..c2b26204 100644 --- a/rts/src/main/java/eta/runtime/thunk/Thunk.java +++ b/rts/src/main/java/eta/Thunk.java @@ -1,25 +1,21 @@ -package eta.runtime.thunk; +package eta; import java.lang.reflect.Field; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; - import eta.runtime.stg.Print; -import eta.runtime.stg.Value; -import eta.runtime.stg.Capability; -import eta.runtime.stg.Closure; +import eta.runtime.Capability; import eta.runtime.stg.StgContext; import eta.runtime.stg.TSO; +import eta.runtime.thunk.*; import eta.runtime.util.UnsafeUtil; -import eta.runtime.message.MessageBlackHole; -import eta.runtime.exception.Exception; -import eta.runtime.exception.EtaException; +import eta.exception.Exception; +import eta.exception.EtaException; import eta.runtime.exception.EtaAsyncException; import eta.runtime.exception.Raise; import eta.runtime.exception.StgException; import static eta.runtime.util.UnsafeUtil.UNSAFE; -import static eta.runtime.RuntimeLogging.barf; import static eta.runtime.stg.TSO.WhyBlocked.*; public abstract class Thunk extends Closure { @@ -279,7 +275,7 @@ protected static boolean handleException(StgContext context, java.lang.Exception if (raise == null) { context.raise = raise = new Raise(((EtaException) thrw).exception); } - ui.updatee.updateCode(context, raise); + ui.getUpdatee().updateCode(context, raise); } //TODO: Handle EtaAsyncExceptions? throw thrw; } diff --git a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk.java b/rts/src/main/java/eta/UpdatableThunk.java similarity index 93% rename from rts/src/main/java/eta/runtime/thunk/UpdatableThunk.java rename to rts/src/main/java/eta/UpdatableThunk.java index 115bc517..29772b8c 100644 --- a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk.java +++ b/rts/src/main/java/eta/UpdatableThunk.java @@ -1,7 +1,7 @@ -package eta.runtime.thunk; +package eta; -import eta.runtime.stg.Closure; import eta.runtime.stg.StgContext; +import eta.runtime.thunk.UpdateInfo; public abstract class UpdatableThunk extends Thunk { @@ -28,7 +28,7 @@ public final Closure evaluate(StgContext context) { context.popUpdate(); context.trampoline = trampoline; } - if (ui.marked) { + if (ui.isMarked()) { return updateCode(context, result); } else { updateWithIndirection(result); diff --git a/rts/src/main/java/eta/runtime/stg/Value.java b/rts/src/main/java/eta/Value.java similarity index 88% rename from rts/src/main/java/eta/runtime/stg/Value.java rename to rts/src/main/java/eta/Value.java index e83e670f..633398c9 100644 --- a/rts/src/main/java/eta/runtime/stg/Value.java +++ b/rts/src/main/java/eta/Value.java @@ -1,5 +1,6 @@ -package eta.runtime.stg; +package eta; +import eta.runtime.stg.StgContext; import static eta.runtime.RuntimeLogging.barf; public abstract class Value extends Closure { diff --git a/rts/src/main/java/eta/runtime/exception/EtaException.java b/rts/src/main/java/eta/exception/EtaException.java similarity index 78% rename from rts/src/main/java/eta/runtime/exception/EtaException.java rename to rts/src/main/java/eta/exception/EtaException.java index 69753640..7bfa143d 100644 --- a/rts/src/main/java/eta/runtime/exception/EtaException.java +++ b/rts/src/main/java/eta/exception/EtaException.java @@ -1,6 +1,7 @@ -package eta.runtime.exception; +package eta.exception; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.runtime.exception.StgException; import eta.runtime.stg.Closures; public class EtaException extends StgException { diff --git a/rts/src/main/java/eta/runtime/exception/Exception.java b/rts/src/main/java/eta/exception/Exception.java similarity index 98% rename from rts/src/main/java/eta/runtime/exception/Exception.java rename to rts/src/main/java/eta/exception/Exception.java index b3f8fdb2..6d492bac 100644 --- a/rts/src/main/java/eta/runtime/exception/Exception.java +++ b/rts/src/main/java/eta/exception/Exception.java @@ -1,15 +1,14 @@ -package eta.runtime.exception; +package eta.exception; import java.util.Arrays; -import java.util.ListIterator; - -import eta.runtime.stg.Capability; +import eta.Closure; +import eta.runtime.exception.StgException; +import eta.runtime.exception.EtaAsyncException; +import eta.runtime.Capability; import eta.runtime.stg.TSO; -import eta.runtime.stg.Closure; import eta.runtime.stg.Closures; import eta.runtime.stg.StgContext; import eta.runtime.thunk.UpdateInfo; - import eta.runtime.Runtime; import eta.runtime.message.MessageBlackHole; import eta.runtime.message.MessageThrowTo; diff --git a/rts/src/main/java/eta/runtime/stg/Capability.java b/rts/src/main/java/eta/runtime/Capability.java similarity index 99% rename from rts/src/main/java/eta/runtime/stg/Capability.java rename to rts/src/main/java/eta/runtime/Capability.java index aa0626b9..33fd7f45 100644 --- a/rts/src/main/java/eta/runtime/stg/Capability.java +++ b/rts/src/main/java/eta/runtime/Capability.java @@ -1,4 +1,4 @@ -package eta.runtime.stg; +package eta.runtime; import java.util.List; import java.util.LinkedList; @@ -12,15 +12,11 @@ import java.util.concurrent.locks.LockSupport; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; - import java.lang.ref.WeakReference; - -import eta.runtime.Runtime; -import eta.runtime.io.IO; import eta.runtime.io.MemoryManager; import eta.runtime.concurrent.Concurrent; import eta.runtime.concurrent.WorkerThread; -import eta.runtime.exception.Exception; +import eta.exception.Exception; import eta.runtime.exception.FiberYieldException; import eta.runtime.interpreter.Interpreter; import eta.runtime.message.Message; @@ -29,12 +25,15 @@ import eta.runtime.message.MessageShutdown; import eta.runtime.message.MessageWakeup; import eta.runtime.parallel.Parallel; +import eta.Closure; +import eta.runtime.stg.Closures; +import eta.runtime.stg.StgContext; +import eta.runtime.stg.TSO; import eta.runtime.storage.Block; import eta.runtime.storage.LocalHeap; import eta.runtime.thunk.BlockingQueue; -import eta.runtime.thunk.Thunk; +import eta.Thunk; import eta.runtime.thunk.UpdateInfo; -import eta.runtime.thunk.WhiteHole; import eta.runtime.util.MPSCLongQueue; import static eta.runtime.stg.TSO.*; import static eta.runtime.stg.TSO.WhatNext; diff --git a/rts/src/main/java/eta/runtime/Runtime.java b/rts/src/main/java/eta/runtime/Runtime.java index 72c256d7..2ea0f579 100644 --- a/rts/src/main/java/eta/runtime/Runtime.java +++ b/rts/src/main/java/eta/runtime/Runtime.java @@ -1,17 +1,9 @@ package eta.runtime; -import java.lang.reflect.Method; -import java.lang.reflect.InvocationTargetException; -import java.util.Properties; - -import eta.runtime.stg.Capability; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.Closures; import eta.runtime.stg.TSO; import eta.runtime.stg.WeakPtr; -import eta.runtime.io.MemoryManager; -import eta.runtime.exception.RuntimeInternalError; - public class Runtime { diff --git a/rts/src/main/java/eta/runtime/RuntimeLogging.java b/rts/src/main/java/eta/runtime/RuntimeLogging.java index dc209ef4..1f794d68 100644 --- a/rts/src/main/java/eta/runtime/RuntimeLogging.java +++ b/rts/src/main/java/eta/runtime/RuntimeLogging.java @@ -1,11 +1,8 @@ package eta.runtime; -import eta.runtime.Runtime; -import eta.runtime.stg.Capability; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.TSO; import eta.runtime.exception.RuntimeInternalError; - import java.util.concurrent.atomic.AtomicBoolean; public class RuntimeLogging { diff --git a/rts/src/main/java/eta/runtime/apply/Function1.java b/rts/src/main/java/eta/runtime/apply/Function1.java index 7acb0a63..73b163b8 100644 --- a/rts/src/main/java/eta/runtime/apply/Function1.java +++ b/rts/src/main/java/eta/runtime/apply/Function1.java @@ -1,6 +1,7 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Function; +import eta.Closure; import eta.runtime.stg.StgContext; public class Function1 extends Function { diff --git a/rts/src/main/java/eta/runtime/apply/Function1_1.java b/rts/src/main/java/eta/runtime/apply/Function1_1.java index c693abc2..bf4be8fd 100644 --- a/rts/src/main/java/eta/runtime/apply/Function1_1.java +++ b/rts/src/main/java/eta/runtime/apply/Function1_1.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function1_1 extends Function1 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function1_2.java b/rts/src/main/java/eta/runtime/apply/Function1_2.java index e6149bd6..169362ad 100644 --- a/rts/src/main/java/eta/runtime/apply/Function1_2.java +++ b/rts/src/main/java/eta/runtime/apply/Function1_2.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function1_2 extends Function1 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function1_3.java b/rts/src/main/java/eta/runtime/apply/Function1_3.java index 430ef0b4..79146ce0 100644 --- a/rts/src/main/java/eta/runtime/apply/Function1_3.java +++ b/rts/src/main/java/eta/runtime/apply/Function1_3.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function1_3 extends Function1 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function1_4.java b/rts/src/main/java/eta/runtime/apply/Function1_4.java index 11fd3f35..7f7ac34f 100644 --- a/rts/src/main/java/eta/runtime/apply/Function1_4.java +++ b/rts/src/main/java/eta/runtime/apply/Function1_4.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function1_4 extends Function1 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function2.java b/rts/src/main/java/eta/runtime/apply/Function2.java index 203f94af..04764dcf 100644 --- a/rts/src/main/java/eta/runtime/apply/Function2.java +++ b/rts/src/main/java/eta/runtime/apply/Function2.java @@ -1,6 +1,7 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Function; +import eta.Closure; import eta.runtime.stg.StgContext; public class Function2 extends Function { diff --git a/rts/src/main/java/eta/runtime/apply/Function2_1.java b/rts/src/main/java/eta/runtime/apply/Function2_1.java index 17662063..1264839c 100644 --- a/rts/src/main/java/eta/runtime/apply/Function2_1.java +++ b/rts/src/main/java/eta/runtime/apply/Function2_1.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function2_1 extends Function2 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function2_2.java b/rts/src/main/java/eta/runtime/apply/Function2_2.java index becbbfc5..60c73877 100644 --- a/rts/src/main/java/eta/runtime/apply/Function2_2.java +++ b/rts/src/main/java/eta/runtime/apply/Function2_2.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function2_2 extends Function2 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function2_3.java b/rts/src/main/java/eta/runtime/apply/Function2_3.java index 7cd1080a..eb5ab617 100644 --- a/rts/src/main/java/eta/runtime/apply/Function2_3.java +++ b/rts/src/main/java/eta/runtime/apply/Function2_3.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function2_3 extends Function2 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function2_4.java b/rts/src/main/java/eta/runtime/apply/Function2_4.java index 214ba0c3..5217b2cb 100644 --- a/rts/src/main/java/eta/runtime/apply/Function2_4.java +++ b/rts/src/main/java/eta/runtime/apply/Function2_4.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function2_4 extends Function2 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function3.java b/rts/src/main/java/eta/runtime/apply/Function3.java index 7ee9f7ad..85f34614 100644 --- a/rts/src/main/java/eta/runtime/apply/Function3.java +++ b/rts/src/main/java/eta/runtime/apply/Function3.java @@ -1,6 +1,7 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Function; +import eta.Closure; import eta.runtime.stg.StgContext; public class Function3 extends Function { diff --git a/rts/src/main/java/eta/runtime/apply/Function3_1.java b/rts/src/main/java/eta/runtime/apply/Function3_1.java index dbb7f35b..616ae5b5 100644 --- a/rts/src/main/java/eta/runtime/apply/Function3_1.java +++ b/rts/src/main/java/eta/runtime/apply/Function3_1.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function3_1 extends Function3 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function3_2.java b/rts/src/main/java/eta/runtime/apply/Function3_2.java index 6496269f..e282ca14 100644 --- a/rts/src/main/java/eta/runtime/apply/Function3_2.java +++ b/rts/src/main/java/eta/runtime/apply/Function3_2.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function3_2 extends Function3 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function3_3.java b/rts/src/main/java/eta/runtime/apply/Function3_3.java index 5c37fee0..5cb1ab7b 100644 --- a/rts/src/main/java/eta/runtime/apply/Function3_3.java +++ b/rts/src/main/java/eta/runtime/apply/Function3_3.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function3_3 extends Function3 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function3_4.java b/rts/src/main/java/eta/runtime/apply/Function3_4.java index 1dc4df3b..134ff89e 100644 --- a/rts/src/main/java/eta/runtime/apply/Function3_4.java +++ b/rts/src/main/java/eta/runtime/apply/Function3_4.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function3_4 extends Function3 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function4.java b/rts/src/main/java/eta/runtime/apply/Function4.java index 18127d9c..d18ed304 100644 --- a/rts/src/main/java/eta/runtime/apply/Function4.java +++ b/rts/src/main/java/eta/runtime/apply/Function4.java @@ -1,6 +1,7 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Function; +import eta.Closure; import eta.runtime.stg.StgContext; public class Function4 extends Function { diff --git a/rts/src/main/java/eta/runtime/apply/Function4_1.java b/rts/src/main/java/eta/runtime/apply/Function4_1.java index 3af224d6..172208f5 100644 --- a/rts/src/main/java/eta/runtime/apply/Function4_1.java +++ b/rts/src/main/java/eta/runtime/apply/Function4_1.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function4_1 extends Function4 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function4_2.java b/rts/src/main/java/eta/runtime/apply/Function4_2.java index b2bb37de..c10594b4 100644 --- a/rts/src/main/java/eta/runtime/apply/Function4_2.java +++ b/rts/src/main/java/eta/runtime/apply/Function4_2.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function4_2 extends Function4 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function4_3.java b/rts/src/main/java/eta/runtime/apply/Function4_3.java index 31cc2359..7d7c85f4 100644 --- a/rts/src/main/java/eta/runtime/apply/Function4_3.java +++ b/rts/src/main/java/eta/runtime/apply/Function4_3.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function4_3 extends Function4 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function4_4.java b/rts/src/main/java/eta/runtime/apply/Function4_4.java index b194048e..7c9c741d 100644 --- a/rts/src/main/java/eta/runtime/apply/Function4_4.java +++ b/rts/src/main/java/eta/runtime/apply/Function4_4.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function4_4 extends Function4 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function5.java b/rts/src/main/java/eta/runtime/apply/Function5.java index 3d7e5b00..5b42709f 100644 --- a/rts/src/main/java/eta/runtime/apply/Function5.java +++ b/rts/src/main/java/eta/runtime/apply/Function5.java @@ -1,6 +1,7 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Function; +import eta.Closure; import eta.runtime.stg.StgContext; public class Function5 extends Function { diff --git a/rts/src/main/java/eta/runtime/apply/Function5_1.java b/rts/src/main/java/eta/runtime/apply/Function5_1.java index d7157b97..b05986ac 100644 --- a/rts/src/main/java/eta/runtime/apply/Function5_1.java +++ b/rts/src/main/java/eta/runtime/apply/Function5_1.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function5_1 extends Function5 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/Function6.java b/rts/src/main/java/eta/runtime/apply/Function6.java index e2896d18..faa89b0b 100644 --- a/rts/src/main/java/eta/runtime/apply/Function6.java +++ b/rts/src/main/java/eta/runtime/apply/Function6.java @@ -1,5 +1,7 @@ package eta.runtime.apply; +import eta.Function; + public class Function6 extends Function { public int arity() { return 6; } } diff --git a/rts/src/main/java/eta/runtime/apply/Function6_1.java b/rts/src/main/java/eta/runtime/apply/Function6_1.java index 7bbd0052..a6e7ff9e 100644 --- a/rts/src/main/java/eta/runtime/apply/Function6_1.java +++ b/rts/src/main/java/eta/runtime/apply/Function6_1.java @@ -1,6 +1,6 @@ package eta.runtime.apply; -import eta.runtime.stg.Closure; +import eta.Closure; public class Function6_1 extends Function6 { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/apply/PAP.java b/rts/src/main/java/eta/runtime/apply/PAP.java index c296a646..1390c47c 100644 --- a/rts/src/main/java/eta/runtime/apply/PAP.java +++ b/rts/src/main/java/eta/runtime/apply/PAP.java @@ -1,8 +1,8 @@ package eta.runtime.apply; +import eta.Function; import eta.runtime.stg.Print; -import eta.runtime.stg.Value; -import eta.runtime.stg.Closure; +import eta.Value; public abstract class PAP extends Value { public Function fun; diff --git a/rts/src/main/java/eta/runtime/apply/PAP1_1.java b/rts/src/main/java/eta/runtime/apply/PAP1_1.java index d8d366a7..212977dd 100644 --- a/rts/src/main/java/eta/runtime/apply/PAP1_1.java +++ b/rts/src/main/java/eta/runtime/apply/PAP1_1.java @@ -1,7 +1,8 @@ package eta.runtime.apply; +import eta.Function; import eta.runtime.stg.Print; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; public class PAP1_1 extends PAP { diff --git a/rts/src/main/java/eta/runtime/apply/PAPSlow.java b/rts/src/main/java/eta/runtime/apply/PAPSlow.java index 77227601..922e08d3 100644 --- a/rts/src/main/java/eta/runtime/apply/PAPSlow.java +++ b/rts/src/main/java/eta/runtime/apply/PAPSlow.java @@ -1,10 +1,10 @@ package eta.runtime.apply; -import eta.runtime.stg.Value; -import eta.runtime.stg.Closure; +import eta.Function; +import eta.Closure; import eta.runtime.stg.StgContext; import eta.runtime.stg.ArgumentStack; -import static eta.runtime.RuntimeLogging.barf; + import static eta.runtime.stg.ArgumentStack.*; public class PAPSlow extends PAP { diff --git a/rts/src/main/java/eta/runtime/concurrent/Concurrent.java b/rts/src/main/java/eta/runtime/concurrent/Concurrent.java index 0b3a5903..cc913c77 100644 --- a/rts/src/main/java/eta/runtime/concurrent/Concurrent.java +++ b/rts/src/main/java/eta/runtime/concurrent/Concurrent.java @@ -16,15 +16,13 @@ import java.nio.channels.SelectionKey; import java.nio.channels.SelectableChannel; import java.nio.channels.ClosedChannelException; - import eta.runtime.Runtime; -import eta.runtime.stg.Stg; -import eta.runtime.stg.Capability; +import eta.runtime.Capability; import eta.runtime.stg.TSO; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; import eta.runtime.io.MemoryManager; -import eta.runtime.exception.Exception; +import eta.exception.Exception; import static eta.runtime.RuntimeLogging.barf; import static eta.runtime.stg.TSO.*; import static eta.runtime.stg.TSO.WhyBlocked; diff --git a/rts/src/main/java/eta/runtime/concurrent/MVar.java b/rts/src/main/java/eta/runtime/concurrent/MVar.java index dc6f5528..d3cf8eed 100644 --- a/rts/src/main/java/eta/runtime/concurrent/MVar.java +++ b/rts/src/main/java/eta/runtime/concurrent/MVar.java @@ -1,12 +1,9 @@ package eta.runtime.concurrent; -import java.util.Queue; -import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; - import eta.runtime.stg.TSO; -import eta.runtime.stg.Closure; -import eta.runtime.stg.Value; +import eta.Closure; +import eta.Value; import eta.runtime.util.UnsafeUtil; import static eta.runtime.util.UnsafeUtil.UNSAFE; diff --git a/rts/src/main/java/eta/runtime/concurrent/OSThread.java b/rts/src/main/java/eta/runtime/concurrent/OSThread.java index 1a6c98fa..907b64cf 100644 --- a/rts/src/main/java/eta/runtime/concurrent/OSThread.java +++ b/rts/src/main/java/eta/runtime/concurrent/OSThread.java @@ -1,7 +1,6 @@ package eta.runtime.concurrent; import eta.runtime.Runtime; -import eta.runtime.stg.Capability; public class OSThread extends Thread { diff --git a/rts/src/main/java/eta/runtime/concurrent/WorkerThread.java b/rts/src/main/java/eta/runtime/concurrent/WorkerThread.java index 6395e095..40eb4b39 100644 --- a/rts/src/main/java/eta/runtime/concurrent/WorkerThread.java +++ b/rts/src/main/java/eta/runtime/concurrent/WorkerThread.java @@ -1,6 +1,6 @@ package eta.runtime.concurrent; -import eta.runtime.stg.Capability; +import eta.runtime.Capability; public class WorkerThread extends Thread { diff --git a/rts/src/main/java/eta/runtime/exception/EtaAsyncException.java b/rts/src/main/java/eta/runtime/exception/EtaAsyncException.java index eb72f2d5..5c2f9622 100644 --- a/rts/src/main/java/eta/runtime/exception/EtaAsyncException.java +++ b/rts/src/main/java/eta/runtime/exception/EtaAsyncException.java @@ -1,6 +1,6 @@ package eta.runtime.exception; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.Closures; import eta.runtime.thunk.UpdateInfo; diff --git a/rts/src/main/java/eta/runtime/exception/Raise.java b/rts/src/main/java/eta/runtime/exception/Raise.java index 026c1ff4..4187b0dc 100644 --- a/rts/src/main/java/eta/runtime/exception/Raise.java +++ b/rts/src/main/java/eta/runtime/exception/Raise.java @@ -1,6 +1,7 @@ package eta.runtime.exception; -import eta.runtime.stg.Closure; +import eta.exception.Exception; +import eta.Closure; import eta.runtime.stg.StgContext; import eta.runtime.thunk.SingleEntryThunk; diff --git a/rts/src/main/java/eta/runtime/interpreter/BCO.java b/rts/src/main/java/eta/runtime/interpreter/BCO.java index f87cf990..d1629fb7 100644 --- a/rts/src/main/java/eta/runtime/interpreter/BCO.java +++ b/rts/src/main/java/eta/runtime/interpreter/BCO.java @@ -1,13 +1,9 @@ package eta.runtime.interpreter; -import eta.runtime.stg.Value; -import eta.runtime.stg.StgContext; -import eta.runtime.stg.Closure; +import eta.Value; import eta.runtime.io.Array; import eta.runtime.io.ByteArray; -import static eta.runtime.RuntimeLogging.barf; - public class BCO extends Value { public final ByteArray instrs; public final ByteArray literals; diff --git a/rts/src/main/java/eta/runtime/interpreter/Interpreter.java b/rts/src/main/java/eta/runtime/interpreter/Interpreter.java index 41c3e296..c92cd517 100644 --- a/rts/src/main/java/eta/runtime/interpreter/Interpreter.java +++ b/rts/src/main/java/eta/runtime/interpreter/Interpreter.java @@ -1,8 +1,6 @@ package eta.runtime.interpreter; -import eta.runtime.stg.Closure; -import eta.runtime.stg.Capability; -import eta.runtime.stg.TSO; +import eta.runtime.Capability; import eta.runtime.stg.StgContext; import eta.runtime.io.Array; import eta.runtime.io.ByteArray; diff --git a/rts/src/main/java/eta/runtime/io/Array.java b/rts/src/main/java/eta/runtime/io/Array.java index 938a30e5..8ffe578f 100644 --- a/rts/src/main/java/eta/runtime/io/Array.java +++ b/rts/src/main/java/eta/runtime/io/Array.java @@ -1,7 +1,7 @@ package eta.runtime.io; -import eta.runtime.stg.Closure; -import eta.runtime.stg.Value; +import eta.Closure; +import eta.Value; public final class Array extends Value { public Closure[] arr; diff --git a/rts/src/main/java/eta/runtime/io/ByteArray.java b/rts/src/main/java/eta/runtime/io/ByteArray.java index e271c0ee..60131d7f 100644 --- a/rts/src/main/java/eta/runtime/io/ByteArray.java +++ b/rts/src/main/java/eta/runtime/io/ByteArray.java @@ -1,16 +1,8 @@ package eta.runtime.io; import java.util.Arrays; -import java.util.TreeMap; -import java.util.Map; import java.nio.ByteBuffer; -import java.lang.ref.WeakReference; - -import eta.runtime.stg.Closure; -import eta.runtime.stg.TSO; -import eta.runtime.stg.StgContext; -import eta.runtime.stg.Value; -import static eta.runtime.RuntimeLogging.barf; +import eta.Value; public final class ByteArray extends Value { diff --git a/rts/src/main/java/eta/runtime/io/IO.java b/rts/src/main/java/eta/runtime/io/IO.java index 36c7f15c..38939aca 100644 --- a/rts/src/main/java/eta/runtime/io/IO.java +++ b/rts/src/main/java/eta/runtime/io/IO.java @@ -3,11 +3,9 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; - import java.lang.ref.ReferenceQueue; import java.lang.ref.PhantomReference; - -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; import eta.runtime.stg.TSO; import eta.runtime.thunk.Ap2Upd; diff --git a/rts/src/main/java/eta/runtime/io/MemoryManager.java b/rts/src/main/java/eta/runtime/io/MemoryManager.java index 47070813..a5beaa06 100644 --- a/rts/src/main/java/eta/runtime/io/MemoryManager.java +++ b/rts/src/main/java/eta/runtime/io/MemoryManager.java @@ -1,29 +1,13 @@ package eta.runtime.io; -import java.util.List; -import java.util.Arrays; -import java.util.ArrayList; -import java.util.Map; -import java.util.Queue; -import java.util.NavigableMap; -import java.util.IdentityHashMap; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.ConcurrentSkipListMap; -import java.util.concurrent.atomic.AtomicBoolean; - import java.io.UnsupportedEncodingException; - import java.nio.ByteBuffer; - -import eta.runtime.Runtime; -import eta.runtime.stg.Capability; +import eta.runtime.Capability; import eta.runtime.stg.WeakPtr; import eta.runtime.storage.ManagedHeap; import eta.runtime.storage.CachedBlock; import eta.runtime.storage.Block; -import static eta.runtime.RuntimeLogging.barf; -import static eta.runtime.RuntimeLogging.debugMemoryManager; public class MemoryManager { diff --git a/rts/src/main/java/eta/runtime/io/MutVar.java b/rts/src/main/java/eta/runtime/io/MutVar.java index 8ce801ab..c864e6c6 100644 --- a/rts/src/main/java/eta/runtime/io/MutVar.java +++ b/rts/src/main/java/eta/runtime/io/MutVar.java @@ -1,10 +1,8 @@ package eta.runtime.io; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; - -import eta.runtime.stg.Closure; -import eta.runtime.stg.StgContext; -import eta.runtime.stg.Value; +import eta.Closure; +import eta.Value; import eta.runtime.util.UnsafeUtil; import static eta.runtime.util.UnsafeUtil.UNSAFE; diff --git a/rts/src/main/java/eta/runtime/message/Message.java b/rts/src/main/java/eta/runtime/message/Message.java index db68678a..ae718dfe 100644 --- a/rts/src/main/java/eta/runtime/message/Message.java +++ b/rts/src/main/java/eta/runtime/message/Message.java @@ -1,6 +1,6 @@ package eta.runtime.message; -import eta.runtime.stg.Capability; +import eta.runtime.Capability; public abstract class Message { protected volatile boolean valid = true; diff --git a/rts/src/main/java/eta/runtime/message/MessageBlackHole.java b/rts/src/main/java/eta/runtime/message/MessageBlackHole.java index c9af4531..2c90d477 100644 --- a/rts/src/main/java/eta/runtime/message/MessageBlackHole.java +++ b/rts/src/main/java/eta/runtime/message/MessageBlackHole.java @@ -1,8 +1,8 @@ package eta.runtime.message; import eta.runtime.stg.TSO; -import eta.runtime.stg.Capability; -import eta.runtime.thunk.Thunk; +import eta.runtime.Capability; +import eta.Thunk; public final class MessageBlackHole extends Message { diff --git a/rts/src/main/java/eta/runtime/message/MessageShutdown.java b/rts/src/main/java/eta/runtime/message/MessageShutdown.java index c375283b..b7f7b550 100644 --- a/rts/src/main/java/eta/runtime/message/MessageShutdown.java +++ b/rts/src/main/java/eta/runtime/message/MessageShutdown.java @@ -1,6 +1,6 @@ package eta.runtime.message; -import eta.runtime.stg.Capability; +import eta.runtime.Capability; public class MessageShutdown extends Message { diff --git a/rts/src/main/java/eta/runtime/message/MessageThrowTo.java b/rts/src/main/java/eta/runtime/message/MessageThrowTo.java index f73b0292..42df2b06 100644 --- a/rts/src/main/java/eta/runtime/message/MessageThrowTo.java +++ b/rts/src/main/java/eta/runtime/message/MessageThrowTo.java @@ -3,11 +3,10 @@ import java.util.concurrent.atomic.AtomicBoolean; import eta.runtime.stg.TSO; -import eta.runtime.stg.Capability; -import eta.runtime.stg.Closure; -import eta.runtime.exception.Exception; +import eta.runtime.Capability; +import eta.Closure; +import eta.exception.Exception; import static eta.runtime.stg.TSO.WhyBlocked.*; -import static eta.runtime.concurrent.Concurrent.SPIN_COUNT; public class MessageThrowTo extends Message { public final TSO source; diff --git a/rts/src/main/java/eta/runtime/message/MessageWakeup.java b/rts/src/main/java/eta/runtime/message/MessageWakeup.java index 4335aa52..8b8113e4 100644 --- a/rts/src/main/java/eta/runtime/message/MessageWakeup.java +++ b/rts/src/main/java/eta/runtime/message/MessageWakeup.java @@ -1,7 +1,7 @@ package eta.runtime.message; import eta.runtime.stg.TSO; -import eta.runtime.stg.Capability; +import eta.runtime.Capability; public final class MessageWakeup extends Message { diff --git a/rts/src/main/java/eta/runtime/parallel/Parallel.java b/rts/src/main/java/eta/runtime/parallel/Parallel.java index b3fbad8f..559940d8 100644 --- a/rts/src/main/java/eta/runtime/parallel/Parallel.java +++ b/rts/src/main/java/eta/runtime/parallel/Parallel.java @@ -2,13 +2,11 @@ import java.util.Deque; import java.util.concurrent.LinkedBlockingDeque; - import eta.runtime.Runtime; -import eta.runtime.stg.Capability; -import eta.runtime.stg.Closure; +import eta.runtime.Capability; +import eta.Closure; import eta.runtime.stg.Closures; import eta.runtime.stg.StgContext; -import static eta.runtime.RuntimeLogging.barf; import static eta.runtime.RuntimeLogging.debugScheduler; public class Parallel { diff --git a/rts/src/main/java/eta/runtime/stg/ArgumentStack.java b/rts/src/main/java/eta/runtime/stg/ArgumentStack.java index 541cf505..1de2373e 100644 --- a/rts/src/main/java/eta/runtime/stg/ArgumentStack.java +++ b/rts/src/main/java/eta/runtime/stg/ArgumentStack.java @@ -1,5 +1,6 @@ package eta.runtime.stg; +import eta.Closure; import java.util.Arrays; public class ArgumentStack implements Cloneable { diff --git a/rts/src/main/java/eta/runtime/stg/Closures.java b/rts/src/main/java/eta/runtime/stg/Closures.java index 4df85c33..21d327ba 100644 --- a/rts/src/main/java/eta/runtime/stg/Closures.java +++ b/rts/src/main/java/eta/runtime/stg/Closures.java @@ -2,7 +2,7 @@ import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; - +import eta.Closure; import eta.runtime.thunk.ApO; import eta.runtime.thunk.Ap1Upd; import eta.runtime.thunk.Ap2Upd; @@ -11,8 +11,6 @@ import eta.runtime.thunk.Ap5Upd; import eta.runtime.thunk.Ap6Upd; import eta.runtime.thunk.Ap7Upd; -import eta.runtime.exception.EtaException; -import eta.runtime.exception.EtaAsyncException; import static eta.runtime.stg.TSO.WhatNext.*; /* - Utilies for working with Closures from the Java side. diff --git a/rts/src/main/java/eta/runtime/stg/FunPtr.java b/rts/src/main/java/eta/runtime/stg/FunPtr.java index debf6598..135cb023 100644 --- a/rts/src/main/java/eta/runtime/stg/FunPtr.java +++ b/rts/src/main/java/eta/runtime/stg/FunPtr.java @@ -1,7 +1,6 @@ package eta.runtime.stg; import java.lang.reflect.Method; - import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicLong; diff --git a/rts/src/main/java/eta/runtime/stg/Print.java b/rts/src/main/java/eta/runtime/stg/Print.java index 4f1b9c2d..3ed57452 100644 --- a/rts/src/main/java/eta/runtime/stg/Print.java +++ b/rts/src/main/java/eta/runtime/stg/Print.java @@ -1,7 +1,7 @@ package eta.runtime.stg; +import eta.Closure; import java.lang.reflect.Field; - import java.util.Arrays; import java.util.regex.Pattern; import java.util.regex.Matcher; diff --git a/rts/src/main/java/eta/runtime/stg/StablePtrTable.java b/rts/src/main/java/eta/runtime/stg/StablePtrTable.java index 1b823fd9..975b3eaa 100644 --- a/rts/src/main/java/eta/runtime/stg/StablePtrTable.java +++ b/rts/src/main/java/eta/runtime/stg/StablePtrTable.java @@ -5,9 +5,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicInteger; -import java.nio.ByteBuffer; - -import eta.runtime.stg.Closure; +import eta.Closure; public class StablePtrTable { diff --git a/rts/src/main/java/eta/runtime/stg/Stg.java b/rts/src/main/java/eta/runtime/stg/Stg.java index 767e8113..866abcc2 100644 --- a/rts/src/main/java/eta/runtime/stg/Stg.java +++ b/rts/src/main/java/eta/runtime/stg/Stg.java @@ -1,5 +1,7 @@ package eta.runtime.stg; +import eta.Closure; +import eta.runtime.Capability; import eta.runtime.Runtime; import eta.runtime.thunk.*; import eta.runtime.exception.TrampolineBounceException; diff --git a/rts/src/main/java/eta/runtime/stg/StgContext.java b/rts/src/main/java/eta/runtime/stg/StgContext.java index a493a688..461d483c 100644 --- a/rts/src/main/java/eta/runtime/stg/StgContext.java +++ b/rts/src/main/java/eta/runtime/stg/StgContext.java @@ -1,10 +1,10 @@ package eta.runtime.stg; import java.util.Arrays; - -import eta.runtime.thunk.Thunk; +import eta.Closure; +import eta.Thunk; +import eta.runtime.Capability; import eta.runtime.thunk.UpdateInfo; - import static eta.runtime.RuntimeLogging.barf; import static eta.runtime.stg.ArgumentStack.*; diff --git a/rts/src/main/java/eta/runtime/stg/TSO.java b/rts/src/main/java/eta/runtime/stg/TSO.java index bef3c855..b6ef49f9 100644 --- a/rts/src/main/java/eta/runtime/stg/TSO.java +++ b/rts/src/main/java/eta/runtime/stg/TSO.java @@ -1,19 +1,14 @@ package eta.runtime.stg; -import java.util.Stack; -import java.util.Deque; import java.util.Queue; -import java.util.ArrayDeque; -import java.util.List; import java.util.LinkedList; -import java.util.ListIterator; -import java.util.ArrayList; import java.util.HashMap; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicBoolean; - -import eta.runtime.exception.Exception; +import eta.Closure; +import eta.exception.Exception; +import eta.runtime.Capability; import eta.runtime.message.MessageThrowTo; import eta.runtime.stm.STM; import eta.runtime.stm.TransactionRecord; @@ -21,7 +16,6 @@ import eta.runtime.thunk.UpdateInfoStack; import eta.runtime.thunk.BlockingQueue; import static eta.runtime.RuntimeLogging.barf; -import static eta.runtime.RuntimeLogging.debugBelch; import static eta.runtime.stg.TSO.WhatNext.*; import static eta.runtime.stg.TSO.WhyBlocked.*; diff --git a/rts/src/main/java/eta/runtime/stg/WeakPtr.java b/rts/src/main/java/eta/runtime/stg/WeakPtr.java index 8172bacd..632865a1 100644 --- a/rts/src/main/java/eta/runtime/stg/WeakPtr.java +++ b/rts/src/main/java/eta/runtime/stg/WeakPtr.java @@ -9,13 +9,11 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedDeque; import java.util.concurrent.atomic.AtomicBoolean; - +import eta.Value; import eta.runtime.Runtime; -import eta.runtime.stg.Closure; -import eta.runtime.stg.StgContext; +import eta.Closure; import eta.runtime.io.Array; import eta.runtime.concurrent.Concurrent; -import static eta.runtime.RuntimeLogging.barf; public final class WeakPtr extends Value { public WeakReference key; diff --git a/rts/src/main/java/eta/runtime/stm/AtomicInvariant.java b/rts/src/main/java/eta/runtime/stm/AtomicInvariant.java index 407cb5d9..4ac3b5bd 100644 --- a/rts/src/main/java/eta/runtime/stm/AtomicInvariant.java +++ b/rts/src/main/java/eta/runtime/stm/AtomicInvariant.java @@ -1,10 +1,7 @@ package eta.runtime.stm; -import java.util.Stack; -import java.util.ListIterator; import java.util.concurrent.atomic.AtomicBoolean; - -import eta.runtime.stg.Closure; +import eta.Closure; public class AtomicInvariant { public Closure code; diff --git a/rts/src/main/java/eta/runtime/stm/STM.java b/rts/src/main/java/eta/runtime/stm/STM.java index 06a9315e..df02ae0b 100644 --- a/rts/src/main/java/eta/runtime/stm/STM.java +++ b/rts/src/main/java/eta/runtime/stm/STM.java @@ -2,16 +2,14 @@ import java.util.Queue; import java.util.LinkedList; -import java.util.concurrent.atomic.AtomicBoolean; - +import eta.exception.EtaException; import eta.runtime.stg.TSO; -import eta.runtime.stg.Capability; -import eta.runtime.stg.Closure; +import eta.runtime.Capability; +import eta.Closure; import eta.runtime.stg.Closures; import eta.runtime.stg.StgContext; -import eta.runtime.exception.Exception; +import eta.exception.Exception; import eta.runtime.exception.StgException; -import eta.runtime.exception.EtaException; import eta.runtime.exception.EtaAsyncException; import eta.runtime.exception.RetryException; diff --git a/rts/src/main/java/eta/runtime/stm/TVar.java b/rts/src/main/java/eta/runtime/stm/TVar.java index e3364197..bc7acc25 100644 --- a/rts/src/main/java/eta/runtime/stm/TVar.java +++ b/rts/src/main/java/eta/runtime/stm/TVar.java @@ -3,15 +3,12 @@ import java.util.Set; import java.util.LinkedHashSet; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; - -import eta.runtime.stg.Capability; -import eta.runtime.stg.Closure; -import eta.runtime.stg.StgContext; +import eta.runtime.Capability; +import eta.Closure; import eta.runtime.stg.TSO; -import eta.runtime.stg.Value; +import eta.Value; import eta.runtime.util.UnsafeUtil; import static eta.runtime.util.UnsafeUtil.UNSAFE; -import static eta.runtime.RuntimeLogging.barf; public class TVar extends Value { public volatile Closure currentValue; diff --git a/rts/src/main/java/eta/runtime/stm/TransactionEntry.java b/rts/src/main/java/eta/runtime/stm/TransactionEntry.java index e5e477db..c835ec59 100644 --- a/rts/src/main/java/eta/runtime/stm/TransactionEntry.java +++ b/rts/src/main/java/eta/runtime/stm/TransactionEntry.java @@ -1,6 +1,6 @@ package eta.runtime.stm; -import eta.runtime.stg.Closure; +import eta.Closure; public class TransactionEntry { public TVar tvar; diff --git a/rts/src/main/java/eta/runtime/stm/TransactionRecord.java b/rts/src/main/java/eta/runtime/stm/TransactionRecord.java index c236f551..3ca4ec01 100644 --- a/rts/src/main/java/eta/runtime/stm/TransactionRecord.java +++ b/rts/src/main/java/eta/runtime/stm/TransactionRecord.java @@ -4,16 +4,11 @@ import java.util.Map; import java.util.HashMap; import java.util.Iterator; -import java.util.Queue; import java.util.LinkedHashMap; - -import eta.runtime.stg.Value; -import eta.runtime.stg.Capability; -import eta.runtime.stg.Closure; -import eta.runtime.stg.StgContext; +import eta.Value; +import eta.runtime.Capability; +import eta.Closure; import eta.runtime.stg.TSO; - -import static eta.runtime.RuntimeLogging.barf; import static eta.runtime.stm.TransactionRecord.State.*; public class TransactionRecord extends Value implements Iterable { diff --git a/rts/src/main/java/eta/runtime/storage/Block.java b/rts/src/main/java/eta/runtime/storage/Block.java index d8deac6e..32dda190 100644 --- a/rts/src/main/java/eta/runtime/storage/Block.java +++ b/rts/src/main/java/eta/runtime/storage/Block.java @@ -2,8 +2,7 @@ import java.util.List; import java.nio.ByteBuffer; - -import eta.runtime.stg.Capability; +import eta.runtime.Capability; public class Block { private long startAddress; diff --git a/rts/src/main/java/eta/runtime/storage/BlockStats.java b/rts/src/main/java/eta/runtime/storage/BlockStats.java index 6fcca2ab..13c10e65 100644 --- a/rts/src/main/java/eta/runtime/storage/BlockStats.java +++ b/rts/src/main/java/eta/runtime/storage/BlockStats.java @@ -1,7 +1,6 @@ package eta.runtime.storage; import java.util.List; - import static eta.runtime.util.Report.*; public class BlockStats { diff --git a/rts/src/main/java/eta/runtime/storage/HeapStats.java b/rts/src/main/java/eta/runtime/storage/HeapStats.java index 3e06a2a5..c6d33f92 100644 --- a/rts/src/main/java/eta/runtime/storage/HeapStats.java +++ b/rts/src/main/java/eta/runtime/storage/HeapStats.java @@ -1,7 +1,6 @@ package eta.runtime.storage; import java.util.List; - import static eta.runtime.util.Report.*; public class HeapStats { diff --git a/rts/src/main/java/eta/runtime/storage/NurseryStats.java b/rts/src/main/java/eta/runtime/storage/NurseryStats.java index 9a26e697..e32b8191 100644 --- a/rts/src/main/java/eta/runtime/storage/NurseryStats.java +++ b/rts/src/main/java/eta/runtime/storage/NurseryStats.java @@ -1,7 +1,6 @@ package eta.runtime.storage; import java.util.List; - import static eta.runtime.util.Report.*; public class NurseryStats { diff --git a/rts/src/main/java/eta/runtime/storage/Span.java b/rts/src/main/java/eta/runtime/storage/Span.java index 396f05c7..6156cb23 100644 --- a/rts/src/main/java/eta/runtime/storage/Span.java +++ b/rts/src/main/java/eta/runtime/storage/Span.java @@ -1,7 +1,6 @@ package eta.runtime.storage; import java.util.Arrays; - import static eta.runtime.util.Report.*; public class Span { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap1Upd.java b/rts/src/main/java/eta/runtime/thunk/Ap1Upd.java index 917440b9..70f24621 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap1Upd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap1Upd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap1Upd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap1VUpd.java b/rts/src/main/java/eta/runtime/thunk/Ap1VUpd.java index efe270b4..10512090 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap1VUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap1VUpd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap1VUpd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap2Upd.java b/rts/src/main/java/eta/runtime/thunk/Ap2Upd.java index 639a0a04..ebf4a5c9 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap2Upd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap2Upd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap2Upd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap2VUpd.java b/rts/src/main/java/eta/runtime/thunk/Ap2VUpd.java index 3d0367aa..07898205 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap2VUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap2VUpd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap2VUpd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap3Upd.java b/rts/src/main/java/eta/runtime/thunk/Ap3Upd.java index ee314565..b4a089b6 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap3Upd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap3Upd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap3Upd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap3VUpd.java b/rts/src/main/java/eta/runtime/thunk/Ap3VUpd.java index 67bc7be5..31e7141e 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap3VUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap3VUpd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap3VUpd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap4Upd.java b/rts/src/main/java/eta/runtime/thunk/Ap4Upd.java index 374a3524..dfa5e8f5 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap4Upd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap4Upd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap4Upd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap4VUpd.java b/rts/src/main/java/eta/runtime/thunk/Ap4VUpd.java index 7fe0aa9e..c067b098 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap4VUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap4VUpd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap4VUpd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap5Upd.java b/rts/src/main/java/eta/runtime/thunk/Ap5Upd.java index 93772e64..34581906 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap5Upd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap5Upd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap5Upd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap6Upd.java b/rts/src/main/java/eta/runtime/thunk/Ap6Upd.java index 73ddb75e..a655dce9 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap6Upd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap6Upd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap6Upd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/Ap7Upd.java b/rts/src/main/java/eta/runtime/thunk/Ap7Upd.java index 9cb7f105..91ffcbc1 100644 --- a/rts/src/main/java/eta/runtime/thunk/Ap7Upd.java +++ b/rts/src/main/java/eta/runtime/thunk/Ap7Upd.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class Ap7Upd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/ApD.java b/rts/src/main/java/eta/runtime/thunk/ApD.java index 0a0fbcfe..94adbaf0 100644 --- a/rts/src/main/java/eta/runtime/thunk/ApD.java +++ b/rts/src/main/java/eta/runtime/thunk/ApD.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class ApD extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/ApF.java b/rts/src/main/java/eta/runtime/thunk/ApF.java index b196d8cc..1f8335de 100644 --- a/rts/src/main/java/eta/runtime/thunk/ApF.java +++ b/rts/src/main/java/eta/runtime/thunk/ApF.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class ApF extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/ApI.java b/rts/src/main/java/eta/runtime/thunk/ApI.java index a93c2b60..e78fb5e3 100644 --- a/rts/src/main/java/eta/runtime/thunk/ApI.java +++ b/rts/src/main/java/eta/runtime/thunk/ApI.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class ApI extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/ApL.java b/rts/src/main/java/eta/runtime/thunk/ApL.java index fd474a04..ec860670 100644 --- a/rts/src/main/java/eta/runtime/thunk/ApL.java +++ b/rts/src/main/java/eta/runtime/thunk/ApL.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class ApL extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/ApO.java b/rts/src/main/java/eta/runtime/thunk/ApO.java index 7f96c8a0..1e14402c 100644 --- a/rts/src/main/java/eta/runtime/thunk/ApO.java +++ b/rts/src/main/java/eta/runtime/thunk/ApO.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class ApO extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/ApV.java b/rts/src/main/java/eta/runtime/thunk/ApV.java index 8b181420..5a0847d4 100644 --- a/rts/src/main/java/eta/runtime/thunk/ApV.java +++ b/rts/src/main/java/eta/runtime/thunk/ApV.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public class ApV extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/BlackHole.java b/rts/src/main/java/eta/runtime/thunk/BlackHole.java index 05399f13..ef8a73aa 100644 --- a/rts/src/main/java/eta/runtime/thunk/BlackHole.java +++ b/rts/src/main/java/eta/runtime/thunk/BlackHole.java @@ -1,8 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; - import static eta.runtime.RuntimeLogging.barf; public abstract class BlackHole extends Closure { diff --git a/rts/src/main/java/eta/runtime/thunk/BlockingQueue.java b/rts/src/main/java/eta/runtime/thunk/BlockingQueue.java index 071c063d..799ab321 100644 --- a/rts/src/main/java/eta/runtime/thunk/BlockingQueue.java +++ b/rts/src/main/java/eta/runtime/thunk/BlockingQueue.java @@ -1,16 +1,7 @@ package eta.runtime.thunk; -import java.util.ArrayDeque; -import java.util.Iterator; -import java.util.Queue; - -import eta.runtime.stg.Capability; -import eta.runtime.stg.Closure; -import eta.runtime.stg.StgContext; +import eta.Thunk; import eta.runtime.stg.TSO; -import eta.runtime.thunk.Thunk; -import eta.runtime.message.MessageBlackHole; -import static eta.runtime.RuntimeLogging.barf; public class BlockingQueue extends BlackHole { public final TSO owner; diff --git a/rts/src/main/java/eta/runtime/thunk/CAF.java b/rts/src/main/java/eta/runtime/thunk/CAF.java index 41122109..173cf7cb 100644 --- a/rts/src/main/java/eta/runtime/thunk/CAF.java +++ b/rts/src/main/java/eta/runtime/thunk/CAF.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.Thunk; import eta.runtime.stg.StgContext; import eta.runtime.stg.TSO; diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorDNoUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorDNoUpd.java index 60f3e4c4..bc40b3cf 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorDNoUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorDNoUpd.java @@ -1,8 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; +import eta.DataCon; public class SelectorDNoUpd extends SelectorNoUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorDUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorDUpd.java index 5779c187..d4767950 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorDUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorDUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorDUpd extends SelectorUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorFNoUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorFNoUpd.java index d6455329..567d4529 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorFNoUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorFNoUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorFNoUpd extends SelectorNoUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorFUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorFUpd.java index b17e4d72..b67ebb43 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorFUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorFUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorFUpd extends SelectorUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorLNoUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorLNoUpd.java index 42c8fdb4..3195a969 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorLNoUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorLNoUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorLNoUpd extends SelectorNoUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorLUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorLUpd.java index 92330f6d..efe93b72 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorLUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorLUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorLUpd extends SelectorUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorNNoUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorNNoUpd.java index a5f1f1e5..b96cad01 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorNNoUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorNNoUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorNNoUpd extends SelectorNoUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorNUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorNUpd.java index 395032a4..edd8f839 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorNUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorNUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorNUpd extends SelectorUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorNoUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorNoUpd.java index 29c78993..600674e3 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorNoUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorNoUpd.java @@ -1,7 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; -import eta.runtime.stg.DataCon; +import eta.Closure; +import eta.DataCon; import eta.runtime.stg.StgContext; public abstract class SelectorNoUpd extends SingleEntryThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorONoUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorONoUpd.java index 19c24bf9..6b13767e 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorONoUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorONoUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorONoUpd extends SelectorNoUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorOUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorOUpd.java index 32e9bd60..e5e7080c 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorOUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorOUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorOUpd extends SelectorUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorPNoUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorPNoUpd.java index 3a340dc7..e643e00f 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorPNoUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorPNoUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorPNoUpd extends SelectorNoUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorPUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorPUpd.java index 4e46bb25..28e5c232 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorPUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorPUpd.java @@ -1,9 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; import eta.runtime.stg.StgContext; -import eta.runtime.stg.DataCon; - +import eta.DataCon; public class SelectorPUpd extends SelectorUpd { diff --git a/rts/src/main/java/eta/runtime/thunk/SelectorUpd.java b/rts/src/main/java/eta/runtime/thunk/SelectorUpd.java index 2549462b..436ed97a 100644 --- a/rts/src/main/java/eta/runtime/thunk/SelectorUpd.java +++ b/rts/src/main/java/eta/runtime/thunk/SelectorUpd.java @@ -1,7 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; -import eta.runtime.stg.DataCon; +import eta.Closure; +import eta.DataCon; +import eta.UpdatableThunk; import eta.runtime.stg.StgContext; public abstract class SelectorUpd extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk.java b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk.java index 2830e9e9..74794f53 100644 --- a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk.java +++ b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.Thunk; import eta.runtime.stg.StgContext; public abstract class SingleEntryThunk extends Thunk { diff --git a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk0.java b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk0.java index 797289a7..3587fb64 100644 --- a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk0.java +++ b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk0.java @@ -1,6 +1,5 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; public abstract class SingleEntryThunk0 extends SingleEntryThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk1.java b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk1.java index e5d42fe8..c3922808 100644 --- a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk1.java +++ b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk1.java @@ -1,6 +1,6 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; public abstract class SingleEntryThunk1 extends SingleEntryThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk2.java b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk2.java index 760813be..7285dd30 100644 --- a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk2.java +++ b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk2.java @@ -1,6 +1,6 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; public abstract class SingleEntryThunk2 extends SingleEntryThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk3.java b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk3.java index 0e1cdf42..dc96d134 100644 --- a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk3.java +++ b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk3.java @@ -1,6 +1,6 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; public abstract class SingleEntryThunk3 extends SingleEntryThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk4.java b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk4.java index 2d1f4b28..1294953d 100644 --- a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk4.java +++ b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk4.java @@ -1,6 +1,6 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; public abstract class SingleEntryThunk4 extends SingleEntryThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk5.java b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk5.java index bab21c74..49cdb5e8 100644 --- a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk5.java +++ b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk5.java @@ -1,6 +1,6 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; public abstract class SingleEntryThunk5 extends SingleEntryThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk6.java b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk6.java index 449b7cce..d1f5d142 100644 --- a/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk6.java +++ b/rts/src/main/java/eta/runtime/thunk/SingleEntryThunk6.java @@ -1,6 +1,6 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; public abstract class SingleEntryThunk6 extends SingleEntryThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/Thunks.java b/rts/src/main/java/eta/runtime/thunk/Thunks.java index c79129ad..e660fc52 100644 --- a/rts/src/main/java/eta/runtime/thunk/Thunks.java +++ b/rts/src/main/java/eta/runtime/thunk/Thunks.java @@ -1,7 +1,7 @@ package eta.runtime.thunk; +import eta.Thunk; import java.lang.reflect.Field; -import java.lang.reflect.Modifier; import java.util.WeakHashMap; public class Thunks { diff --git a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk0.java b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk0.java index d47aef82..69ca8813 100644 --- a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk0.java +++ b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk0.java @@ -1,6 +1,6 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.UpdatableThunk; public abstract class UpdatableThunk0 extends UpdatableThunk { diff --git a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk1.java b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk1.java index ea49a734..bbb59bb6 100644 --- a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk1.java +++ b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk1.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; public abstract class UpdatableThunk1 extends UpdatableThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk2.java b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk2.java index 4bc3b08c..458ecb78 100644 --- a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk2.java +++ b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk2.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; public abstract class UpdatableThunk2 extends UpdatableThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk3.java b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk3.java index 6fab58c0..9a21d114 100644 --- a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk3.java +++ b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk3.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; public abstract class UpdatableThunk3 extends UpdatableThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk4.java b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk4.java index 6ee59166..53c5aea7 100644 --- a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk4.java +++ b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk4.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; public abstract class UpdatableThunk4 extends UpdatableThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk5.java b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk5.java index 2bf9534e..95b56da8 100644 --- a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk5.java +++ b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk5.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; public abstract class UpdatableThunk5 extends UpdatableThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk6.java b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk6.java index 657c7fcd..a93e0adc 100644 --- a/rts/src/main/java/eta/runtime/thunk/UpdatableThunk6.java +++ b/rts/src/main/java/eta/runtime/thunk/UpdatableThunk6.java @@ -1,6 +1,7 @@ package eta.runtime.thunk; -import eta.runtime.stg.Closure; +import eta.Closure; +import eta.UpdatableThunk; public abstract class UpdatableThunk6 extends UpdatableThunk { public Closure x1; diff --git a/rts/src/main/java/eta/runtime/thunk/UpdateInfo.java b/rts/src/main/java/eta/runtime/thunk/UpdateInfo.java index 0c4c0229..0bcc65c6 100644 --- a/rts/src/main/java/eta/runtime/thunk/UpdateInfo.java +++ b/rts/src/main/java/eta/runtime/thunk/UpdateInfo.java @@ -1,11 +1,29 @@ package eta.runtime.thunk; +import eta.Thunk; + public class UpdateInfo { - Thunk updatee; - boolean marked; + private Thunk updatee; + private boolean marked; UpdateInfo next; UpdateInfo prev; + public Thunk getUpdatee() { + return updatee; + } + + public void setUpdatee(Thunk updatee) { + this.updatee = updatee; + } + + public boolean isMarked() { + return marked; + } + + public void setMarked(boolean marked) { + this.marked = marked; + } + public UpdateInfo(Thunk updatee) { this.updatee = updatee; } diff --git a/rts/src/main/java/eta/runtime/thunk/UpdateInfoStack.java b/rts/src/main/java/eta/runtime/thunk/UpdateInfoStack.java index 37cd35b7..74a84f90 100644 --- a/rts/src/main/java/eta/runtime/thunk/UpdateInfoStack.java +++ b/rts/src/main/java/eta/runtime/thunk/UpdateInfoStack.java @@ -1,7 +1,8 @@ package eta.runtime.thunk; -import eta.runtime.stg.Capability; -import eta.runtime.stg.Closure; +import eta.Thunk; +import eta.runtime.Capability; +import eta.Closure; import eta.runtime.stg.TSO; import static eta.runtime.stg.TSO.WhyBlocked.*; @@ -47,14 +48,14 @@ private final UpdateInfo acquireUpdateInfo(Thunk updatee) { private final UpdateInfo grabFreeUpdateInfo(Thunk updatee) { UpdateInfo ui = free; - ui.updatee = updatee; + ui.setUpdatee(updatee); free = free.prev; return ui; } public final Thunk pop() { UpdateInfo ui = top; - Thunk res = ui.updatee; + Thunk res = ui.getUpdatee(); adjustAfterPop(ui); free = ui.reset(free); return res; @@ -86,9 +87,9 @@ public final void clear() { public final UpdateInfo markBackwardsFrom(Capability cap, TSO tso) { UpdateInfo ui = top; UpdateInfo suspend = null; - while (ui != null && !ui.marked) { - ui.marked = true; - Thunk bh = ui.updatee; + while (ui != null && !ui.isMarked()) { + ui.setMarked(true); + Thunk bh = ui.getUpdatee(); do { Closure p = bh.indirectee; if (p != null) { diff --git a/rts/src/main/java/eta/runtime/util/UnsafeUtil.java b/rts/src/main/java/eta/runtime/util/UnsafeUtil.java index 1e6697b9..ff85677e 100644 --- a/rts/src/main/java/eta/runtime/util/UnsafeUtil.java +++ b/rts/src/main/java/eta/runtime/util/UnsafeUtil.java @@ -6,12 +6,6 @@ import java.security.AccessController; import java.security.PrivilegedAction; -import eta.runtime.stg.Closure; -import eta.runtime.stm.TVar; -import eta.runtime.thunk.Thunk; -import eta.runtime.io.MutVar; -import eta.runtime.concurrent.MVar; - public class UnsafeUtil { public static final Unsafe UNSAFE; diff --git a/rts/src/test/java/eta/runtime/storage/ManagedHeapTest.java b/rts/src/test/java/eta/runtime/storage/ManagedHeapTest.java index 1e9fab7b..cf984a30 100644 --- a/rts/src/test/java/eta/runtime/storage/ManagedHeapTest.java +++ b/rts/src/test/java/eta/runtime/storage/ManagedHeapTest.java @@ -3,11 +3,9 @@ import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; - import java.util.Iterator; import java.util.List; - -import eta.runtime.stg.Capability; +import eta.runtime.Capability; public class ManagedHeapTest { From 23227681e1612bb50413eaf169a16125114686e8 Mon Sep 17 00:00:00 2001 From: Rajkumar Natarajan Date: Thu, 5 Apr 2018 16:48:02 -0400 Subject: [PATCH 2/2] updated the codegen logic for eta573 --- compiler/ETA/CodeGen/Closure.hs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/compiler/ETA/CodeGen/Closure.hs b/compiler/ETA/CodeGen/Closure.hs index b618eb2a..7e7920ea 100644 --- a/compiler/ETA/CodeGen/Closure.hs +++ b/compiler/ETA/CodeGen/Closure.hs @@ -61,20 +61,21 @@ lfStandardForm args fvs lfClass :: Bool -> Int -> Int -> LambdaFormInfo -> Text lfClass hasStdLayout _arity fvs (LFThunk {..}) = - "eta/runtime/thunk/" <> thunkBase <> thunkExt + "eta/" <> thunkBase <> thunkExt where thunkBase - | isTopLevel lfTopLevelFlag = "CAF" + | isTopLevel lfTopLevelFlag = "runtime/thunk/CAF" | lfUpdatable = "UpdatableThunk" - | otherwise = "SingleEntryThunk" + | otherwise = "runtime/thunk/SingleEntryThunk" thunkExt | isTopLevel lfTopLevelFlag = mempty - | hasStdLayout = T.pack (show fvs) + | hasStdLayout = T.pack ((++) (show fvs) "runtime/thunk/") | otherwise = mempty + lfClass hasStdLayout args fvs (LFReEntrant {..}) - = etaFun <> funExt + = "eta/runtime/apply/Function" <> funExt where funExt | hasStdLayout = T.pack (show args) <> fvsText - | args <= 6 = T.pack (show args) + | args <= 6 = T.pack ((show args)) | otherwise = mempty fvsText | fvs > 0 = "_" <> T.pack (show fvs)