diff --git a/libraries/base/src/GHC/JS/Foreign/Callback.hs b/libraries/base/src/GHC/JS/Foreign/Callback.hs index e40c9257b42ecdde8906ab045bb8569508510cd8..441ac2f42dfea70669431e62cfa309337df7342a 100644 --- a/libraries/base/src/GHC/JS/Foreign/Callback.hs +++ b/libraries/base/src/GHC/JS/Foreign/Callback.hs @@ -145,5 +145,5 @@ foreign import javascript unsafe "(($1, $2) => { return h$makeCallbackApply($1, foreign import javascript unsafe "(($1, $2) => { return h$makeCallbackApply($1, h$runSyncReturn, [false], $2); })" js_syncCallbackApplyReturn :: Int -> Exts.Any -> IO (Callback b) -foreign import javascript unsafe "(($1) => { return h$release($1); })" +foreign import javascript unsafe "h$release" js_release :: Callback a -> IO () diff --git a/libraries/base/src/GHC/JS/Prim.hs b/libraries/base/src/GHC/JS/Prim.hs index 7b92c6160d72a910fac857800133bcc8b145cf03..3101fd708786f39030da5b7c34958a1d4d929e83 100644 --- a/libraries/base/src/GHC/JS/Prim.hs +++ b/libraries/base/src/GHC/JS/Prim.hs @@ -259,16 +259,16 @@ seqList xs = go xs `seq` xs where go (y:ys) = y `seq` go ys go [] = () -foreign import javascript unsafe "(($1) => { return h$toHsString($1); })" +foreign import javascript unsafe "h$toHsString" js_fromJSString :: JSVal -> Exts.Any -foreign import javascript unsafe "(($1) => { return h$fromHsString($1); })" +foreign import javascript unsafe "h$fromHsString" js_toJSString :: Exts.Any -> JSVal -foreign import javascript unsafe "(($1) => { return h$toHsListJSVal($1); })" +foreign import javascript unsafe "h$toHsListJSVal" js_fromJSArray :: JSVal -> IO Exts.Any -foreign import javascript unsafe "(($1) => { return h$fromHsListJSVal($1); })" +foreign import javascript unsafe "h$fromHsListJSVal" js_toJSArray :: Exts.Any -> IO JSVal foreign import javascript unsafe "(($1) => { return ($1 === null); })" diff --git a/libraries/base/src/GHC/JS/Prim/Internal.hs b/libraries/base/src/GHC/JS/Prim/Internal.hs index be8dd630402aa8f7c0d6b9cb95b6e10cf6097adb..e39e8e578807c7a606eb47ce9855386566df129c 100644 --- a/libraries/base/src/GHC/JS/Prim/Internal.hs +++ b/libraries/base/src/GHC/JS/Prim/Internal.hs @@ -43,14 +43,14 @@ foreign import javascript unsafe js_setCurrentThreadResultWouldBlock :: IO () foreign import javascript unsafe - "(($1) => { return h$setCurrentThreadResultJSException($1); })" + "h$setCurrentThreadResultJSException" js_setCurrentThreadResultJSException :: JSVal -> IO () foreign import javascript unsafe - "(($1) => { return h$setCurrentThreadResultHaskellException($1); })" + "h$setCurrentThreadResultHaskellException" js_setCurrentThreadResultHaskellException :: JSVal -> IO () foreign import javascript unsafe - "(($1) => { return h$setCurrentThreadResultValue($1); })" + "h$setCurrentThreadResultValue" js_setCurrentThreadResultValue :: JSVal -> IO () diff --git a/libraries/base/src/System/Posix/Internals.hs b/libraries/base/src/System/Posix/Internals.hs index 37ec373c203b213bcc69055d1513402ec117e01c..08c0614c859b8c2093db8165c28ebe4fd403e0bd 100644 --- a/libraries/base/src/System/Posix/Internals.hs +++ b/libraries/base/src/System/Posix/Internals.hs @@ -504,7 +504,7 @@ foreign import ccall unsafe "HsBase.h __hscore_lstat" #if defined(javascript_HOST_ARCH) -foreign import javascript unsafe "(() => { return rts_isThreaded; })" rtsIsThreaded_ :: Int +foreign import javascript unsafe "h$rts_isThreaded" rtsIsThreaded_ :: Int foreign import javascript interruptible "h$base_access" c_access :: CString -> CInt -> IO CInt foreign import javascript interruptible "h$base_chmod" diff --git a/rts/js/config.js b/rts/js/config.js new file mode 100644 index 0000000000000000000000000000000000000000..2c60c0744f3da7793063bb4800daf9439f0bb24b --- /dev/null +++ b/rts/js/config.js @@ -0,0 +1,21 @@ +function h$rts_isThreaded() { + return 0; +} + +function h$rts_isTracing() { + return 0; +} + +function h$rts_isDynamic() { + return 0; +} + +function h$rts_isDebugged() { + return 0; +} + +function h$rts_isProfiled() { + return 0; +} + + \ No newline at end of file diff --git a/rts/js/thread.js b/rts/js/thread.js index 23e9fbfbc55af3647dc869450f6727d562037716..6a43ceef2b9f42184df2c8697c36ab985636bab3 100644 --- a/rts/js/thread.js +++ b/rts/js/thread.js @@ -1460,5 +1460,3 @@ function h$makeMVarListener(mv, stopProp, stopImmProp, preventDefault) { function h$rs() { return h$stack[h$sp]; } - -const rts_isThreaded = 0; diff --git a/rts/rts.cabal b/rts/rts.cabal index aa50ff72a4923a172688cd6749ae9b050a2e4200..23901437d7ff913798c9d3ac247d718abb0ab64c 100644 --- a/rts/rts.cabal +++ b/rts/rts.cabal @@ -99,6 +99,7 @@ library c-sources: version.c js-sources: + js/config.js js/structs.js js/arith.js js/compact.js