diff --git a/.gitlab/gen_ci.hs b/.gitlab/gen_ci.hs index fa3d1f419237b3cdb6922e03d57060a2ea731a78..c5adc90662cfc4f247e88b1b0088a31131399fd3 100755 --- a/.gitlab/gen_ci.hs +++ b/.gitlab/gen_ci.hs @@ -882,7 +882,7 @@ job_groups = , standardBuildsWithConfig Amd64 (Linux Alpine) (splitSectionsBroken static) , disableValidate (allowFailureGroup (standardBuildsWithConfig Amd64 (Linux Alpine) staticNativeInt)) , validateBuilds Amd64 (Linux Debian11) (crossConfig "aarch64-linux-gnu" (Emulator "qemu-aarch64 -L /usr/aarch64-linux-gnu") Nothing) - , validateBuilds Amd64 (Linux Debian11) (crossConfig "js-unknown-ghcjs" (Emulator "js-emulator") (Just "emconfigure") + , validateBuilds Amd64 (Linux Debian11) (crossConfig "javascript-unknown-ghcjs" (Emulator "js-emulator") (Just "emconfigure") ) { bignumBackend = Native } diff --git a/.gitlab/jobs.yaml b/.gitlab/jobs.yaml index a2994fbcfb141f6431b1417ba0922ce12173647c..6db398f22bb93a88780ceec801e802e9e64697e0 100644 --- a/.gitlab/jobs.yaml +++ b/.gitlab/jobs.yaml @@ -1449,7 +1449,7 @@ "XZ_OPT": "-9" } }, - "nightly-x86_64-linux-deb11-int_native-cross_js-unknown-ghcjs-validate": { + "nightly-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate": { "after_script": [ ".gitlab/ci.sh save_cache", ".gitlab/ci.sh clean", @@ -1459,7 +1459,7 @@ "artifacts": { "expire_in": "8 weeks", "paths": [ - "ghc-x86_64-linux-deb11-int_native-cross_js-unknown-ghcjs-validate.tar.xz", + "ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate.tar.xz", "junit.xml" ], "reports": { @@ -1501,13 +1501,13 @@ ], "variables": { "BIGNUM_BACKEND": "native", - "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-int_native-cross_js-unknown-ghcjs-validate", + "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate", "BUILD_FLAVOUR": "validate", "CONFIGURE_ARGS": "--with-intree-gmp", "CONFIGURE_WRAPPER": "emconfigure", "CROSS_EMULATOR": "js-emulator", - "CROSS_TARGET": "js-unknown-ghcjs", - "TEST_ENV": "x86_64-linux-deb11-int_native-cross_js-unknown-ghcjs-validate", + "CROSS_TARGET": "javascript-unknown-ghcjs", + "TEST_ENV": "x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate", "XZ_OPT": "-9" } }, @@ -3993,7 +3993,7 @@ "TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate" } }, - "x86_64-linux-deb11-int_native-cross_js-unknown-ghcjs-validate": { + "x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate": { "after_script": [ ".gitlab/ci.sh save_cache", ".gitlab/ci.sh clean", @@ -4003,7 +4003,7 @@ "artifacts": { "expire_in": "2 weeks", "paths": [ - "ghc-x86_64-linux-deb11-int_native-cross_js-unknown-ghcjs-validate.tar.xz", + "ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate.tar.xz", "junit.xml" ], "reports": { @@ -4045,13 +4045,13 @@ ], "variables": { "BIGNUM_BACKEND": "native", - "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-int_native-cross_js-unknown-ghcjs-validate", + "BIN_DIST_NAME": "ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate", "BUILD_FLAVOUR": "validate", "CONFIGURE_ARGS": "--with-intree-gmp", "CONFIGURE_WRAPPER": "emconfigure", "CROSS_EMULATOR": "js-emulator", - "CROSS_TARGET": "js-unknown-ghcjs", - "TEST_ENV": "x86_64-linux-deb11-int_native-cross_js-unknown-ghcjs-validate" + "CROSS_TARGET": "javascript-unknown-ghcjs", + "TEST_ENV": "x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate" } }, "x86_64-linux-fedora33-release": { diff --git a/compiler/GHC.hs b/compiler/GHC.hs index 2c4857477a0e80618cef3cef7e5f712d46808a63..748a54fdeff56797489592b4c2e70424b807b989 100644 --- a/compiler/GHC.hs +++ b/compiler/GHC.hs @@ -357,7 +357,7 @@ import GHC.Utils.Monad import GHC.Utils.Misc import GHC.Utils.Outputable import GHC.Utils.Panic -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) import GHC.Utils.Panic.Plain #endif import GHC.Utils.Logger @@ -560,7 +560,7 @@ withCleanupSession ghc = ghc `MC.finally` cleanup initGhcMonad :: GhcMonad m => Maybe FilePath -> m () initGhcMonad mb_top_dir = setSession =<< liftIO ( do -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) -- The call to c_keepCAFsForGHCi must not be optimized away. Even in non-debug builds. -- So we can't use assertM here. -- See Note [keepCAFsForGHCi] in keepCAFsForGHCi.c for details about why. @@ -1962,7 +1962,7 @@ mkApiErr :: DynFlags -> SDoc -> GhcApiError mkApiErr dflags msg = GhcApiError (showSDoc dflags msg) -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) foreign import ccall unsafe "keepCAFsForGHCi" c_keepCAFsForGHCi :: IO Bool #endif diff --git a/config.sub b/config.sub index 9977d334bda8d7fdacd4fc54cf3f1818ec52ccef..efb0320b999f9a01102bda3a48fd12c089dc9525 100755 --- a/config.sub +++ b/config.sub @@ -1190,7 +1190,7 @@ case $cpu-$vendor in | arc | arceb | arc32 | arc64 \ | arm | arm[lb]e | arme[lb] | armv* \ | avr | avr32 \ - | asmjs | js \ + | asmjs | javascript \ | ba \ | be32 | be64 \ | bfin | bpf | bs2000 \ diff --git a/configure.ac b/configure.ac index 6d04d6f2070417818085d6fb7669209e391e2e7d..99a91e42d6895a894613ad35c4eefa07df3f951c 100644 --- a/configure.ac +++ b/configure.ac @@ -333,7 +333,7 @@ AC_SUBST(TablesNextToCode) dnl ** Does target have runtime linker support? dnl -------------------------------------------------------------- case "$target" in - powerpc64-*|powerpc64le-*|powerpc-ibm-aix*|s390x-ibm-linux|riscv64-*|wasm*|js-*|loongarch64-*) + powerpc64-*|powerpc64le-*|powerpc-ibm-aix*|s390x-ibm-linux|riscv64-*|wasm*|javascript-*|loongarch64-*) TargetHasRTSLinker=NO ;; *) diff --git a/hadrian/bindist/config.mk.in b/hadrian/bindist/config.mk.in index ee8366a26f70cb5dd1ba7f6a1321c791496436a7..cad2ccc6e00259a85b01b4faf17edc7ed9e8492c 100644 --- a/hadrian/bindist/config.mk.in +++ b/hadrian/bindist/config.mk.in @@ -128,7 +128,7 @@ GhcUnregisterised = @Unregisterised@ ifeq "$(TargetArch_CPP)" "arm" # We don't support load/store barriers pre-ARMv7. See #10433. ArchSupportsSMP=$(if $(filter $(ARM_ISA),ARMv5 ARMv6),NO,YES) -else ifeq "$(TargetArch_CPP)" "js" +else ifeq "$(TargetArch_CPP)" "javascript" ArchSupportsSMP=NO else ArchSupportsSMP=$(strip $(patsubst $(TargetArch_CPP), YES, $(findstring $(TargetArch_CPP), i386 x86_64 sparc powerpc powerpc64 powerpc64le s390x aarch64 riscv64))) diff --git a/hadrian/src/Oracles/Flag.hs b/hadrian/src/Oracles/Flag.hs index d3baec493294111718732da5eb6055a3eeab43fd..3f7a2c455156229c6b11c87a103558a9737554cc 100644 --- a/hadrian/src/Oracles/Flag.hs +++ b/hadrian/src/Oracles/Flag.hs @@ -100,14 +100,14 @@ platformSupportsSharedLibs = do wasm <- anyTargetArch [ "wasm32" ] ppc_linux <- anyTargetPlatform [ "powerpc-unknown-linux" ] solaris <- anyTargetPlatform [ "i386-unknown-solaris2" ] - javascript <- anyTargetArch [ "js" ] + javascript <- anyTargetArch [ "javascript" ] solarisBroken <- flag SolarisBrokenShld return $ not (windows || wasm || javascript || ppc_linux || solaris && solarisBroken) -- | Does the target support threaded RTS? targetSupportsThreadedRts :: Action Bool targetSupportsThreadedRts = do - bad_arch <- anyTargetArch [ "wasm32", "js" ] + bad_arch <- anyTargetArch [ "wasm32", "javascript" ] return $ not bad_arch -- | Does the target support the -N RTS flag? diff --git a/hadrian/src/Oracles/Setting.hs b/hadrian/src/Oracles/Setting.hs index e064d7a5c1fb4593a84c0a9ff1d0d9b8ebda59f9..462d289cd0070d4fab62bb974cc49465c3ca6e5a 100644 --- a/hadrian/src/Oracles/Setting.hs +++ b/hadrian/src/Oracles/Setting.hs @@ -258,7 +258,7 @@ isWinTarget :: Action Bool isWinTarget = anyTargetOs ["mingw32"] isJsTarget :: Action Bool -isJsTarget = anyTargetArch ["js"] +isJsTarget = anyTargetArch ["javascript"] isOsxTarget :: Action Bool isOsxTarget = anyTargetOs ["darwin"] diff --git a/libraries/base/Control/Concurrent.hs b/libraries/base/Control/Concurrent.hs index 87ddc9584a52e402bfeadc533038335daf7d598a..50166d27f7a8270cc1f740c3d1e409abd6fdfc47 100644 --- a/libraries/base/Control/Concurrent.hs +++ b/libraries/base/Control/Concurrent.hs @@ -106,7 +106,7 @@ module Control.Concurrent ( ) where -- JavaScript platform doesn't support bound threads -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) #define SUPPORT_BOUND_THREADS #endif diff --git a/libraries/base/GHC/Conc/IO.hs b/libraries/base/GHC/Conc/IO.hs index 869847e77a108ea781d81d0bb53477ca27fc545a..4f7795e3693bc8355d932b2ba1f06014da52d67f 100644 --- a/libraries/base/GHC/Conc/IO.hs +++ b/libraries/base/GHC/Conc/IO.hs @@ -65,12 +65,12 @@ import GHC.IO.SubSystem import GHC.Conc.Windows (asyncRead, asyncWrite, asyncDoProc, asyncReadBA, asyncWriteBA, ConsoleEvent(..), win32ConsoleHandler, toWin32ConsoleEvent) -#elif !defined(js_HOST_ARCH) +#elif !defined(javascript_HOST_ARCH) import qualified GHC.Event.Thread as Event #endif ensureIOManagerIsRunning :: IO () -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) ensureIOManagerIsRunning = pure () #elif !defined(mingw32_HOST_OS) ensureIOManagerIsRunning = Event.ensureIOManagerIsRunning @@ -91,7 +91,7 @@ interruptIOManager = Windows.interruptIOManager #endif ioManagerCapabilitiesChanged :: IO () -#if !defined(mingw32_HOST_OS) && !defined(js_HOST_ARCH) +#if !defined(mingw32_HOST_OS) && !defined(javascript_HOST_ARCH) ioManagerCapabilitiesChanged = Event.ioManagerCapabilitiesChanged #else ioManagerCapabilitiesChanged = return () @@ -105,7 +105,7 @@ ioManagerCapabilitiesChanged = return () -- that has been used with 'threadWaitRead', use 'closeFdWith'. threadWaitRead :: Fd -> IO () threadWaitRead fd -#if !defined(mingw32_HOST_OS) && !defined(js_HOST_ARCH) +#if !defined(mingw32_HOST_OS) && !defined(javascript_HOST_ARCH) | threaded = Event.threadWaitRead fd #endif | otherwise = IO $ \s -> @@ -121,7 +121,7 @@ threadWaitRead fd -- that has been used with 'threadWaitWrite', use 'closeFdWith'. threadWaitWrite :: Fd -> IO () threadWaitWrite fd -#if !defined(mingw32_HOST_OS) && !defined(js_HOST_ARCH) +#if !defined(mingw32_HOST_OS) && !defined(javascript_HOST_ARCH) | threaded = Event.threadWaitWrite fd #endif | otherwise = IO $ \s -> @@ -135,7 +135,7 @@ threadWaitWrite fd -- in the file descriptor. threadWaitReadSTM :: Fd -> IO (Sync.STM (), IO ()) threadWaitReadSTM fd -#if !defined(mingw32_HOST_OS) && !defined(js_HOST_ARCH) +#if !defined(mingw32_HOST_OS) && !defined(javascript_HOST_ARCH) | threaded = Event.threadWaitReadSTM fd #endif | otherwise = do @@ -154,7 +154,7 @@ threadWaitReadSTM fd -- in the file descriptor. threadWaitWriteSTM :: Fd -> IO (Sync.STM (), IO ()) threadWaitWriteSTM fd -#if !defined(mingw32_HOST_OS) && !defined(js_HOST_ARCH) +#if !defined(mingw32_HOST_OS) && !defined(javascript_HOST_ARCH) | threaded = Event.threadWaitWriteSTM fd #endif | otherwise = do @@ -179,7 +179,7 @@ closeFdWith :: (Fd -> IO ()) -- ^ Low-level action that performs the real close. -> Fd -- ^ File descriptor to close. -> IO () closeFdWith close fd -#if !defined(mingw32_HOST_OS) && !defined(js_HOST_ARCH) +#if !defined(mingw32_HOST_OS) && !defined(javascript_HOST_ARCH) | threaded = Event.closeFdWith close fd #endif | otherwise = close fd @@ -199,7 +199,7 @@ threadDelay time #if defined(mingw32_HOST_OS) | isWindowsNativeIO = Windows.threadDelay time | threaded = Windows.threadDelay time -#elif !defined(js_HOST_ARCH) +#elif !defined(javascript_HOST_ARCH) | threaded = Event.threadDelay time #endif | otherwise = IO $ \s -> @@ -219,11 +219,11 @@ registerDelay _usecs #if defined(mingw32_HOST_OS) | isWindowsNativeIO = Windows.registerDelay _usecs | threaded = Windows.registerDelay _usecs -#elif !defined(js_HOST_ARCH) +#elif !defined(javascript_HOST_ARCH) | threaded = Event.registerDelay _usecs #endif | otherwise = errorWithoutStackTrace "registerDelay: requires -threaded" -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) foreign import ccall unsafe "rtsSupportsBoundThreads" threaded :: Bool #endif diff --git a/libraries/base/GHC/Conc/Windows.hs b/libraries/base/GHC/Conc/Windows.hs index e9733806e7c6a9da934fecfaeb317e39add51e65..b22307e1f2b243a2cf4d88be11dbe47da8e1a4fd 100644 --- a/libraries/base/GHC/Conc/Windows.hs +++ b/libraries/base/GHC/Conc/Windows.hs @@ -19,7 +19,7 @@ -- #not-home module GHC.Conc.Windows -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) () where #else ( ensureIOManagerIsRunning diff --git a/libraries/base/GHC/Event.hs b/libraries/base/GHC/Event.hs index a9acda5516b1c54813fc0a856a44a29d8c0b24fc..5a98a9aeda0d2aaa0abaf2b5e6ca0cef56a04598 100644 --- a/libraries/base/GHC/Event.hs +++ b/libraries/base/GHC/Event.hs @@ -11,7 +11,7 @@ -- ---------------------------------------------------------------------------- module GHC.Event -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) ( ) where #else ( -- * Types diff --git a/libraries/base/GHC/Event/Thread.hs b/libraries/base/GHC/Event/Thread.hs index f76e9147da9d90252dec2f64fad20fb0b696a802..1018edc2531795531511a88eb064cc9d61cb2062 100644 --- a/libraries/base/GHC/Event/Thread.hs +++ b/libraries/base/GHC/Event/Thread.hs @@ -5,7 +5,7 @@ #include <ghcplatform.h> module GHC.Event.Thread -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) ( ) where #else ( getSystemEventManager diff --git a/libraries/base/GHC/Event/TimerManager.hs b/libraries/base/GHC/Event/TimerManager.hs index bb26741d582f86e086886e884da06edbd12b1bef..b334924a9dee5b5beea682b1a52c850f4c9024e8 100644 --- a/libraries/base/GHC/Event/TimerManager.hs +++ b/libraries/base/GHC/Event/TimerManager.hs @@ -7,7 +7,7 @@ -- TODO: use the new Windows IO manager module GHC.Event.TimerManager -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) () where #else ( -- * Types diff --git a/libraries/base/GHC/IO/Encoding.hs b/libraries/base/GHC/IO/Encoding.hs index ea738c56a4317cbee79fcd764dca7b9642468e01..4759356f4cb093d33513f56acd5e256327c3d1e5 100644 --- a/libraries/base/GHC/IO/Encoding.hs +++ b/libraries/base/GHC/IO/Encoding.hs @@ -180,7 +180,7 @@ initLocaleEncoding, initFileSystemEncoding, initForeignEncoding :: TextEncoding -- N.B. initLocaleEncoding is exported for use in System.IO.localeEncoding. -- NOINLINE ensures that this result is shared. -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) initLocaleEncoding = utf8 initFileSystemEncoding = utf8 initForeignEncoding = utf8 diff --git a/libraries/base/GHC/IO/Encoding/CodePage/API.hs b/libraries/base/GHC/IO/Encoding/CodePage/API.hs index ef6bebd0028c512567862717d1a7cf203b88cc11..6136156cdbc7483974ffc1fe97cc8da2e7f46453 100644 --- a/libraries/base/GHC/IO/Encoding/CodePage/API.hs +++ b/libraries/base/GHC/IO/Encoding/CodePage/API.hs @@ -32,7 +32,7 @@ import GHC.ForeignPtr (castForeignPtr) import System.Posix.Internals -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) mkCodePageEncoding :: String mkCodePageEncoding = "" #else diff --git a/libraries/base/GHC/IO/FD.hs b/libraries/base/GHC/IO/FD.hs index 2886658a5c263190eed7b9c78b2c7100109f8bb1..2d4b92fa4f855c0ac90c168d6ef887d59e2a2fcb 100644 --- a/libraries/base/GHC/IO/FD.hs +++ b/libraries/base/GHC/IO/FD.hs @@ -570,7 +570,7 @@ indicates that there's no data, we call threadWaitRead. readRawBufferPtr :: String -> FD -> Ptr Word8 -> Int -> CSize -> IO Int readRawBufferPtr loc !fd !buf !off !len -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) = fmap fromIntegral . uninterruptibleMask_ $ throwErrnoIfMinus1 loc (c_read (fdFD fd) (buf `plusPtr` off) len) #else @@ -592,7 +592,7 @@ readRawBufferPtr loc !fd !buf !off !len -- return: -1 indicates EOF, >=0 is bytes read readRawBufferPtrNoBlock :: String -> FD -> Ptr Word8 -> Int -> CSize -> IO Int readRawBufferPtrNoBlock loc !fd !buf !off !len -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) = uninterruptibleMask_ $ do r <- throwErrnoIfMinus1 loc (c_read (fdFD fd) (buf `plusPtr` off) len) case r of @@ -617,7 +617,7 @@ readRawBufferPtrNoBlock loc !fd !buf !off !len writeRawBufferPtr :: String -> FD -> Ptr Word8 -> Int -> CSize -> IO CInt writeRawBufferPtr loc !fd !buf !off !len -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) = fmap fromIntegral . uninterruptibleMask_ $ throwErrnoIfMinus1 loc (c_write (fdFD fd) (buf `plusPtr` off) len) #else @@ -637,7 +637,7 @@ writeRawBufferPtr loc !fd !buf !off !len writeRawBufferPtrNoBlock :: String -> FD -> Ptr Word8 -> Int -> CSize -> IO CInt writeRawBufferPtrNoBlock loc !fd !buf !off !len -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) = uninterruptibleMask_ $ do r <- throwErrnoIfMinus1 loc (c_write (fdFD fd) (buf `plusPtr` off) len) case r of @@ -658,7 +658,7 @@ writeRawBufferPtrNoBlock loc !fd !buf !off !len safe_write = do_write (c_safe_write (fdFD fd) (buf `plusPtr` off) len) #endif -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) isNonBlocking :: FD -> Bool isNonBlocking fd = fdIsNonBlocking fd /= 0 @@ -754,14 +754,14 @@ foreign import WINDOWS_CCONV safe "send" #endif -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) foreign import ccall unsafe "rtsSupportsBoundThreads" threaded :: Bool #endif -- ----------------------------------------------------------------------------- -- utils -#if !defined(mingw32_HOST_OS) && !defined(js_HOST_ARCH) +#if !defined(mingw32_HOST_OS) && !defined(javascript_HOST_ARCH) throwErrnoIfMinus1RetryOnBlock :: String -> IO CSsize -> IO CSsize -> IO CSsize throwErrnoIfMinus1RetryOnBlock loc f on_block = do diff --git a/libraries/base/GHC/JS/Prim.hs b/libraries/base/GHC/JS/Prim.hs index 4a9505cbdf0b3bd24e057bb4eb64be45c7751b3e..955cadf3288ec4e9e92629e0035a832eb9156c55 100644 --- a/libraries/base/GHC/JS/Prim.hs +++ b/libraries/base/GHC/JS/Prim.hs @@ -10,7 +10,7 @@ module GHC.JS.Prim ( JSVal(..), JSVal# , JSException(..) , WouldBlockException(..) -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) , toIO , resolve , resolveIO @@ -54,7 +54,7 @@ import GHC.IO argument or result. -} -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) data JSVal = JSVal ByteArray# type JSVal# = ByteArray# #else @@ -75,7 +75,7 @@ instance Ex.Exception JSException instance Show JSException where show (JSException _ xs) = "JavaScript exception: " ++ xs -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) {-# NOINLINE toIO #-} toIO :: Exts.Any -> IO Exts.Any diff --git a/libraries/base/GHC/JS/Prim/Internal/Build.hs b/libraries/base/GHC/JS/Prim/Internal/Build.hs index 78203cd787346d45ac19323f7bf8663d0ce86e99..18a5c7644101d7c778a8b69be34df299d9227ff3 100644 --- a/libraries/base/GHC/JS/Prim/Internal/Build.hs +++ b/libraries/base/GHC/JS/Prim/Internal/Build.hs @@ -1,7 +1,7 @@ -- helpers for constructing JS objects that can be efficiently inlined as literals -- no Template Haskell available yet, generated by utils/genBuildObject.hs {-# LANGUAGE CPP #-} -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) module GHC.JS.Prim.Internal.Build () where #else {-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI, GHCForeignImportPrim #-} diff --git a/libraries/base/GHC/Stack/CCS.hsc b/libraries/base/GHC/Stack/CCS.hsc index b6d3f83b94f1f83a4e873c3c4ec510c30a851aea..274202efd643d01fee14a93c6e79c5793a351bdf 100644 --- a/libraries/base/GHC/Stack/CCS.hsc +++ b/libraries/base/GHC/Stack/CCS.hsc @@ -76,7 +76,7 @@ clearCCS :: IO a -> IO a clearCCS (IO m) = IO $ \s -> clearCCS## m s -- | Get the 'CostCentre' at the head of a 'CostCentreStack'. -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) ccsCC :: Ptr CostCentreStack -> IO (Ptr CostCentre) ccsCC p = peekByteOff p 4 diff --git a/libraries/base/GHC/TopHandler.hs b/libraries/base/GHC/TopHandler.hs index 153b5170d7a3be079ba9648adab6f518012da4a2..04045dad05236142a308601bc88420383634e436 100644 --- a/libraries/base/GHC/TopHandler.hs +++ b/libraries/base/GHC/TopHandler.hs @@ -47,7 +47,7 @@ import GHC.Weak #if defined(mingw32_HOST_OS) import GHC.ConsoleHandler -#elif defined(js_HOST_ARCH) +#elif defined(javascript_HOST_ARCH) #else import Data.Dynamic (toDyn) #endif @@ -95,7 +95,7 @@ runMainIO main = topHandler install_interrupt_handler :: IO () -> IO () -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) install_interrupt_handler _ = return () #elif defined(mingw32_HOST_OS) install_interrupt_handler handler = do @@ -269,7 +269,7 @@ unreachable :: IO a unreachable = failIO "If you can read this, shutdownHaskellAndExit did not exit." exitHelper :: CInt -> Int -> IO a -#if defined(mingw32_HOST_OS) || defined(js_HOST_ARCH) +#if defined(mingw32_HOST_OS) || defined(javascript_HOST_ARCH) exitHelper exitKind r = shutdownHaskellAndExit (fromIntegral r) exitKind >> unreachable #else @@ -297,7 +297,7 @@ foreign import ccall "shutdownHaskellAndSignal" exitInterrupted :: IO a exitInterrupted = -#if defined(mingw32_HOST_OS) || defined(js_HOST_ARCH) +#if defined(mingw32_HOST_OS) || defined(javascript_HOST_ARCH) safeExit 252 #elif !defined(HAVE_SIGNAL_H) safeExit 1 diff --git a/libraries/base/GHC/Windows.hs b/libraries/base/GHC/Windows.hs index 85faa25e43a7a2f9df7998d9bcb8565a65ecc196..f007d904538309056fbe994326f305d28b096487 100644 --- a/libraries/base/GHC/Windows.hs +++ b/libraries/base/GHC/Windows.hs @@ -21,7 +21,7 @@ ----------------------------------------------------------------------------- module GHC.Windows ( -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) ) where #else diff --git a/libraries/base/System/CPUTime.hsc b/libraries/base/System/CPUTime.hsc index 19d21e2135201bf5c9328a8c485215ec2626f825..c98c5ddaf639a4002bf2925d27100b5f230f8093 100644 --- a/libraries/base/System/CPUTime.hsc +++ b/libraries/base/System/CPUTime.hsc @@ -34,7 +34,7 @@ import System.IO.Unsafe (unsafePerformIO) #if defined(mingw32_HOST_OS) import qualified System.CPUTime.Windows as I -#elif defined(js_HOST_ARCH) +#elif defined(javascript_HOST_ARCH) import qualified System.CPUTime.Javascript as I #elif _POSIX_TIMERS > 0 && defined(_POSIX_CPUTIME) && _POSIX_CPUTIME >= 0 diff --git a/libraries/base/System/Environment.hs b/libraries/base/System/Environment.hs index c5e5d6d039c3f0848fe30245c93a228101291161..771b490196244adac8fc4ab2d97ee36b63506e54 100644 --- a/libraries/base/System/Environment.hs +++ b/libraries/base/System/Environment.hs @@ -19,7 +19,7 @@ module System.Environment ( getArgs, getProgName, -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) executablePath, #endif getExecutablePath, diff --git a/libraries/base/System/Environment/ExecutablePath.hsc b/libraries/base/System/Environment/ExecutablePath.hsc index ede63d5e6d4c1fcae2a91542bbc78f317cea4ea1..cb9fad7a7e7d6a6e8761a2c29268eccef95a6262 100644 --- a/libraries/base/System/Environment/ExecutablePath.hsc +++ b/libraries/base/System/Environment/ExecutablePath.hsc @@ -18,12 +18,12 @@ module System.Environment.ExecutablePath ( getExecutablePath -##if !defined(js_HOST_ARCH) +##if !defined(javascript_HOST_ARCH) , executablePath ##endif ) where -##if defined(js_HOST_ARCH) +##if defined(javascript_HOST_ARCH) getExecutablePath :: IO FilePath getExecutablePath = return "a.jsexe" diff --git a/libraries/base/System/Posix/Internals.hs b/libraries/base/System/Posix/Internals.hs index 4a82bbae1c413c594599f33e6776338b622f8ea6..89fa80672f75c306390c61d2091ca6ce6ea12432 100644 --- a/libraries/base/System/Posix/Internals.hs +++ b/libraries/base/System/Posix/Internals.hs @@ -429,7 +429,7 @@ c_safe_open filepath oflags mode = hostIsThreaded :: Bool hostIsThreaded = rtsIsThreaded_ /= 0 -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) foreign import ccall unsafe "HsBase.h __hscore_open" c_open :: CFilePath -> CInt -> CMode -> IO CInt @@ -454,7 +454,7 @@ foreign import ccall unsafe "HsBase.h __hscore_lstat" lstat :: CFilePath -> Ptr CStat -> IO CInt #endif -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) foreign import javascript unsafe "(() => { return rts_isThreaded; })" rtsIsThreaded_ :: Int foreign import javascript interruptible "(($1_1, $2_2, $2, $c) => { return h$base_access($1_1,$2_2,$2,$c); })" @@ -743,7 +743,7 @@ foreign import ccall unsafe "HsBase.h getpid" #endif #endif -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) foreign import ccall unsafe "HsBase.h __hscore_stat" c_stat :: CFilePath -> Ptr CStat -> IO CInt @@ -751,7 +751,7 @@ foreign import ccall unsafe "HsBase.h __hscore_ftruncate" c_ftruncate :: CInt -> COff -> IO CInt #endif -#if !defined(mingw32_HOST_OS) && !defined(js_HOST_ARCH) +#if !defined(mingw32_HOST_OS) && !defined(javascript_HOST_ARCH) foreign import capi unsafe "HsBase.h fcntl" c_fcntl_read :: CInt -> CInt -> IO CInt @@ -822,7 +822,7 @@ c_waitpid _ _ _ = ioError (ioeSetLocation unsupportedOperation "waitpid") #endif -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) -- POSIX flags only: foreign import ccall unsafe "HsBase.h __hscore_o_rdonly" o_RDONLY :: CInt foreign import ccall unsafe "HsBase.h __hscore_o_wronly" o_WRONLY :: CInt diff --git a/libraries/base/System/Timeout.hs b/libraries/base/System/Timeout.hs index bf215c747a44fa1062544f4358f3da57655fe36a..60908066d46fb926d8fc18ccb83e945673ce0b55 100644 --- a/libraries/base/System/Timeout.hs +++ b/libraries/base/System/Timeout.hs @@ -17,7 +17,7 @@ -- TODO: Inspect is still suitable. module System.Timeout ( Timeout, timeout ) where -#if !defined(mingw32_HOST_OS) && !defined(js_HOST_ARCH) +#if !defined(mingw32_HOST_OS) && !defined(javascript_HOST_ARCH) import Control.Monad import GHC.Event (getSystemTimerManager, registerTimeout, unregisterTimeout) @@ -99,7 +99,7 @@ timeout :: Int -> IO a -> IO (Maybe a) timeout n f | n < 0 = fmap Just f | n == 0 = return Nothing -#if !defined(mingw32_HOST_OS) && !defined(js_HOST_ARCH) +#if !defined(mingw32_HOST_OS) && !defined(javascript_HOST_ARCH) | rtsSupportsBoundThreads = do -- In the threaded RTS, we use the Timer Manager to delay the -- (fairly expensive) 'forkIO' call until the timeout has expired. diff --git a/libraries/base/base.cabal b/libraries/base/base.cabal index 5e7fdc17c69fd21319ee7a1851c6703ecd356596..5436c10c14ac74b1ff2153a2f9a0dff979dfe30f 100644 --- a/libraries/base/base.cabal +++ b/libraries/base/base.cabal @@ -362,7 +362,7 @@ Library System.Environment.ExecutablePath System.CPUTime.Utils - if !arch(js) + if !arch(javascript) c-sources: cbits/DarwinUtils.c cbits/PrelIOUtils.c @@ -378,7 +378,7 @@ Library cbits/CastFloatWord.cmm cbits/StackCloningDecoding.cmm - if arch(js) + if arch(javascript) js-sources: -- "platform" must be linked first because it defines global constants -- (e.g. h$isNode) @@ -460,7 +460,7 @@ Library System.CPUTime.Posix.RUsage System.CPUTime.Unsupported - if arch(js) + if arch(javascript) other-modules: System.CPUTime.Javascript @@ -470,7 +470,7 @@ Library if os(freebsd) cc-options: -DLIBICONV_PLUG - if arch(js) + if arch(javascript) exposed-modules: GHC.JS.Prim GHC.JS.Prim.Internal diff --git a/libraries/ghc-boot/GHC/Platform/ArchOS.hs b/libraries/ghc-boot/GHC/Platform/ArchOS.hs index 3a2774db7d7a5d4e2bc12a26fee1411990ef4d30..26a319ba13edf1221347463a3fa983819c51159c 100644 --- a/libraries/ghc-boot/GHC/Platform/ArchOS.hs +++ b/libraries/ghc-boot/GHC/Platform/ArchOS.hs @@ -136,7 +136,7 @@ stringEncodeArch = \case ArchMipsel -> "mipsel" ArchRISCV64 -> "riscv64" ArchLoongArch64 -> "loongarch64" - ArchJavaScript -> "js" + ArchJavaScript -> "javascript" ArchWasm32 -> "wasm32" -- | See Note [Platform Syntax]. diff --git a/libraries/ghci/GHCi/CreateBCO.hs b/libraries/ghci/GHCi/CreateBCO.hs index 72364b6a7e57a742a7643856e454dc18ca28dc2d..7891fec6a72442fb0778918f53b8c2e2141e858e 100644 --- a/libraries/ghci/GHCi/CreateBCO.hs +++ b/libraries/ghci/GHCi/CreateBCO.hs @@ -133,7 +133,7 @@ writePtrsArrayPtr (I# i) (Ptr a#) (PtrsArr arr) = IO $ \s -> -- without making a thunk turns out to be surprisingly tricky. {-# NOINLINE writeArrayAddr# #-} writeArrayAddr# :: MutableArray# s a -> Int# -> Addr# -> State# s -> State# s -#if defined(js_HOST_ARCH) +#if defined(javascript_HOST_ARCH) -- Addr# isn't coercible with Any with the JS backend. writeArrayAddr# = error "writeArrayAddr#: currently unsupported with the JS backend" #else diff --git a/libraries/ghci/GHCi/FFI.hsc b/libraries/ghci/GHCi/FFI.hsc index ab6c4bb17f94b0a1a34eca0b50fe135ef91bcc6b..a24810fc8f98a38133fbeadd17c421b291523e60 100644 --- a/libraries/ghci/GHCi/FFI.hsc +++ b/libraries/ghci/GHCi/FFI.hsc @@ -21,7 +21,7 @@ they are every used. -} -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) #include <ffi.h> #endif @@ -35,7 +35,7 @@ module GHCi.FFI ) where import Prelude -- See note [Why do we import Prelude here?] -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) import Control.Exception import Foreign.C #endif @@ -70,7 +70,7 @@ prepForeignCall -> FFIType -- result type -> IO (Ptr C_ffi_cif) -- token for making calls (must be freed by caller) -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) prepForeignCall cconv arg_types result_type = do let n_args = length arg_types arg_arr <- mallocArray n_args @@ -93,7 +93,7 @@ prepForeignCall _ _ _ = freeForeignCallInfo :: Ptr C_ffi_cif -> IO () -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) freeForeignCallInfo p = do free ((#ptr ffi_cif, arg_types) p) free p @@ -104,7 +104,7 @@ freeForeignCallInfo _ = data C_ffi_cif -#if !defined(js_HOST_ARCH) +#if !defined(javascript_HOST_ARCH) data C_ffi_type strError :: C_ffi_status -> String diff --git a/m4/fptools_set_haskell_platform_vars.m4 b/m4/fptools_set_haskell_platform_vars.m4 index 02b5b4e53c4a43e511542d6969619289524f4f83..2afb21e2474d3b114ca44805f47d5441137a3f35 100644 --- a/m4/fptools_set_haskell_platform_vars.m4 +++ b/m4/fptools_set_haskell_platform_vars.m4 @@ -51,7 +51,7 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_VARS_SHELL_FUNCTIONS], hppa|hppa1_1|ia64|m68k|nios2|riscv32|loongarch32|rs6000|s390|sh4|vax) test -z "[$]2" || eval "[$]2=ArchUnknown" ;; - js) + javascript) test -z "[$]2" || eval "[$]2=ArchJavaScript" ;; *) diff --git a/m4/ghc_convert_cpu.m4 b/m4/ghc_convert_cpu.m4 index b3f1789bbc1f15236383096dea1c610eca168b60..880daee61e6f0aadcb50d5131f48d95f68883b9e 100644 --- a/m4/ghc_convert_cpu.m4 +++ b/m4/ghc_convert_cpu.m4 @@ -83,8 +83,8 @@ case "$1" in wasm32) $2="wasm32" ;; - js) - $2="js" + javascript) + $2="javascript" ;; *) echo "Unknown CPU $1" diff --git a/m4/ghc_unregisterised.m4 b/m4/ghc_unregisterised.m4 index 38b445067de18f6efb9347a8ebfc63023213f407..826714d8ad448f23d8dd59116273610fef8cfd7c 100644 --- a/m4/ghc_unregisterised.m4 +++ b/m4/ghc_unregisterised.m4 @@ -5,7 +5,7 @@ AC_DEFUN([GHC_UNREGISTERISED], [ AC_MSG_CHECKING(whether target supports a registerised ABI) case "$TargetArch" in - i386|x86_64|powerpc|powerpc64|powerpc64le|s390x|arm|aarch64|riscv64|wasm32|js|loongarch64) + i386|x86_64|powerpc|powerpc64|powerpc64le|s390x|arm|aarch64|riscv64|wasm32|javascript|loongarch64) UnregisterisedDefault=NO AC_MSG_RESULT([yes]) ;; diff --git a/rts/include/stg/MachRegsForHost.h b/rts/include/stg/MachRegsForHost.h index 6452df41581738ce4901fc52beb48cf8f7a15175..f401122e5ff15d5d9487492267f790c1d0dce8c0 100644 --- a/rts/include/stg/MachRegsForHost.h +++ b/rts/include/stg/MachRegsForHost.h @@ -14,7 +14,7 @@ #pragma once -#if defined(UnregisterisedCompiler) || defined(js_HOST_ARCH) +#if defined(UnregisterisedCompiler) || defined(javascript_HOST_ARCH) #if !defined(NO_REGS) #define NO_REGS #endif diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in index 00d720d4ff5197b32a7c1cbd6935c0a64e685b78..276f7e1b006d004059e8d855d11ac790e400d6f2 100644 --- a/rts/rts.cabal.in +++ b/rts/rts.cabal.in @@ -81,7 +81,8 @@ library exposed: True exposed-modules: - if os(ghcjs) + + if arch(javascript) include-dirs: include -- dummy file to force the build of a .a lib diff --git a/testsuite/config/ghc b/testsuite/config/ghc index 1d4ae806951a5175a83e67405ddbaa17592bde4c..1821d5a5725b5c6a94e4bfe3b49e5d58b0d82ed1 100644 --- a/testsuite/config/ghc +++ b/testsuite/config/ghc @@ -70,12 +70,12 @@ if windows: config.other_ways += winio_ways # LLVM -if not config.unregisterised and not config.arch == "js" and config.have_llvm: +if not config.unregisterised and not config.arch == "javascript" and config.have_llvm: config.compile_ways.append('optllvm') config.run_ways.append('optllvm') # HPC -if not config.arch == "js": +if not config.arch == "javascript": config.compile_ways.append('hpc') config.run_ways.append('hpc') diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py index bc83038d2b5d160ffdcc5d4045f62af0840093cd..96ff802c0d48376b48fc427ee08a56ddf2482b90 100644 --- a/testsuite/driver/testlib.py +++ b/testsuite/driver/testlib.py @@ -139,12 +139,12 @@ def skip( name, opts ): # disable test on JS arch def js_skip( name, opts ): - if arch("js"): + if arch("javascript"): skip(name,opts) # expect broken for the JS backend def js_broken( bug: IssueNumber ): - if arch("js"): + if arch("javascript"): return expect_broken(bug); else: return normal; @@ -2364,7 +2364,7 @@ def normalise_errmsg(s: str) -> str: # The inplace ghc's are called ghc-stage[123] to avoid filename # collisions, so we need to normalise that to just "ghc" s = re.sub('ghc-stage[123]', 'ghc', s) - # Remove platform prefix (e.g. js-unknown-ghcjs) for cross-compiled tools + # Remove platform prefix (e.g. javascript-unknown-ghcjs) for cross-compiled tools # (ghc, ghc-pkg, unlit, etc.) s = re.sub('\\w+-\\w+-\\w+-ghc', 'ghc', s) s = re.sub('\\w+-\\w+-\\w+-unlit', 'unlit', s) diff --git a/testsuite/tests/concurrent/should_run/all.T b/testsuite/tests/concurrent/should_run/all.T index 047f70e6d8edb95e667eddf78bca836955fb9a29..7a4208ff674d423382fb4465ab7ed96418090c2b 100644 --- a/testsuite/tests/concurrent/should_run/all.T +++ b/testsuite/tests/concurrent/should_run/all.T @@ -130,7 +130,7 @@ test('conc012', test('conc013', normal, compile_and_run, ['']) test('conc014', normal, compile_and_run, ['']) test('conc015', - [ when(arch("js"), fragile(22261)) # delays are flaky with the JS backend when the system is overloaded + [ when(arch("javascript"), fragile(22261)) # delays are flaky with the JS backend when the system is overloaded ], compile_and_run, ['']) test('conc015a', normal, compile_and_run, ['']) test('conc016', [omit_ways(concurrent_ways) # see comment in conc016.hs diff --git a/testsuite/tests/numeric/should_run/all.T b/testsuite/tests/numeric/should_run/all.T index e4d558ea1397e4a02d77f08f152ab5651c235daf..a9d5ef7b12687375d6b1a82a755756cb323bde3a 100644 --- a/testsuite/tests/numeric/should_run/all.T +++ b/testsuite/tests/numeric/should_run/all.T @@ -63,7 +63,7 @@ test('T9407', normal, compile_and_run, ['']) test('T9810', normal, compile_and_run, ['']) test('T10011', normal, compile_and_run, ['']) test('T10962', omit_ways(['ghci']), compile_and_run, ['-O2']) -test('T11702', [unless(arch("js"),extra_ways(['optasm']))], compile_and_run, ['']) +test('T11702', [unless(arch("javascript"),extra_ways(['optasm']))], compile_and_run, ['']) test('T12136', normal, compile_and_run, ['']) test('T15301', normal, compile_and_run, ['-O2']) test('T497', normal, compile_and_run, ['-O']) diff --git a/testsuite/tests/rts/all.T b/testsuite/tests/rts/all.T index f3349e02327d9d0e077d421b0fbbb12aae82ffe1..7effbe6b01cb1ea3a0ae9189d18dd61da9cf598b 100644 --- a/testsuite/tests/rts/all.T +++ b/testsuite/tests/rts/all.T @@ -42,7 +42,7 @@ test('derefnull', when(platform('aarch64-apple-darwin'), [ignore_stderr, exit_code(139)]), when(opsys('mingw32'), [ignore_stderr, exit_code(11)]), when(opsys('mingw32'), [fragile(18548)]), - when(platform('js-unknown-ghcjs'), [ignore_stderr, exit_code(1)]), + when(arch('javascript'), [ignore_stderr, exit_code(1)]), # ThreadSanitizer changes the output when(have_thread_sanitizer(), skip), # since these test are supposed to crash the