[Git][ghc/ghc][wip/js-staging] 539 commits: Drop a kludge for binutils<2.17, which is now over 10 years old.

Sylvain Henry (@hsyl20) gitlab at gitlab.haskell.org
Mon Nov 7 10:57:14 UTC 2022



Sylvain Henry pushed to branch wip/js-staging at Glasgow Haskell Compiler / GHC


Commits:
d45d8cb3 by M Farkas-Dyck at 2022-11-01T12:47:21-04:00
Drop a kludge for binutils<2.17, which is now over 10 years old.

- - - - -
8ee8b418 by Nicolas Trangez at 2022-11-01T12:47:58-04:00
rts: `name` argument of `createOSThread` can be `const`

Since we don't intend to ever change the incoming string, declare this
to be true.

Also, in the POSIX implementation, the argument is no longer `STG_UNUSED`
(since ee0deb8054da2a597fc5624469b4c44fd769ada2) in any code path.

See: https://gitlab.haskell.org/ghc/ghc/-/commit/ee0deb8054da2a597fc5624469b4c44fd769ada2#note_460080

- - - - -
13b5f102 by Nicolas Trangez at 2022-11-01T12:47:58-04:00
rts: fix lifetime of `start_thread`s `name` value

Since, unlike the code in ee0deb8054da2^, usage of the `name` value
passed to `createOSThread` now outlives said function's lifetime, and
could hence be released by the caller by the time the new thread runs
`start_thread`, it needs to be copied.

See: https://gitlab.haskell.org/ghc/ghc/-/commit/ee0deb8054da2a597fc5624469b4c44fd769ada2#note_460080
See: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/9066

- - - - -
edd175c9 by Nicolas Trangez at 2022-11-01T12:47:58-04:00
rts: fix OS thread naming in ticker

Since ee0deb805, the use of `pthread_setname_np` on Darwin was fixed
when invoking `createOSThread`. However, the 'ticker' has some
thread-creation code which doesn't rely on `createOSThread`, yet also
uses `pthread_setname_np`.

This patch enforces all thread creation to go through a single
function, which uses the (correct) thread-naming code introduced in
ee0deb805.

See: https://gitlab.haskell.org/ghc/ghc/-/commit/ee0deb8054da2a597fc5624469b4c44fd769ada2
See: https://gitlab.haskell.org/ghc/ghc/-/issues/22206
See: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/9066

- - - - -
b7a00113 by Krzysztof Gogolewski at 2022-11-01T12:48:35-04:00
Typo: rename -fwrite-if-simplfied-core to -fwrite-if-simplified-core

- - - - -
30e625e6 by Vladislav Zavialov at 2022-11-01T12:49:10-04:00
ThToHs: fix overzealous parenthesization

Before this patch, when converting from TH.Exp to LHsExpr GhcPs,
the compiler inserted more parentheses than required:

	((f a) (b + c)) d

This was happening because the LHS of the function application was
parenthesized as if it was the RHS.

Now we use funPrec and appPrec appropriately and produce sensibly
parenthesized expressions:

	f a (b + c) d

I also took the opportunity to remove the special case for LamE,
which was not special at all and simply duplicated code.

- - - - -
0560821f by Simon Peyton Jones at 2022-11-01T12:49:47-04:00
Add accurate skolem info when quantifying

Ticket #22379 revealed that skolemiseQuantifiedTyVar was
dropping the passed-in skol_info on the floor when it encountered
a SkolemTv.  Bad!  Several TyCons thereby share a single SkolemInfo
on their binders, which lead to bogus error reports.

- - - - -
38d19668 by Fendor at 2022-11-01T12:50:25-04:00
Expose UnitEnvGraphKey for user-code

- - - - -
77e24902 by Simon Peyton Jones at 2022-11-01T12:51:00-04:00
Shrink test case for #22357

Ryan Scott offered a cut-down repro case
(60 lines instead of more than 700 lines)

- - - - -
4521f649 by Simon Peyton Jones at 2022-11-01T12:51:00-04:00
Add two tests for #17366

- - - - -
6b400d26 by Nicolas Trangez at 2022-11-02T12:06:48-04:00
rts: introduce (and use) `STG_NORETURN`

Instead of sprinkling the codebase with
`GNU(C3)_ATTRIBUTE(__noreturn__)`, add a `STG_NORETURN` macro (for,
basically, the same thing) similar to `STG_UNUSED` and others, and
update the code to use this macro where applicable.

- - - - -
f9638654 by Nicolas Trangez at 2022-11-02T12:06:48-04:00
rts: consistently use `STG_UNUSED`

- - - - -
81a58433 by Nicolas Trangez at 2022-11-02T12:06:48-04:00
rts: introduce (and use) `STG_USED`

Similar to `STG_UNUSED`, have a specific macro for
`__attribute__(used)`.

- - - - -
41e1f748 by Nicolas Trangez at 2022-11-02T12:06:48-04:00
rts: introduce (and use) `STG_MALLOC`

Instead of using `GNUC3_ATTRIBUTE(__malloc__)`, provide a `STG_MALLOC`
macro definition and use it instead.

- - - - -
3a9a8bde by Nicolas Trangez at 2022-11-02T12:06:48-04:00
rts: use `STG_UNUSED`

- - - - -
9ab999de by Nicolas Trangez at 2022-11-02T12:06:48-04:00
rts: specify deallocator of allocating functions

This patch adds a new `STG_MALLOC1` macro (and its counterpart
`STG_MALLOC2` for completeness) which allows to specify the deallocation
function to be used with allocations of allocating functions, and
applies it to `stg*allocBytes`.

It also fixes a case where `free` was used to free up an
`stgMallocBytes` allocation, found by the above change.

See: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-malloc-function-attribute
See: https://gitlab.haskell.org/ghc/ghc/-/issues/22381

- - - - -
81c0c7c9 by Nicolas Trangez at 2022-11-02T12:06:48-04:00
rts: use `alloc_size` attribute

This patch adds the `STG_ALLOC_SIZE1` and `STG_ALLOC_SIZE2` macros which
allow to set the `alloc_size` attribute on functions, when available.

See: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-alloc_005fsize-function-attribute
See: https://gitlab.haskell.org/ghc/ghc/-/issues/22381

- - - - -
99a1d896 by Nicolas Trangez at 2022-11-02T12:06:48-04:00
rts: add and use `STG_RETURNS_NONNULL`

See: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-returns_005fnonnull-function-attribute
See: https://gitlab.haskell.org/ghc/ghc/-/issues/22381

- - - - -
c235b399 by Nicolas Trangez at 2022-11-02T12:06:48-04:00
rts: tag `stgStrndup` as `STG_MALLOC`

See: https://gitlab.haskell.org/ghc/ghc/-/issues/22381

- - - - -
ed81b448 by Oleg Grenrus at 2022-11-02T12:07:27-04:00
Move Symbol implementation note out of public haddock

- - - - -
284fd39c by Ben Gamari at 2022-11-03T01:58:54-04:00
gen-dll: Drop it

Currently it is only used by the make build system, which is soon to be
retired, and it has not built since 41cf758b. We may need to reintroduce
it when dynamic-linking support is introduced on Windows, but we will
cross that bridge once we get there.

Fixes #21753.

- - - - -
24f4f54f by Matthew Pickering at 2022-11-03T01:59:30-04:00
Port foundation numeric tests to GHC testsuite

This commit ports the numeric tests which found a regression in GHC-9.4.

https://github.com/haskell-foundation/foundation/issues/571

Included in the commit is a simple random number generator and
simplified QuickCheck implementation. In future these could be factored
out of this standalone file and reused as a general purpose library
which could be used for other QuickCheck style tests in the testsuite.

See #22282

- - - - -
d51bf7bd by M Farkas-Dyck at 2022-11-03T02:00:13-04:00
git: ignore HIE files.

Cleans up git status if one sets -fwrite-ide-info in hadrian/ghci.

- - - - -
a9fc15b1 by Matthew Pickering at 2022-11-03T02:00:49-04:00
Clarify status of bindings in WholeCoreBindings

Gergo points out that these bindings are tidied, rather than prepd as
the variable claims. Therefore we update the name of the variable to
reflect reality and add a comment to the data type to try to erase any
future confusion.

Fixes #22307

- - - - -
634da448 by Bodigrim at 2022-11-03T21:25:02+00:00
Fix haddocks for GHC.IORef

- - - - -
31125154 by Andreas Klebinger at 2022-11-03T23:08:09-04:00
Export pprTrace and friends from GHC.Prelude.

Introduces GHC.Prelude.Basic which can be used in modules which are a
dependency of the ppr code.

- - - - -
bdc8cbb3 by Bryan Richter at 2022-11-04T10:27:37+02:00
CI: Allow hadrian-ghc-in-ghci to run in nightlies

Since lint-submods doesn't run in nightlies, hadrian-ghc-in-ghci needs
to mark it as "optional" so it can run if the job doesn't exist.

Fixes #22396.

- - - - -
3c0e3793 by Krzysztof Gogolewski at 2022-11-05T00:29:57-04:00
Minor refactor around FastStrings

Pass FastStrings to functions directly, to make sure the rule
for fsLit "literal" fires.

Remove SDoc indirection in GHCi.UI.Tags and GHC.Unit.Module.Graph.

- - - - -
d09abf1b by Josh Meredith at 2022-11-07T12:00:33+01:00
Add ghcjs changes to deriveConstants:

- change String targetOS option in deriveConstants to an enum
- separate out getWantedGHSJS, removing generated c file in this path

- - - - -
6bd13738 by doyougnu at 2022-11-07T12:00:33+01:00
Add JavaScript code generator

Adapt code generator of GHCJS to GHC head. Currently it is only enabled
with the hidden -fjavascript flag. It produces .o files that can't be
used yet except by GHCJS's linker.

Codegen: doc

Codegen: correctly return linkable object

Now we can build a static library (-staticlib)

Codegen: doc genLit

Codegen: use assignAll

Codegen: introduce TypedExpr

Refactor assignAll et al, add documentation

Codegen: minor changes

Doc

- - - - -
738487c4 by doyougnu at 2022-11-07T12:00:33+01:00
Add JS.Rts

JS.Rts: compiles

reword: progress on RtsTypes

StgToJS.Config: add SDoc Context

JSRts: move ppr, workaround def type

JSRts.Types: compiles

JS.Rts: closer to compiling

JS.Rts: move jsIdIdent' to StgToJS.Monad

JS.Rts: remove unused predicates

JS: cleanup, comment sections, math funcs to Make

JS.Rts.Types: compiles

StgToJS.Expr: fix compilation errors

StgToJS.DataCon: move initClosure

JS.Rts: remove Alloc module

JS.Rts: initalize Rts module, remove redundant fs

JS: init Rts.Alloc move initClosure

JS.Apply: unwinding combinators in progress

JS: add helpers and fixmes

JS.Rts.Apply: no more e's, add closure, reg helper

StgToJS: add ToStat instance ClosureInfo

JS.Rts.Apply: closer to compiling

JS.Rts.Apply: more removal of #

JS.Rts.Apply: (#) removed

JS.Rts.Apply: compiles

JS.Rts.Rts: just pretty printing left

JS.Rts: Add Notes

JS.Rts: add file headers and notes

JS.Rts.Rts: fixing stringy issues

JS.Rts.Rts: compiles

JS.Rts.Rts: fix non-exhaustive patterns warnings

- - - - -
ecb1dcda by Sylvain Henry at 2022-11-07T12:00:33+01:00
Doc has been moved into GHC.StgToJs top-level module

- - - - -
a6b52a82 by Sylvain Henry at 2022-11-07T12:00:33+01:00
JS.Rts; refactoring and move to StgToJS

* add closure manipulation helpers and use them in Apply
* add cache (Array) for pre-generated PAP names
* reduce line length:
  * use BlockArguments instead of parens
  * remove implicit mconcat in jVar's body

Rts: more refactorings

Rts: move into StgToJS hierarchy

- - - - -
2bff9508 by Sylvain Henry at 2022-11-07T12:00:34+01:00
JS: cleanup, renaming, better module layout

Various degrees of cleanup adapting GHCJS to GHC. We move several
functions to CoreUtils, remove duplication between the JS.Rts.Apply and
Apply module and factor out closure related code into a Closure module
for cohesion.

Deduplicate code between Rts.Apply and Apply

Move might_be_a_function into CoreUtils

Factorize closure stuff into Closure module

Rename closureExtra into closureField

Minor renamings, comments...

- - - - -
7c224ad3 by Sylvain Henry at 2022-11-07T12:00:34+01:00
JS.Backend: add FFI code but don't implement yet

FFI: don't crash on JavaScript foreign imports

Note that they are still not desugared properly!!

But the following cmd doesn't crash anymore:

  ghc -fjavascript Test.hs -fforce-recomp -ddump-tc -fno-code -ddump-ds

FFI: adapt GHCJS desugarer

FFI: support direct application

The following example:

  foo :: Int# -> Int#
  foo = add 50000#

  foreign import javascript
    "(function(x,y) { return (x + y) })"
    add :: Int# -> Int# -> Int#

is compiled into an application like this:

  var h$mainZCMzifoozur2_e;
  h$mainZCMzifoozur2_e = (function()
                            {
                            var h$mainZCMziaddzur1;
                            h$mainZCMziaddzur1 = h$r1.d1;
                            var h$$mainZCMzietazuB0_8KXnScrCjF5;
                            h$$mainZCMzietazuB0_8KXnScrCjF5 = h$r2;
                            h$r3 = h$$mainZCMzietazuB0_8KXnScrCjF5;
                            h$r2 = 50000;
                            h$r1 = h$mainZCMziaddzur1;
                            return h$ap_2_2_fast();
                            return h$rs();
                          });
  var h$mainZCMziaddzur1_e;
  h$mainZCMziaddzur1_e = (function()
                            {
                            var h$$mainZCMzidszusAk_236l8r0P8S9;
                            h$$mainZCMzidszusAk_236l8r0P8S9 = h$r2;
                            var h$$mainZCMzids1zusAl_336l8r0P8S9;
                            h$$mainZCMzids1zusAl_336l8r0P8S9 = h$r3;
                            var h$$mainZCM_2;
                            var h$$mainZCMziwildzusAn_536l8r0P8S9;
                            try
                              {
                              h$$mainZCMziwildzusAn_536l8r0P8S9 = (function(x,y) { return (x + y) })(h$$mainZCMzidszusAk_236l8r0P8S9, h$$mainZCMzids1zusAl_336l8r0P8S9)
                            }
                            catch(except)
                              {
                              return h$throwJSException(except)
                            };
                            var h$$mainZCMzids3zusAp_736l8r0P8S9;
                            h$$mainZCMzids3zusAp_736l8r0P8S9 = h$$mainZCMziwildzusAn_536l8r0P8S9;
                            h$r1 = h$$mainZCMzids3zusAp_736l8r0P8S9;
                            return h$rs();
                          });

FFI: correctly dispatch for foreign exports too

FFI: move C FFI desugaring into its own module

FFI: avoid DynFlags in toJsName (copy of toCName)

- - - - -
1090c425 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Configure: preliminary support for triple js-unknown-ghcjs

- - - - -
7f544810 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Driver: enable JS backend by default for JS arch

- - - - -
41c4d8f3 by doyougnu at 2022-11-07T12:00:34+01:00
JS.Backend: Add JS specific Linker

JS: initialize Linker, DynamicLinking

JS.Printer: adapted to GHC Head

JS.Printer: some cleanup and init Printer

StgToJS.Printer: Compiles

JS.Linker: Add types, expose JS keywords

JS.Syntax: add Binary instance on Ident's

JS.Linker: Migrate more Types to Data.Binary

JS.Linker.Types: compiles and adapted to GHC Head

JS.Linker.Types: compiles

JS.Linker.Types: add UseBase type

JS.Linker: Comments and Cleanup

JS.Linker.Types: add TH types, Env type, DepsLoc

JS.Linker: more FIXMEs numerous Linker fixes

JS.Linker: removed Text references

JS.UnitUtils: add package related helper functions

JS.Linker: more DynFlags removal

JS.Linker: Time for semantic errors

JS.Linker: DynFlags finally removed

JS.Linker: 107 compile errors to go

JS.Linker.Utils: initialized, adapted to GHC Head

JS.Linker.Utils: initialize Utils module

JS.Linker.Utils: more utils

JS.Rts: move rtsText to Rts

JS.Linker: linkerStats implemented

JS.Compactor: compiles, adapted to GHC Head

JS.Compactor: have to retrofit compact for linker

JS.Linker.Compactor: unwinding lenses

JS.Linker.Compactor: comments over addItem

JS.Linker.Compactor: Lenses removed

JS.Linker.Compactor: SHA256 removed

JS.Linker.Compactor: only missing instances left

JS.Linker.Compactor: compiles

JS.Linker: compiles, adapted to ghc Head

JS.Linker: More progress

JS.Linker: link in memory compiles

JS.Linker: just shims left

JS.Linker.DynamicLinking compiles: adapted to head

JS.Linker.DynamicLinking: initialization

JS.Linker.DynamicLinking: compiles up to Variants

JS.Variants: initialize

JS.Linker: numerous and various fixes

JS.Linker.DynamicLinking: only small errors left

JS.Linker.Archive: compiles, adapted to GHC Head

JS.Linker: initialize Archive compat module

JS.Linker.Archive: minor fixes

JS.Linker.DynamicLinking: compiles

JS.Linker: cleanup, remove Variants, add comments

fixup: more cleanup

JS.Linker: more cleanup and comments

- - - - -
ccf7a594 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Minor panic fix

- - - - -
d76a35c4 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Linker: fix stage2 build

- - - - -
a9365fec by Sylvain Henry at 2022-11-07T12:00:34+01:00
Configure: Add support fo JS as unregistered ABI

Configure: detect emscripten tools

e.g. on ArchLinux:

  EMSDK=/usr/lib/emscripten EMSDK_LLVM=/opt/emscripten-llvm ./configure --target=js-unknown-ghcjs

Configure: detect nm tool too, required by Hadrian

Configure: make StgToJS use non-unregisterised ABI

It should probably be a third kind of ABI...

- - - - -
c3a401e4 by doyougnu at 2022-11-07T12:00:34+01:00
JS.Linker: Hook up to GHC.Driver.Pipeline

JS.Linker.Types: Add newGhcjsEnv function

JS.UnitUtils: fix encodeModule api

JS.Linker: more removal of HscEnv

JS.Linker: hooked into GHC.Driver.Pipeline

- - - - -
41f8a897 by Sylvain Henry at 2022-11-07T12:00:34+01:00
VERY WIP Hadrian/rts fixes

export EMSDK_LLVM=/opt/emscripten-llvm
export EMSDK=/usr/lib/emscripten
export PATH=./inplace/ghcjs_toolchain/bin:$PATH

./configure --target=js-unknown-ghcjs
./hadrian/build --flavour=quick-js -j --bignum=native --docs=none -V

- - - - -
41e1b278 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Force creation of rts library with dummy file

- - - - -
0a0946f1 by Sylvain Henry at 2022-11-07T12:00:34+01:00
ghc-prim: avoid building C files

- - - - -
c55a0a7a by Sylvain Henry at 2022-11-07T12:00:34+01:00
Hadrian: disable -fllvm

- - - - -
319ee9dd by Sylvain Henry at 2022-11-07T12:00:34+01:00
JS: fix caches

Note that the fact that we need index 0 may hide another issue...

- - - - -
456ede77 by Sylvain Henry at 2022-11-07T12:00:34+01:00
codegen: enhance genCon debug message

- - - - -
a0151e9b by Sylvain Henry at 2022-11-07T12:00:34+01:00
RTS: fix stupid comment

- - - - -
105f0af6 by Sylvain Henry at 2022-11-07T12:00:34+01:00
RTS: embed headers

- - - - -
1ab421a8 by Sylvain Henry at 2022-11-07T12:00:34+01:00
JS.StgToJS: add documentation header for JS Types

- - - - -
c51785f0 by Sylvain Henry at 2022-11-07T12:00:34+01:00
CodeGen: refactor ExprCtx code

- - - - -
c8917cab by Sylvain Henry at 2022-11-07T12:00:34+01:00
CodeGen: cache LNE frame size

- - - - -
94bb2bc0 by doyougnu at 2022-11-07T12:00:34+01:00
JS.Types: Add Outputable for TypedExpr

- - - - -
7af85c21 by doyougnu at 2022-11-07T12:00:34+01:00
JS.CoreUtils: handle IOPort case

- - - - -
c5b7b803 by doyougnu at 2022-11-07T12:00:34+01:00
JS.Expr: Fix unhandled datacon for RuntimeRep

- - - - -
dce84f28 by doyougnu at 2022-11-07T12:00:34+01:00
JS.Literals: Adapt genLit to new Literal domain

- - - - -
62358052 by Sylvain Henry at 2022-11-07T12:00:34+01:00
RTS: expose more headers (required to build base)

- - - - -
92f2c14c by Sylvain Henry at 2022-11-07T12:00:34+01:00
Base: don't build C and Cmm sources with ghcjs

- - - - -
52f6fd8a by Sylvain Henry at 2022-11-07T12:00:34+01:00
Tentatively set NO_REGS for JS platforms

- - - - -
aa675717 by Sylvain Henry at 2022-11-07T12:00:34+01:00
CodeGen: output LitRubbish as null JS values

- - - - -
328a5af7 by Sylvain Henry at 2022-11-07T12:00:34+01:00
base: disable forkOS and bound thread machinery

- - - - -
7f0dc7f8 by Sylvain Henry at 2022-11-07T12:00:34+01:00
CodeGen: support StackSnapshot# in primTypeVt

- - - - -
2cc5c53a by Sylvain Henry at 2022-11-07T12:00:34+01:00
CodeGen: better debug message for assignCoerce1

- - - - -
5611fe97 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Misc: enable HasDebugCallStack for zipWithEqual*

- - - - -
66db7f4a by Sylvain Henry at 2022-11-07T12:00:34+01:00
CodeGen: remove useless imports

- - - - -
46824950 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Stg: expose pprStgAlt

- - - - -
4232738c by Sylvain Henry at 2022-11-07T12:00:34+01:00
CodeGen: restore assignAll (instead of assignAllEqual)

- - - - -
6d43e44f by Sylvain Henry at 2022-11-07T12:00:34+01:00
CodeGen: handle proxy#

- - - - -
500c9f71 by doyougnu at 2022-11-07T12:00:34+01:00
ghc-heap: Don't compile Cmm file for JS-Backend

- - - - -
72e9c191 by doyougnu at 2022-11-07T12:00:34+01:00
Driver.Main: minor refactor do_code_gen

To clearly separate the JS-Backend from any other backend

- - - - -
9820844f by Sylvain Henry at 2022-11-07T12:00:34+01:00
Configure: fix echo on Mac, add ghcjs target OS

- - - - -
9fe96eb3 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Configure: fix previous commit

- - - - -
ecfe62e6 by Luite Stegeman at 2022-11-07T12:00:34+01:00
fix package name in module name field of system dependencies

- - - - -
73db9c90 by Luite Stegeman at 2022-11-07T12:00:34+01:00
fix duplicate module name in symbols

- - - - -
855cb3ab by doyougnu at 2022-11-07T12:00:34+01:00
GHCi.FFI: ignore ffi.h and friends for js-backend

- - - - -
ea8432b0 by Sylvain Henry at 2022-11-07T12:00:34+01:00
RTS: fix build of native rts

- - - - -
0a17a844 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Remove temporary -fjavascript flag

- - - - -
deb4af70 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Codegen: fix symbol names ppr

- - - - -
ecc896fa by Sylvain Henry at 2022-11-07T12:00:34+01:00
Outputable: add ShortText instance

- - - - -
ab0d86b6 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Linker: enhance debugging message

- - - - -
58e37190 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Remove unused ghcjs unit related code

- - - - -
e1b058cc by Sylvain Henry at 2022-11-07T12:00:34+01:00
ghci: Avoid unused-xyz warnings

- - - - -
9525bf65 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Linker: remove wiring of ghcjs-prim and ghcjs-th

They will be replaced by ghc-prim, base, template-haskell, etc.

- - - - -
8024bf44 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Add outputable instance for Deps

- - - - -
f4dbff31 by doyougnu at 2022-11-07T12:00:34+01:00
Docs: JS.Syntax, JS.Make docs done

JS-backend: Add documentation headers

Docs: JS.Syntax done

Docs: JS.Make done

Docs: JS.Make JS.Syntax refined a bit

- - - - -
22e86d56 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Rename u_env into unit_env (more common)

- - - - -
6a9c4029 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Linker: deduplication + fixes

- deduplicate code that was copied from old GHC
- explicitly add preloadUnits to the link
- avoid calling getShims

- - - - -
5470aec3 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Linker: reenable packStrings (not yet implemented though)

- - - - -
b166da7a by Sylvain Henry at 2022-11-07T12:00:34+01:00
ShortText: add singleton

- - - - -
d47c2700 by Sylvain Henry at 2022-11-07T12:00:34+01:00
Linker: force less efficient (but working) static encoding

- - - - -
1db40200 by Luite Stegeman at 2022-11-07T12:00:34+01:00
add GHCJS modules to base package

- - - - -
6feddcce by Sylvain Henry at 2022-11-07T12:00:34+01:00
Linker: remove JS Shims,tiny GHC.Linker refactor

- - - - -
a983f726 by doyougnu at 2022-11-07T12:00:34+01:00
Hadrian: QuickJS ways [] --> Set

- - - - -
8d5f1d95 by doyougnu at 2022-11-07T12:00:34+01:00
JS-Backend: rebased to master 468f919b

First rebase of the JS-Backend. This rebase includes the JS backend
combined with !7442 (new backend design). Unfortunately we have to short
circuit the new backend design because the JS backend takes over after
STG and not after StgToCmm.

What's working:
  - hadrian builds JS backend
  - JS backend outputs .js files and "links" them

What still has to be done:
   - JS backend is missing core js libraries as we add these we
   discover bugs in the linker and js rts.

- - - - -
8019ccc7 by doyougnu at 2022-11-07T12:00:34+01:00
JS: silence haddock warnings

JS Backend: remove misc. warnings

- - - - -
4c313565 by doyougnu at 2022-11-07T12:00:35+01:00
JS Backend: ghcjs_HOST_OS --> js_HOST_ARCH

- - - - -
47fbb847 by Sylvain Henry at 2022-11-07T12:00:35+01:00
JS.Linker: add shims

GHCJS uses JS files for primitive things like the GC and RTS. We call
these JS files "shims". This sequence of commits adds shims from JS and
includes them for linking. In addition the shim directory is controlled
via an evironment variable JS_RTS_PATH...at least for now.

Linker: implement tryReadShimFile

Linker: link with shims provided via an env variable

Use JS_RTS_PATH to provide a directory into which .js and .js.pp files
will be linked into rts.js

JS.Linker: add js dir at root, fix js cpp includes

JS.gc.pp: remove variadic macro

JS.RTS: add rts JS shims files, remove shim CPP

RTS: remove the need for rts.h and add rts JS files

rts.h only contained a few constants duplicated in the codegen. Let's
use the Haskell version as the single source of truth and pass defined
values explicitly to cpp command line ("-DXYZ=abc" arguments).

Also switch from "raw" (use_cpp_and_not_cc_dash_E = True) to the
opposite: in both case we call "cc -E" (meh), but with False the
preprocessor doesn't choke one varargs in macros.

RTS: remove integer.js.pp

We use the native ghc-bignum backend, so we don't need the GMP
compatible JS code.

In addition, this code was failing to run as it requires the JSBN
(https://www.npmjs.com/package/jsbn) "Javascript big number" library,
which we don't necessarily have installed.

RTS: fix typo in field name

RTS: generate CPP macros in Haskell

RTS: share common CPP def into CAFs

- - - - -
e47325bf by Sylvain Henry at 2022-11-07T12:00:35+01:00
Linker: add more types

Some cleanup

Enhance and fix LinkerStats

Document and refactor renderLinker

Split collectDeps

Fix collectDeps

Fix linker stats rendering

Remove unused seqListSpine

It isn't used in ghcjs either

- - - - -
635ed794 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Add some missing primops (Word32,Int32)

Also fix the rendering of missing primops (they must be z-encoded to
avoid having a "#" in their JS name)

- - - - -
f7c77613 by Sylvain Henry at 2022-11-07T12:00:35+01:00
FFI: desugar every foreign import/export in JS with JS backend

It means we also desugar CApi calls into JS.

It's probably wrong but instead of generating invalid JS we will only
get the failure at runtime when we will use the function.

fixup

- - - - -
977fd807 by doyougnu at 2022-11-07T12:00:35+01:00
JS.Linker: remove dflags includePath workaround.

We implemented a workaround for shims that modified the dynflags
includePaths so that the JS backend would find the rts.h file during CPP
of shims. Since aebcca98 this is no longer required because we've
removed the need for rts.h completely. Thus, this commit reverts that
modification.

- - - - -
e1c37437 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Temporarily wire-in base's shim

Use JS_BASE_PATH env var to set base's shim directory (js_base for now)

Also minor other changes

base: fix encoding for JS arch

- - - - -
3459b38e by Sylvain Henry at 2022-11-07T12:00:35+01:00
Add primops

Add primop

- - - - -
3140788f by doyougnu at 2022-11-07T12:00:35+01:00
Make Shims type, refactor JS Linker

This commit:
 - Adds a proper Shim type and associated utilities. These utitlies are
 purposefully limited to ensure the ShimLbl tag is preserved thus
 guarenteeing shim ordering at link time.
 - Refactors the JS backend linker to use this ordering and Shim API.
 The ordering is not correct (yet!) but with this API its much easier to
 triage, experiment and diagnose link time issues.

Refactor linker to compile time shim ordering

- - - - -
b8645824 by doyougnu at 2022-11-07T12:00:35+01:00
Base: Adapt primitives to JS backend, add base.js

- - - - -
92367ef7 by doyougnu at 2022-11-07T12:00:35+01:00
Base: Remove binding forms in JS ffi

- - - - -
3597662f by Josh Meredith at 2022-11-07T12:00:35+01:00
Replace GHCJS Objectable with GHC Binary

- - - - -
bf69529f by Sylvain Henry at 2022-11-07T12:00:35+01:00
Binary: remove unused Map instance

- - - - -
921f9de8 by Sylvain Henry at 2022-11-07T12:00:35+01:00
CodeGen: Add export list

- - - - -
ed2093b7 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Primops: add some Int64/Word64 primops

- - - - -
0c2bebfb by Sylvain Henry at 2022-11-07T12:00:35+01:00
base: fix one ffi import

- - - - -
56d76aad by doyougnu at 2022-11-07T12:00:35+01:00
base: CPP for JS-backend, adapt write in base shim

This commit ports over each CPP directive from GHCJS to base. In
addition, it adds struct.js.pp to Base shim directory and modifies
h$base_write to always take 6 arguments. Thereby avoiding errors such as
"c(bytesWritten) is not a function". The missing parameter was the file
descriptor object, fdo, which was looked up in the function itself and
is now passed through to comport with the FFI expectations.

- - - - -
cba6fd53 by doyougnu at 2022-11-07T12:00:35+01:00
fixup: remove redundant struct.js.pp in js_base

- - - - -
465e6c0f by doyougnu at 2022-11-07T12:00:35+01:00
JS.Linker: enable linker RTS symbols

- - - - -
b8938f1a by doyougnu at 2022-11-07T12:00:35+01:00
base.GHCJS: adapt Prim to direct call FFI format

- - - - -
15dd0d20 by doyougnu at 2022-11-07T12:00:35+01:00
Linker: Load JSVal from base not ghc-prim

- - - - -
ba8a8326 by doyougnu at 2022-11-07T12:00:35+01:00
fixup: caught one more reference to JSVal in prim

- - - - -
f2c8bf6b by Sylvain Henry at 2022-11-07T12:00:35+01:00
base: match on js arch , not ghcjs os

- - - - -
da615501 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Fix MK_JSVAL

- - - - -
9bc62456 by doyougnu at 2022-11-07T12:00:35+01:00
Prim: cleanup comments

- - - - -
773d24b0 by doyougnu at 2022-11-07T12:00:35+01:00
JS.Prim: add Int64 PrimOps

- - - - -
c7129b71 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Vendor MD5 lib

- - - - -
5a9e1448 by Sylvain Henry at 2022-11-07T12:00:35+01:00
More 64-bit primops

- - - - -
682a7fe2 by Sylvain Henry at 2022-11-07T12:00:35+01:00
CodeGen: use if10 helper

- - - - -
e84fe34e by Sylvain Henry at 2022-11-07T12:00:35+01:00
Ppr: fix selector to avoid adding a newline

- - - - -
d7814295 by doyougnu at 2022-11-07T12:00:35+01:00
base: GHCJS.Prim make ffi imports use anon funcs

- - - - -
ba7fea58 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Linker: disable invalid constructors again

- - - - -
71ca2fe3 by Sylvain Henry at 2022-11-07T12:00:35+01:00
More 64-bits primops

- - - - -
32b6329f by Sylvain Henry at 2022-11-07T12:00:35+01:00
Fix base_write function

- - - - -
6d1fc260 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Fix base_write for 32-bit size_t

- - - - -
992fcdf4 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Configure: fix detection of the target toolchain

- - - - -
4f7a2db8 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Remove js_base directory

- - - - -
871ca41c by Sylvain Henry at 2022-11-07T12:00:35+01:00
Kill Node when the main loop reports an unhandled exception

- - - - -
4a7b2a4c by Sylvain Henry at 2022-11-07T12:00:35+01:00
CodeGen: preparation to make match on primops complete

- - - - -
2d4badb4 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Primops: fix Compact primops

- - - - -
26207ba1 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Ignore result arity for some exception primops

- - - - -
75f2c996 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Fix more primops. Bump array submodule!

- - - - -
f9b397ef by Sylvain Henry at 2022-11-07T12:00:35+01:00
Compact: fix return of 3 values

- - - - -
1db3bace by Sylvain Henry at 2022-11-07T12:00:35+01:00
Configure: switch to absolute path

- - - - -
593008fc by Sylvain Henry at 2022-11-07T12:00:35+01:00
Add a few primops

- - - - -
30d50c45 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Primop: implement WordAdd2

- - - - -
617c747c by Luite Stegeman at 2022-11-07T12:00:35+01:00
quick fix for uTypeVt and typePrimRep panics

this may cause other panics, a full fix will require a bit
more rework and probably removal of VarType

- - - - -
3b18df0f by Josh Meredith at 2022-11-07T12:00:35+01:00
Replace ShortText with (Lexical)FastString in GHCJS backend

- - - - -
2400d26d by Sylvain Henry at 2022-11-07T12:00:35+01:00
Primops: add arithmetic ops

Primops: add decodeDoubleInt64 back

Primop: added timesInt2#

Primop: add mulWord32 and mul2Word32

- - - - -
ad4ee81a by Sylvain Henry at 2022-11-07T12:00:35+01:00
Reduce dependency on goog

- - - - -
21735096 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Primop: implement quotWord32, remWord32, and quotRemWord32

- - - - -
2edb0b82 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Primop: Implement quotRem2Word32, misc fixes

Primop: implement quotRem2Word32

Primop: fix timesInt2#

Primop: fix some shifting primops

- - - - -
e20cba3e by Sylvain Henry at 2022-11-07T12:00:35+01:00
Fix bug in upd_frame

I've introduced this bug when I've refactored the code to use helpers to
assign closures.

- - - - -
7f537e7a by Sylvain Henry at 2022-11-07T12:00:35+01:00
Primop: throw an exception for unimplemented primops

- - - - -
83dfc076 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Primop: fix remWord32

- - - - -
f42159b3 by Josh Meredith at 2022-11-07T12:00:35+01:00
Configure: add EMSDK_BIN, match emsdk expectations

Change EMSDK vars to match emscripten/emsdk_env.sh definitions

Add EMSDK_BIN environment variable to configure

- - - - -
32882e54 by Sylvain Henry at 2022-11-07T12:00:35+01:00
resultSize: correctly handle Void#

- - - - -
514e8c14 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Primop: fix Sized test, more shifting fixes

Primop: ensure that we return u32 values for word primops

Also a refactoring from i3 to i32 for clarity.

Primop: add/fix more shifting primops

Primops: fix Sized test!

- - - - -
88194d7b by Sylvain Henry at 2022-11-07T12:00:35+01:00
StgToJS.Apply: Docs

Doc

Doc

- - - - -
c79a0c39 by Josh Meredith at 2022-11-07T12:00:35+01:00
Fix EMSDK configure condition

- - - - -
f07e1d11 by doyougnu at 2022-11-07T12:00:35+01:00
StgToJS.Arg: Unboxable Literal Optimization note

- - - - -
e5d6ed21 by Sylvain Henry at 2022-11-07T12:00:35+01:00
Fix Outputable instances for JExpr/JVal

- Put orphan instances in JS.Ppr
- Also fix some redundant imports

- - - - -
f1f2d7db by doyougnu at 2022-11-07T12:00:35+01:00
configure: avoid CXX stdlib check for js backend

and some cleanup for a previously mis-applied commit during rebasing

- - - - -
1a0c333a by doyougnu at 2022-11-07T12:00:35+01:00
fixup: misc. fixes post rebase

- - - - -
411d14d6 by Sylvain Henry at 2022-11-07T12:00:35+01:00
PrimOps: add more 64-bit primops

PrimOp: implement more 64-bit primops + PM fix

Ensure that we cover every primop explicitly

- - - - -
94307203 by Sylvain Henry at 2022-11-07T12:00:35+01:00
PrimOp: correclty (un)handle new thread related primops

- - - - -
49613364 by Sylvain Henry at 2022-11-07T12:00:35+01:00
PrimOp: disable LabelThreadOp for now

- - - - -
79e746f4 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Minor doc/cleanup

Fix more redundant imports

- - - - -
0f5e2f50 by doyougnu at 2022-11-07T12:00:36+01:00
base: GHCJS.Prim directory --> GHC.JS.Prim

- - - - -
14bedc65 by Luite Stegeman at 2022-11-07T12:00:36+01:00
implement KeepAlive primop

- - - - -
d067de93 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Remove orphan instance for StaticArg

- - - - -
86b6b460 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Remove redundant jsIdIdent' function

- - - - -
4af84746 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Split StgToJS.Monad into StgToJS.{Monad,Ids,Stack}

- - - - -
b3081791 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Apply: remove commented case (wasn't optimized either in latest ghcjs)

- - - - -
fb37ff54 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Doc: Apply

Apply: doc and refactoring

- use new types instead of Bool/Int
- factorize some code

- - - - -
a640461f by Sylvain Henry at 2022-11-07T12:00:36+01:00
Primop: arith fixes

Primop: fix 64-bit shifting primops + add some traces

Primop: fix quotRem2Word32

Primop: fix timesInt2. Progress towards passing arith003

PrimOp: fix timesInt32

PrimOp: use mulWord32 when appropriate

- - - - -
21c010a3 by doyougnu at 2022-11-07T12:00:36+01:00
Configure: remove EMSDK hacks and wrapper scripts

configure JS: remove wrapper scripts

Configure: remove EMSDK hacks. Use emconfigure instead

emconfigure ./configure --target=js-unknown-ghcjs

- - - - -
28cb06be by Sylvain Henry at 2022-11-07T12:00:36+01:00
GHCJS.Prim leftovers

- - - - -
a93d55fb by Sylvain Henry at 2022-11-07T12:00:36+01:00
Linker: fix linking issue for tuples

- - - - -
d1c70cc9 by Sylvain Henry at 2022-11-07T12:00:36+01:00
FFI: remove narrowing

Fix tests such as cgrun015 (Core lint error)

- - - - -
ac79e112 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Linker: disable logs with default verbosity

- - - - -
90dda4b3 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Append program name in top-level exception handler

- - - - -
73ea86c6 by doyougnu at 2022-11-07T12:00:36+01:00
GHC.JS: Remove FIXMEs

JS.Syntax: Remove FIXMEs

JS.Make: remove FIXMEs

JS.Ppr/Transform: Remove FIXMEs

- - - - -
07912155 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Primop: fix timesInt2#

Pass arith003 test

- - - - -
1ec9dedf by doyougnu at 2022-11-07T12:00:36+01:00
JS.Linker.Linker: remove FIXMEs, clean dead code

- - - - -
a801ff8b by Sylvain Henry at 2022-11-07T12:00:36+01:00
Linker: link platform shim before the others

- - - - -
9022e6d8 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Primops: rework 64-bit and Word32 primops

- Use BigInt instead of complex and buggy bit twiddling. We'll assess
  performance later. Let's use a correct and simple implementation for
  now.

- Implement previously missing 64-bit quot and rem

- Refactor logical operators and Prim module more generally

- - - - -
9710cdb4 by Sylvain Henry at 2022-11-07T12:00:36+01:00
PrimOp: fixup previous commit...

- - - - -
0e44482f by Sylvain Henry at 2022-11-07T12:00:36+01:00
Primop: fixup previous commit

- - - - -
78fd1d48 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Doc: minor changes

- - - - -
f3193316 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Add debug option to watch for insertion of undefined/null in the stack

- - - - -
6aa1d4f3 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Apply: fix tag generation

- - - - -
a824adcd by Sylvain Henry at 2022-11-07T12:00:36+01:00
Remove redundant import

- - - - -
4fd90a91 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Testsuite: disable Cmm tests with the JS backend

- - - - -
dc586ea6 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Base: fix c_interruptible_open

- - - - -
670ed5de by Sylvain Henry at 2022-11-07T12:00:36+01:00
Base: fix typo in long_from_number

- - - - -
8ea599ec by Sylvain Henry at 2022-11-07T12:00:36+01:00
Env: only add program name to errors, not to traces

- - - - -
85055571 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Testsuite: disable more Cmm tests

- - - - -
fee05623 by doyougnu at 2022-11-07T12:00:36+01:00
JS.Linker: removes FIXMEs

JS.Linker.Linker: remove FIXMEs, clean dead code

StgToJS.Linker.Utils: remove FIXMEs

Compactor: Remove FIXMEs

StgToJS.Linker.Types: Remove FIXMEs

JS.Linker.Archive/Dynamic: remove FIXMEs

StgToJS.Linker.Shims: remove FIXMEs

- - - - -
1ae2652c by doyougnu at 2022-11-07T12:00:36+01:00
JS RTS: remove FIXMEs

StgToJS.Rts.Types: Remove FIXMEs

- - - - -
455ad343 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Primop: fix bswap32/64 (cf cgrun072)

- - - - -
2cd32988 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Testsuite: normalise ghc program name

- - - - -
592f1b1e by doyougnu at 2022-11-07T12:00:36+01:00
JS Backend: Remove FIXMEs

StgToJS.Apply: Remove FIXMEs

StgToJS.FFI: remove FIXMEs

StgToJS.Expr: remove FIXMEs

StgToJS: Remove FIXMEs

- - - - -
59756089 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Enable RTS args filtering (cf cgrun025)

- - - - -
f1e20ed0 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Remove trailing whitespaces (whitespace test)

- - - - -
6b2bf4d9 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Testsuite: remove platform prefix for unlit tool

- - - - -
7c3c35ea by Sylvain Henry at 2022-11-07T12:00:36+01:00
Primop: fix Int64 conversion/negate (integerConversions test)

- - - - -
860cf690 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Linker: remove message with default verbosity

- - - - -
8c4fd764 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Testsuite: normalise .jsexe suffix

- - - - -
873c58e0 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Remove warning about orphan instance

- - - - -
ec5e00e5 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Compactor: disable dead code

- - - - -
e0408b46 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Exception: implement raiseUnderflow etc. as primops

- - - - -
4bd95a5d by Sylvain Henry at 2022-11-07T12:00:36+01:00
Primop: fix Int8/18 quot/rem

- - - - -
f1037a99 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Linker: refactor wired-in deps

- - - - -
d36cb7bd by Sylvain Henry at 2022-11-07T12:00:36+01:00
Ppr: remove useless left padding for functions in JS dumps

- - - - -
3f7e9710 by Josh Meredith at 2022-11-07T12:00:36+01:00
Disable llvm ways and ghci for JS backend testsuite

- - - - -
83a4e0ec by Sylvain Henry at 2022-11-07T12:00:36+01:00
StaticPtr: don't generate CStubs for the JS backend

- - - - -
7d05843b by Sylvain Henry at 2022-11-07T12:00:36+01:00
StaticPtr: fix hs_spt_lookup after upstream change

- - - - -
a052cc3b by Sylvain Henry at 2022-11-07T12:00:36+01:00
Testsuite: fix normalisation for unlit

T8430 shows:
  `js-unknown-ghcjs-unlit' failed in phase `Literate pre-processor'. (Exit code: 1)

Notice the quote around the program name. So I've made the regex match
more cases (i.e. not only lines starting with the program name).

- - - - -
f068ae8a by Sylvain Henry at 2022-11-07T12:00:36+01:00
Codegen: fix codegen of string literals

Due to FastString change:
 Before: Text.pack . BSC.unpack
 After:  mkFastString . BSC.unpack

It seems that Text handles buggy multi-byte codepoints split into
several String Chars.

- - - - -
bb3d939d by Sylvain Henry at 2022-11-07T12:00:36+01:00
CPP: fix LINE markers. Only disable them for JS

- - - - -
659b8316 by Luite Stegeman at 2022-11-07T12:00:36+01:00
add JavaScript files listed in js-sources to package archives

- - - - -
f422b281 by Luite Stegeman at 2022-11-07T12:00:36+01:00
update rts js files to include recent fixes

- - - - -
d8809ac7 by Luite Stegeman at 2022-11-07T12:00:36+01:00
fix definitions in js/rts.h

- - - - -
e443281b by Josh Meredith at 2022-11-07T12:00:36+01:00
stopgap fix for missing ghc-pkg in cross-compiler tests

- - - - -
a560846a by Sylvain Henry at 2022-11-07T12:00:36+01:00
Testsuite: better fix for finding prefixed tools

- - - - -
5fea1a4e by Sylvain Henry at 2022-11-07T12:00:36+01:00
Ppr: add hangBrace helper

- - - - -
eae7dc20 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Only declare ccs var in profiling mode

- - - - -
f96e1da6 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Don't consider recursive bindings as inline nor as evaluated

Fix mdo001

- - - - -
cc310b0c by Sylvain Henry at 2022-11-07T12:00:36+01:00
Hadrian: disable shared libs for JS target

- - - - -
c48164a4 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Support -ddump-stg-final with the JS backend

- - - - -
52030443 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Add ticky_ghc0 flavour transformer to ticky stage1

- - - - -
2f868b0a by Sylvain Henry at 2022-11-07T12:00:36+01:00
Don't read object file when -ddump-js isn't passed

- - - - -
4c65eb04 by Sylvain Henry at 2022-11-07T12:00:36+01:00
Object: remove dead code + renaming

- - - - -
0d2de45b by Sylvain Henry at 2022-11-07T12:00:36+01:00
Object: replace SymbolTableR with Dictionary

- - - - -
08132415 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Object: refactoring

- - - - -
81efb4f1 by Sylvain Henry at 2022-11-07T12:00:37+01:00
RTS: link platform.js before the others!

- - - - -
7c39f216 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Hadrian: treat JS objects similarly to other objects

- - - - -
1a79cd03 by Luite Stegeman at 2022-11-07T12:00:37+01:00
fix javascript FFI calls for read and write

- - - - -
1e97b82a by doyougnu at 2022-11-07T12:00:37+01:00
propagate ppr code changes to JS backend

- - - - -
14d74541 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Switch from Data.Binary and ByteString to BinHandle

- - - - -
a6ae9a31 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Perf: use Ppr's LeftMode to output JS

- - - - -
6a2ce1c4 by doyougnu at 2022-11-07T12:00:37+01:00
Primops: Add {Index,Write,Read}ByteArrayAs ops

Still need to check for correctness based on T4442.

minor doc fixes

fixup: add some Index..As primops

fixup missed type signature

Primops: Add WriteByteArrayOp_Word8AsFoo ops

Primops: {Index,Read,Write}FooAsBar done except Addr's

Primops: add {Index,Read,Write}ByteArrayAsAddr ops

These will need to be tested for correctness with T4442.hs

- - - - -
726d5256 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Move platform.js to base (it must be linked first)

- - - - -
5490934d by Sylvain Henry at 2022-11-07T12:00:37+01:00
Remove old shim directory

- - - - -
f2abfc72 by doyougnu at 2022-11-07T12:00:37+01:00
JS.Prim: more PrimOps {IndexByteArrayAs, CAS}

Primop: WriteByteArrayOp_Word8AsChar use setInt8

Primops: remove dv_s_u8

This function is non-sensical. Due to the infelicities of JS as a
platform we must use Int8 and friends to write, then coerce to a word,
thus dv_s_iN are the only legal calls for a write, and dv_s_uN legal for
Index and Reads.

Primops: set dv_u8 to correct method call

should be getUint8, not getUInt8, of course the naming convention
changes ever so slightly for Words.

Primops: T4442 finishes ByteArrayAs still fails

JS.Prim: More IndexByteAAs primops

JS.Prim: Prefetch PrimOps are noOps

JS.Primops: Doc explaining lack of vector support

JS.Prim: add CAS and Fetch Ops

- - - - -
5d58a9d1 by doyougnu at 2022-11-07T12:00:37+01:00
GHC.Utils.Binary: BinDictionary -> FSTable

Rename to avoid naming conflict with haddock.

- - - - -
b8031f53 by Josh Meredith at 2022-11-07T12:00:37+01:00
Adjust derefnull test exit code for ghcjs

- - - - -
4db27dfc by doyougnu at 2022-11-07T12:00:37+01:00
Fix Driver missing type signature warnings

- - - - -
189380e3 by doyougnu at 2022-11-07T12:00:37+01:00
PipeLine.Execute: silence warnings on JS backend

- - - - -
f591a4d7 by doyougnu at 2022-11-07T12:00:37+01:00
JS.Primops: Add Bit reverse ops

- - - - -
2f0889fc by doyougnu at 2022-11-07T12:00:37+01:00
SysTools.Tasks: quiet non-totality warnings

- - - - -
c0157c3d by doyougnu at 2022-11-07T12:00:37+01:00
JS.Primops: Add InterlockedExchange Addr Word

- - - - -
3a018a93 by Sylvain Henry at 2022-11-07T12:00:37+01:00
base: conditional js-sources

- - - - -
88e49b2c by Sylvain Henry at 2022-11-07T12:00:37+01:00
TH: add support for JS files

- - - - -
955d2a2d by Sylvain Henry at 2022-11-07T12:00:37+01:00
Linker: fix creation of directories in output paths

- - - - -
8c574a21 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Backpack: fix empty stubs

- - - - -
ea3748c7 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Add encodeDouble/Float RTS functions

- - - - -
b8054f88 by Sylvain Henry at 2022-11-07T12:00:37+01:00
encodeDouble: correctly handle 0 base

- - - - -
c643075a by doyougnu at 2022-11-07T12:00:37+01:00
JS.Primops: Add listThreads op

- - - - -
ae1da364 by doyougnu at 2022-11-07T12:00:37+01:00
JS.Primops: Add Read/WriteAddrOp ops

- - - - -
579a5c1e by doyougnu at 2022-11-07T12:00:37+01:00
JS: Linker and Compactor: cleanup and docs

Compactor: Cleanup: Remove dead comments

JS.Linker.Types: cleanup and document module

- - - - -
219b6d2e by doyougnu at 2022-11-07T12:00:37+01:00
StgToJS.Linker: Add docs to utility modules

StgToJS.Linker.Utils: more docs

StgToJS.Linker.Archive: more docs

- - - - -
4d088f80 by doyougnu at 2022-11-07T12:00:37+01:00
StgToJS.Object: Add documentation

- - - - -
684f9ddd by Sylvain Henry at 2022-11-07T12:00:37+01:00
Refactor Expr

- - - - -
2a49a5cc by Sylvain Henry at 2022-11-07T12:00:37+01:00
Object: reduce pinned allocation. And don't forget to hClose invalid objects

- - - - -
e1396ff4 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Fix pdep (cgrun075)

- - - - -
2257247e by Sylvain Henry at 2022-11-07T12:00:37+01:00
Fix error message (don't mention emscripten)

- - - - -
4f190e69 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Add Float/Word casts

- - - - -
228ff97e by Sylvain Henry at 2022-11-07T12:00:37+01:00
Disable HPC tests with JS backend

- - - - -
8b33c1e4 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Fix encodeDouble/Float

- - - - -
41d88112 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Implement putchar (fix cgrun015)

- - - - -
705553e1 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Fix decoding of denormalized floats

- - - - -
85a94e2e by Sylvain Henry at 2022-11-07T12:00:37+01:00
Fix isFloatDenormalized function

- - - - -
8752e19e by Sylvain Henry at 2022-11-07T12:00:37+01:00
Reuse convert buffer

- - - - -
30196ab3 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Reuse convert buffer bis

- - - - -
6da34166 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Skip some tests that require the dynamic linker

- - - - -
84c5818e by Josh Meredith at 2022-11-07T12:00:37+01:00
JavaScript ShrinkSmallMutableArrayOp_Char & GetSizeofSmallMutableArrayOp

- - - - -
c9f6d0d5 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Disable more linker tests

- - - - -
8c708c2f by Sylvain Henry at 2022-11-07T12:00:37+01:00
Testsuite: better normalisation for ghc and ghc-pkg

Allow normalisation for ghc and ghc-pkg anywhere in the output, not just
at the beginning of the line.

Fix T1750 and ghcpkg05 for example

- - - - -
bef86fbf by Sylvain Henry at 2022-11-07T12:00:37+01:00
Skip T14373 because it requires Cmm

- - - - -
a691faa9 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Disable cg010 with JS backend

- - - - -
a2767702 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Testsuite: better normalisation of .jsexe extension

- - - - -
09a691c6 by doyougnu at 2022-11-07T12:00:37+01:00
JS: Linker,Rts docs and cleanup

JS.Linker: Cleanup: remove unused functions/types

JS.Rts.Types: remove dead code, docs

StgToJS.RTS: cleanup and more docs

- - - - -
62c3eaec by Sylvain Henry at 2022-11-07T12:00:37+01:00
Disable recomp015

- - - - -
1641c066 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Minor refactoring

- - - - -
7f6e5d3d by Sylvain Henry at 2022-11-07T12:00:37+01:00
Temporary fix the testsuite bug

- - - - -
c3bd0af7 by doyougnu at 2022-11-07T12:00:37+01:00
JS.StgToJS.Types: Docs and cleanup

- - - - -
7e572323 by Josh Meredith at 2022-11-07T12:00:37+01:00
change JS.Transform.Idents* to use UniqDSet from Set

- - - - -
a4721344 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Minor Linker cleanup

Minor cleanup

- - - - -
70f2a1c0 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Linker: load all the dependent units transitively

- - - - -
5384d0ce by doyougnu at 2022-11-07T12:00:37+01:00
JS: Add Docs and cleanup StgToJS.{Arg,Ids}

JS.Arg: docs and cleanup

StgToJS.Arg: add minimal docs

StgToJS.Ids: Add header

- - - - -
dfaa3402 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Implement h$sleep (T5611)

- - - - -
8920eb8a by Sylvain Henry at 2022-11-07T12:00:37+01:00
Linker: don't link the same unit twice

- - - - -
4f9c2179 by doyougnu at 2022-11-07T12:00:37+01:00
JS:  docs, cleanup, StgToJS.{Expr,DataCon,Stack}

StgToJS.Deps/Expr: add docs

StgToJS.DataCon: add minor docs

StgToJS.Stack: Docs and cleanup

In particular:

-- Removing some single use functions
-- Some minor refactors related to these removals

StgToJS: comments on static args and optimizeFree

- - - - -
ca78df0c by Sylvain Henry at 2022-11-07T12:00:37+01:00
Disable compact tests

- - - - -
dd852a3d by Sylvain Henry at 2022-11-07T12:00:37+01:00
Add support for JS files passed on the command line

- - - - -
8b7864b7 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Minor cleanup in compactor

- - - - -
a462f871 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Fix encoding of unboxed strings (don't pass through FastString/h$str)

- - - - -
1036d2af by doyougnu at 2022-11-07T12:00:37+01:00
JS: Misc fixes post Del-Cont rebase

- - - - -
a5496b85 by Sylvain Henry at 2022-11-07T12:00:37+01:00
Minor cleanup

- - - - -
e4fe1cbd by Sylvain Henry at 2022-11-07T12:00:38+01:00
Add log1p and expm1 (fix cgrun078)

- - - - -
78c372b1 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Assume existence of Math.fround and use it in Float's primops

- - - - -
dccfcb44 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable "debug" test

- - - - -
4175c3b1 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Implement copyMutableArray with overlap support

- - - - -
c58988e2 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Skip CmmSwitchTests

- - - - -
c1d25d43 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Fix WordToDouble/WordToFloat (Word2Float32 test)

- - - - -
270016d8 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Skip one more test

- - - - -
7bf238c6 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Fix after GHC.Tuple to GHC.Tuple.Prim

- - - - -
1aeb64e6 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Fix InterlockedExchange primops (cgrun080)

- - - - -
8dd6ed0c by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable T12059

- - - - -
0bd26d1d by Sylvain Henry at 2022-11-07T12:00:38+01:00
Implement sqrt/sqrtf (fix T14619)

- - - - -
8b83d685 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Skip more tests

- - - - -
db5551d8 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable conc012

- - - - -
40e2ed98 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable more Cmm tests

- - - - -
6fa0cfbe by Sylvain Henry at 2022-11-07T12:00:38+01:00
Fix AtomicPrimops test. Some refactoring in Prim too

- - - - -
63c04257 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Use GHCJS's signExtend/narrow

- - - - -
2fa81b78 by Josh Meredith at 2022-11-07T12:00:38+01:00
Implement get/set thread label prims

- - - - -
197f9006 by doyougnu at 2022-11-07T12:00:38+01:00
JS: remove Linker.Archive module

- - - - -
478bde93 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Start disabling tests that use TH/interpreter

- - - - -
ca3f3882 by Josh Meredith at 2022-11-07T12:00:38+01:00
Add flagged bounds checking to JS primops

- - - - -
714f7f30 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable more tests

- - - - -
ca29997e by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable T1791

- - - - -
68250752 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Raise NonTermination as an async exception

- - - - -
97f55fb1 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Expect IOPort test to be broken

- - - - -
62eb3fc8 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Implement rts_isThreaded (fix jules_xref2)

- - - - -
f56f38cd by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable outofmem2 test

- - - - -
400be300 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable delimited continuation tests

- - - - -
0dc1fa6f by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable native RTS flag tests

- - - - -
0c3bd84b by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable more tests

- - - - -
0a342243 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable more tests

- - - - -
36d633c8 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Skip more tests

- - - - -
932c1aed by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable try_putmvar tests that use C files

- - - - -
edd7dc1b by Sylvain Henry at 2022-11-07T12:00:38+01:00
Disable even more tests

- - - - -
e00f1aee by Sylvain Henry at 2022-11-07T12:00:38+01:00
Linker: remove dead code (base, compactor)

- - - - -
91f002d3 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Better shims linking

- - - - -
c722dbff by Sylvain Henry at 2022-11-07T12:00:38+01:00
Make isJsFile a bit faster by only reading the header

- - - - -
4c3681d5 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Linker: write directly into output file

- - - - -
7f91cf40 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Linker: more refactoring

- - - - -
2a57288a by Sylvain Henry at 2022-11-07T12:00:38+01:00
Lazy loading of JStat in object code

- - - - -
29a55de0 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Use Ppr hack to render directly into a file

- - - - -
06f40e79 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Fix backpack dependencies

- - - - -
e8b9ffdc by doyougnu at 2022-11-07T12:00:38+01:00
testsuite: add js_skip_csources function

Used to indicate a test that fails in the JS backend because the JS
Backend does not yet support c-sources in cabal files.

- - - - -
2e3c8614 by doyougnu at 2022-11-07T12:00:38+01:00
testsuite: JS: skip tests which use c-sources

Skip because these tests use c-sources and the JS backend does not yet
support including c-sources

testsuite: JS backend: skip backpack tests

testsuite: JS: skip c-sources ffi tests

testsuite: JS: skip multipleHomeUnits_odir

testsuite: JS: disable more backpack tests

testsuite: JS: disable c-sources rts tests

testsuite: JS: skip c-sources codeGen tests

testsuite: JS: skip c-sources generics test

- - - - -
61c5fd82 by Josh Meredith at 2022-11-07T12:00:38+01:00
use exit code 134 for JS prim bounds checks

- - - - -
42665016 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Remove panic in getObject

- - - - -
b0d4d92b by Sylvain Henry at 2022-11-07T12:00:38+01:00
Add debug and Outputable instances

- - - - -
84b4c5e4 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Remove backup file

- - - - -
4dc542d4 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Skip overflow tests

- - - - -
8f398a1c by Sylvain Henry at 2022-11-07T12:00:38+01:00
Fix RTS includes for native build

- - - - -
6bd26bfa by Sylvain Henry at 2022-11-07T12:00:38+01:00
Doc

- - - - -
b2fe0dd9 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Add perf-js Hadrian flavour

- - - - -
95e09b94 by doyougnu at 2022-11-07T12:00:38+01:00
JS.Syntax: fix doc wording

- - - - -
34d198d1 by doyougnu at 2022-11-07T12:00:38+01:00
Driver: JS: tweak error message

- - - - -
9b7f6b88 by Josh Meredith at 2022-11-07T12:00:38+01:00
Factor JS platform constants and h$programArgs/h$rtsArgs into functions with init

- - - - -
c9d19eca by Josh Meredith at 2022-11-07T12:00:38+01:00
Fix function name from h$shrinkMutableArray to h$shrinkMutableCharArray

- - - - -
3b774187 by Luite Stegeman at 2022-11-07T12:00:38+01:00
allow async exceptions to be thrown from outside a haskell thread

- - - - -
e7f3a94e by Sylvain Henry at 2022-11-07T12:00:38+01:00
Remove shims and refactor Cpp

I've removed the use of js/rts.h and js/constants.h again. We generate
their contents at cpp time. Instead of wiring z-encoded strings into
these macros, we should derive them from wired-in Names so that they
stay correct in the future. Using wired-in Names as single source of
truth.

- - - - -
d061367c by Sylvain Henry at 2022-11-07T12:00:38+01:00
Support RTS globals (used by GHC) and EISDIR

Did this while trying to fix CallArity1 (still failing)

- - - - -
17cfb76b by Sylvain Henry at 2022-11-07T12:00:38+01:00
Remove JS keywords

1. The list is incomplete
2. We prefix locals with "h$$" so there is no risk of conflict with JS
   keywords

- - - - -
45d221d6 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Remove dead code

- - - - -
b27e1b3d by Sylvain Henry at 2022-11-07T12:00:38+01:00
Make ident supply strict (no need to make it lazy, list already is)

- - - - -
4202be34 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Add optional assign to DeclStat and remove dead code

- - - - -
d227b7a4 by doyougnu at 2022-11-07T12:00:38+01:00
JS: Note on JS .o file order, fix .o files

To be specific:

1. add Note [JS Backend .o file procedure]
2. ensure that .o files are touch'd in JS backend postHsc phase. This
  fixes "missing object file" errors produced by
  'GHC.Driver.Main.checkObjects'.

- - - - -
a7ab24ca by Luite Stegeman at 2022-11-07T12:00:38+01:00
start a subtransaction in a catchStm block

- - - - -
b305e965 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Use FastMutInt in G for uniques

- - - - -
13e9f0f0 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Compactor: remove dead code

- - - - -
358f271f by Sylvain Henry at 2022-11-07T12:00:38+01:00
Compactor: remove more dead code

- - - - -
f67faf66 by Sylvain Henry at 2022-11-07T12:00:38+01:00
Compactor: remove unused debug code

- - - - -
01afaf89 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Compactor: remove unimplemented packStrings

- - - - -
f2c605ed by Sylvain Henry at 2022-11-07T12:00:39+01:00
RTS: fix query/replace error

- - - - -
150931ac by Luite Stegeman at 2022-11-07T12:00:39+01:00
remove unused STM check invariants

- - - - -
1d28ba1d by Josh Meredith at 2022-11-07T12:00:39+01:00
Refactor renaming functions from Compactor module into the Linker

- - - - -
80d11820 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Linker: refactor and cleanup after compactor removal

- - - - -
dafdff45 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Filter empty exports to avoid printing a lot of useless newlines

- - - - -
68dcc501 by Sylvain Henry at 2022-11-07T12:00:39+01:00
RTS: remove dangling semicolons

- - - - -
a941cbc5 by Sylvain Henry at 2022-11-07T12:00:39+01:00
RTS: remove more dangling semicolons

- - - - -
61df3a90 by Sylvain Henry at 2022-11-07T12:00:39+01:00
RTS: less semicolons

- - - - -
ba07d4d2 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Only initialize statics once!

- - - - -
c1989367 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Minor refactoring: avoid unpacking ShortText too soon

- - - - -
c8230371 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Remove unused derived instances

- - - - -
11a08d1d by Sylvain Henry at 2022-11-07T12:00:39+01:00
Use Ident in ClosureInfo instead of FastString

- - - - -
9382a927 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Add identFS helper

- - - - -
7506fdc3 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Fix liftToGlobal

identsS wasn't correctly ported: it has to return all the Ident
occurences, not only one. Fixed this and simplified liftToGlobal
implementation.

Used UniqFM instead of Map forn the global ident cache.

- - - - -
ddbb22e5 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Refactor symbol generation.

Avoid concatenating Strings or FastStrings. Concatenate ByteString
instead.

- - - - -
42b34b48 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Enhance Label symbol generation

- - - - -
e339232a by Sylvain Henry at 2022-11-07T12:00:39+01:00
Rename fresh idents with their FastString unique

Reduce by 2x the size of the generated file (on Cabal's Setup).

- - - - -
15740832 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Disable more tests

- - - - -
f4ab41da by Sylvain Henry at 2022-11-07T12:00:39+01:00
Disable more tests

- - - - -
eb2b5359 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Disable ghc-heap tests

- - - - -
dcef91d6 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Mark flaky test as fragile

- - - - -
32d42f3d by Sylvain Henry at 2022-11-07T12:00:39+01:00
Fix bound checking

- - - - -
95589287 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Fix note

- - - - -
10158c58 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Disable more tests

- - - - -
966ce0ec by Sylvain Henry at 2022-11-07T12:00:39+01:00
Disable more tests

- - - - -
fa470c25 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Disable more tests

- - - - -
b771cb1f by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: force ghc-pkg to use stage1

- - - - -
0e1a5754 by doyougnu at 2022-11-07T12:00:39+01:00
fix linker errors post rebase

Re-add InitFini.c to the rts, it was introduced in
78ab7afe244a7617d600a6180d81d9dec657114d but was somehow removed after a
rebase.

- - - - -
9300e8ff by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: rts disable rtsflags001 for JS backend

- - - - -
ab847441 by Josh Meredith at 2022-11-07T12:00:39+01:00
Disable runInteractiveProcess tests for ghcjs

- - - - -
3b5e22c8 by Josh Meredith at 2022-11-07T12:00:39+01:00
Disable fed001 test for javascript backend

- - - - -
d837ccb4 by Josh Meredith at 2022-11-07T12:00:39+01:00
Disable driver tests for JS backend that use foreign exports

- - - - -
74300207 by Josh Meredith at 2022-11-07T12:00:39+01:00
Disable ImpSafeOnly01..10 for JavaScript backend

- - - - -
52c92f65 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Add missing GHC globals

- - - - -
73ea5245 by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: disable ffi for JS backend

More Specically disable:

ffi006
ffi008
ffi011
ffi013
ffi018
ffi019
ffi020
ffi021
ffi023

- - - - -
47b8374b by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: disable ghci linking tests for JS

Specifically:

ghcilink001
ghcilink003
ghcilink005
ghcilink006

- - - - -
38d2456d by Sylvain Henry at 2022-11-07T12:00:39+01:00
Fix comment

- - - - -
e72b9d42 by Sylvain Henry at 2022-11-07T12:00:39+01:00
More bound checking

- - - - -
e8b577fc by Sylvain Henry at 2022-11-07T12:00:39+01:00
Fix some Word reading in Prim

- - - - -
81cfb42b by Sylvain Henry at 2022-11-07T12:00:39+01:00
Implement openDir

Seems to work (with tracing) but tests still fail with getInt16 index
error :'(

- - - - -
bab97374 by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: disable cabal tests for JS backend

- - - - -
38a8fb4b by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: disable bkpcabal[01-07] for JS backend

- - - - -
55e91980 by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: disable tests that cause OOM on JS

These tests require the JS Backend to implement GHCJS's compactor, until
that happens nodejs throws an exception that variable names are too
long, hence we disable them.

- - - - -
5c13e13e by Sylvain Henry at 2022-11-07T12:00:39+01:00
Disable HPC tests

Bump hpc submodule

- - - - -
06ce1fbe by Sylvain Henry at 2022-11-07T12:00:39+01:00
Avoid useless space change

- - - - -
2388bff4 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Remove duplicated comment

- - - - -
efaaeb2f by Sylvain Henry at 2022-11-07T12:00:39+01:00
Readd useless space

- - - - -
fcb0ff6f by Sylvain Henry at 2022-11-07T12:00:39+01:00
Fix some rts.cabal.in rebase glitches

- - - - -
6d61f5c1 by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: disable T12233 tests for JS backend

- - - - -
45a16ff4 by Sylvain Henry at 2022-11-07T12:00:39+01:00
Fix rts.cabal.in again

- - - - -
038a5233 by Luite Stegeman at 2022-11-07T12:00:39+01:00
fix typo in dumpStackTop function

- - - - -
46092517 by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: remove js_skip_csources, use c_src

- - - - -
465a7149 by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: skip recomp4,8 on JS backend

- - - - -
19dfe7cb by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: skip alloccounter1 and T19156 for JS

These tests fail due to missing primops

- - - - -
cf778b07 by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: skip T7773 and topHandler01 for JS

- - - - -
e431e6f2 by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: skip rdynamic and T2615 for JS Backend

- - - - -
81f782da by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: skip T4012 for JS backend

- - - - -
3a4db7bc by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: skip T15427 for JS backend

- - - - -
14b6b49b by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: skip T19481, T19381, T3474 for JS

- - - - -
ecdf8ab7 by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: skip stack004 for JS backend

- - - - -
326b5d1a by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: JS skip ThreadDelay001 and encoding004

- - - - -
2f52e89d by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: skip openFile003 for JS backend

- - - - -
b339c300 by doyougnu at 2022-11-07T12:00:39+01:00
testsuite: disable T1959 and capi tests for JS

- - - - -
50873e1d by Sylvain Henry at 2022-11-07T12:00:40+01:00
Replace c_src with req_c

- - - - -
5c334cbe by Sylvain Henry at 2022-11-07T12:00:40+01:00
Fix testsuite

- - - - -
616cbfc4 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: disable CallArity, LintEtaExpand etc

These cause a illegal op on directory error. Disable for now:

CallArity1
LintEtaExpand
T9595
T10942
T18522-dbg-ppr

- - - - -
612add89 by Luite Stegeman at 2022-11-07T12:00:40+01:00
fix isJsCore predicates for base package

- - - - -
3268f295 by Sylvain Henry at 2022-11-07T12:00:40+01:00
CI: add CI script for the JS backend

- - - - -
22529977 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Fix rts.cabal again

- - - - -
8cdde421 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Fix invalid use of predStage

- - - - -
73f08f68 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Fix hlint errors on CI

- - - - -
1228ead8 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: disable that throw out of bounds on JS

Specifically:

T12733
T1372
T15594
T16219
T18567
T20509
T3007
different-db
mhu-closure
package-imports-20779
t19518

- - - - -
bb140369 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip EventlogOutput{1,2} for JS backend

- - - - -
2c39d200 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T1679, T2469, T4038 for JS

and also skip UnliftedTVar2

- - - - -
f0fbfeb3 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T4891 for JS backend

This one throws illegal op on directory similar to T10942 and CallArity1

- - - - -
d3c998da by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T8308 for JS

JS backend does not have any ticky capability yet, so skip for now

- - - - -
cbeed236 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T9405 for JS

JS backend does not yet support ticky

- - - - -
8c1f2d3e by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T14624, T20199 for JS backend

- - - - -
8c5e44d7 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T5594 and T5402 for JS

- - - - -
26d948da by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip openFile00{5,7} readFile001 for JS

- - - - -
b957dcfe by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T11004 and T12504 for JS

- - - - -
15aac110 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip hGetBuf001, hReady00{1,2} for JS

- - - - -
18dadb82 by doyougnu at 2022-11-07T12:00:40+01:00
fixup: missed readwrite002

- - - - -
15197e96 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T18642 for JS

- - - - -
9723dbab by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip TargetContents for JS

- - - - -
30a07812 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T18481a T10678 and friends

- - - - -
8b79fc41 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip RepPolyUnliftedDatatype2 for JS

- - - - -
9aebafb0 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip ghci some tests

these throw not built for interactive use errors

- - - - -
071c0b44 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip DocsInHiFileTH for JS

- - - - -
db344db8 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T7037, T7702, safePkg01 for JS

- - - - -
33abb70c by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip tests that throw gmake error

Specifically:

T15261a
T15261b
T16318
T17648
T20214
T21336c
rtsopts002
withRtsOpts

- - - - -
0436f38d by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T3837, hsc2hs003 typecheck.testeq1

- - - - -
b908e590 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip fat005 for JS

- - - - -
974b04ca by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip topHandler02,03 for JS

- - - - -
d83cf0ce by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip tests that unexpected pass/fail

- - - - -
c1bc5e13 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Try to fix Hadrian for native

- - - - -
789afd7c by Luite Stegeman at 2022-11-07T12:00:40+01:00
fix index.html template newlines and use all.js for now (at least it works)

- - - - -
98edbc1f by Sylvain Henry at 2022-11-07T12:00:40+01:00
Fix testsuite typo

- - - - -
bddc2097 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip golden failure tests

Specifically:

GcStaticPointers
T13167
T14452
T16707
T17481
T7160
bkp32
fptr01

- - - - -
4ac46fd6 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T13525 for JS

Fails for missing h$base_mkfifo

- - - - -
c8b9568c by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip tests which timeout on JS

Specifically:

Timeout001
listThreads
mask002

- - - - -
df8379e9 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip failing IO tests for JS

Specifically:

hClose002
hFileSize002
hSetBuffering003
sum_mod

- - - - -
a00807c8 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip countReaders001 for JS

- - - - -
f5373bc0 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T10414 for JS backend

- - - - -
cfacaefc by Luite Stegeman at 2022-11-07T12:00:40+01:00
correct stack offset when restarting an STM transaction

- - - - -
4048438a by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T11155 T21336a T21869 for JS

- - - - -
153d24c3 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip failing linker and hp2ps tests

- - - - -
a1c806dd by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip out of memory tests for JS

- - - - -
6a5797cb by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip remaining failing tests for JS

- - - - -
517c4a60 by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: fix typo

- - - - -
1e96c8e7 by doyougnu at 2022-11-07T12:00:40+01:00
hadrian: fix js and native testing

- - - - -
65cdc7b3 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Skip one test

- - - - -
23871e96 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Skip one more test

- - - - -
dfbe83b8 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Add missing comma

- - - - -
9da8a140 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Only change the test environment for cross

- - - - -
db4a874c by Sylvain Henry at 2022-11-07T12:00:40+01:00
Force creation of hpc/haddock/runghc programs for cross

- - - - -
60742721 by doyougnu at 2022-11-07T12:00:40+01:00
process: skip process tests for JS backend

- - - - -
5e0466cf by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip remaining failing tests for JS

- - - - -
28be2c3e by doyougnu at 2022-11-07T12:00:40+01:00
process: skip T1780, T8343, T4889 for JS

- - - - -
2f6d19dd by doyougnu at 2022-11-07T12:00:40+01:00
testsuite: skip T12852 for JS backend

- - - - -
1a4e18f2 by doyougnu at 2022-11-07T12:00:40+01:00
stm: skip failing tests for JS backend

- - - - -
968a3047 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Some changes to Binary after reviews

- - - - -
06359357 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Rename back defaultUserData into noUserData

- - - - -
ad072cfc by Sylvain Henry at 2022-11-07T12:00:40+01:00
Revert backpack change

- - - - -
e8f3f586 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Don't create directory in copyWithHeader

- - - - -
af2d8122 by Sylvain Henry at 2022-11-07T12:00:40+01:00
Remove now useless changes to Ppr

- - - - -
ed2ecb11 by Josh Meredith at 2022-11-07T12:00:40+01:00
Change js_skip to js_broken(22350) for ImpSafeOnly01..10 tests

- - - - -
cf5beb9a by Josh Meredith at 2022-11-07T12:00:40+01:00
Change js_broken(22350) to js_skip for safePkg01 test

- - - - -
3f9ec9ae by doyougnu at 2022-11-07T12:00:41+01:00
testsuite: Cabal js_skip -> js_broken(22351)

Issue: https://gitlab.haskell.org/ghc/ghc/-/issues/22351

- - - - -
529fddaa by doyougnu at 2022-11-07T12:00:41+01:00
add req_js_compactor, update impacted tests

Issue: https://gitlab.haskell.org/ghc/ghc/-/issues/22352

- - - - -
3e94692a by doyougnu at 2022-11-07T12:00:41+01:00
testsuite: mark more tests with req_js_compactor

- - - - -
80f6259b by doyougnu at 2022-11-07T12:00:41+01:00
testsuite: js_skip -> js_broken(22355) more tests

Specifically:
T11004
T12504
T3837
hsc2hs003
T15758
exec_signals
hsc2hs001
hsc2hs002
typecheck.testeq1

See tracking ticket: https://gitlab.haskell.org/ghc/ghc/-/issues/22355

- - - - -
e9ce532b by doyougnu at 2022-11-07T12:00:41+01:00
testsuite: mark #22356 tests as js_broken

Specifically:

T12733
T1372
T15594
T16219
T18567
T20509
T3007
different-db
mhu-closure
package-imports-20779
t19518

- - - - -
d9136464 by Josh Meredith at 2022-11-07T12:00:41+01:00
Use js_broken(22349) for releavant base tests

- - - - -
854b4a94 by Josh Meredith at 2022-11-07T12:00:41+01:00
Use js_broken(22359) for relevant tests

- - - - -
58d04f83 by Josh Meredith at 2022-11-07T12:00:41+01:00
Use js_broken(22360) for releavant tests

- - - - -
053e802a by Josh Meredith at 2022-11-07T12:00:41+01:00
Use req_ffi_exports for JS-skipped driver* tests

- - - - -
b991f95b by Josh Meredith at 2022-11-07T12:00:41+01:00
Use req_c for some JS-skipped tests

- - - - -
40eb1e63 by Josh Meredith at 2022-11-07T12:00:41+01:00
Use js_broken(22362) for package.conf.d errored tests

- - - - -
62c44bd4 by Josh Meredith at 2022-11-07T12:00:41+01:00
Use req_interp for JS-skipped ghcilink001/3/5/6

- - - - -
11dca8df by Josh Meredith at 2022-11-07T12:00:41+01:00
Use js_broken(22363) for affected ffi000 tests

- - - - -
cc880888 by Josh Meredith at 2022-11-07T12:00:41+01:00
Use js_broken(22364) for affected tests

- - - - -
f1fde6ac by doyougnu at 2022-11-07T12:00:41+01:00
testsuite: mark tests as js_broken(22370)

Specifically:

rtsopts002
T15261a
T15261b
T16318
T17648
T20214
T21336c
withRtsOpts

Tracking ticket: #22370

- - - - -
9ddfec50 by Josh Meredith at 2022-11-07T12:00:41+01:00
Use js_broken(22351) for T10955dyn

- - - - -
041c15eb by Sylvain Henry at 2022-11-07T12:00:41+01:00
Remove trailing semicolons

- - - - -
75a0a2a0 by Sylvain Henry at 2022-11-07T12:00:41+01:00
Minor fixes after rebase

- - - - -
c33164a6 by doyougnu at 2022-11-07T12:00:41+01:00
test: T23674{w} recomp004 load_short_name -> req_c

- - - - -
1baf6791 by Josh Meredith at 2022-11-07T12:00:41+01:00
Upgrade miscellaneous tests from js_skip to js_broken(22261)

- - - - -
896e9aca by doyougnu at 2022-11-07T12:00:41+01:00
testsuite mark compactor tests as js_broken(22352)

- - - - -
76542403 by doyougnu at 2022-11-07T12:00:41+01:00
testsuite: mark tests js_skip -> js_broken(22374)

Specifically:

hGetBuf001
T12852
T12903
rdynamic
T2615
T4012
T15427
T18642
T19381
T19481
T3474
stack004
encoding004
ThreadDelay001
TargetContents
openFile003
T13525

Tracking Ticket: https://gitlab.haskell.org/ghc/ghc/-/issues/22374

- - - - -
d41b5d5c by doyougnu at 2022-11-07T12:00:41+01:00
stm: mark tests for JS backend as broken

- - - - -
d9302c9c by doyougnu at 2022-11-07T12:00:41+01:00
testsuite: mark js_skip -> js_broken(22261)

Specifically:

DocsInHiFileTH
alloccounter1
T19156
rtsflags002
T7773
topHandler01
T1959
T1679
T2469
T4038
UnliftedTVar2
T15136
T8308
T9405
openFile005
openFile007
readFile001
countReaders001
RepPolyUnliftedDatatype2
fat005
topHandler02
topHandler03
T10414
T11760
T12035j
T13191
T14075
T16473
T17499
T17720a
T17720b
T17720c
T20030_test1j
T3924
T8766
T9839_01
T9848
fptr01
GcStaticPointers
T13167
T14452
T17481
T7160
listThreads
mask002
Timeout001
hClose002
hFileSize002
hSetBuffering003
sum_mod
T11155
T21336a
T21869
T15904
MergeObjsMode
recomp011
T13914
executablePath
rn.prog006
T16916
recomp008

- - - - -
202b3876 by Sylvain Henry at 2022-11-07T12:00:41+01:00
Remove added configure comment

- - - - -
1dec7c0c by Sylvain Henry at 2022-11-07T12:00:41+01:00
Fix res_js_compactor leftover

- - - - -
96595cec by doyougnu at 2022-11-07T12:00:41+01:00
testsuite: mark more tests as broken for JS

Specifically tests which throw reference errors:

hReady001
hReady002
readwrite002
fed001
Capi_Ctype_001
Capi_Ctype_002
T7037

Tracking ticket: https://gitlab.haskell.org/ghc/ghc/-/issues/22374

- - - - -
8d3c321d by doyougnu at 2022-11-07T12:00:41+01:00
genToplevelConEntry: Fix for InferTags at Stg

- - - - -
e07a6848 by Sylvain Henry at 2022-11-07T12:00:41+01:00
Disable SplcieTypes test

- - - - -
19acce62 by doyougnu at 2022-11-07T12:00:41+01:00
Hadrian: add no_dynamic_libs transformer

- - - - -
0f124b58 by doyougnu at 2022-11-07T12:00:41+01:00
Hadrian: Add releaseJsFlavour

- - - - -
61319117 by doyougnu at 2022-11-07T12:00:41+01:00
Hadrian: Add enableO2Stage0 transformer

And update release-js build flavour

- - - - -
11169529 by Sylvain Henry at 2022-11-07T12:00:41+01:00
Remove redundant import

- - - - -
7ed278b3 by Sylvain Henry at 2022-11-07T12:00:41+01:00
Remove unused linker config options

- - - - -
0b5078c6 by doyougnu at 2022-11-07T12:00:41+01:00
Hadrian: add useNativeBignum transformer

- - - - -
83752133 by doyougnu at 2022-11-07T12:00:41+01:00
Hadrian: add Flavours.JavaScript

Better Cohesion.

- - - - -
510d240a by doyougnu at 2022-11-07T12:00:41+01:00
fixup: forgot to remove now duplicate flavours

- - - - -
81da5e78 by Josh Meredith at 2022-11-07T12:00:41+01:00
Change js_skip to js_broken(22261) in process submodule

- - - - -
7c44ab01 by doyougnu at 2022-11-07T12:00:41+01:00
Hadrian: add perf_stage0 transformer

- - - - -
2d19cb25 by doyougnu at 2022-11-07T12:00:41+01:00
Hadrian: remove javascript specific flavours

- - - - -
146915ec by doyougnu at 2022-11-07T12:00:41+01:00
Hadrian: update docs with new transformers

Specifically:
- ticky_ghc0
- perf_stage0
- no_dynamic_libs

- - - - -
a722c1c7 by Sylvain Henry at 2022-11-07T12:00:41+01:00
Enable more tests that were "unexpected passes"

- - - - -
12a76e06 by Sylvain Henry at 2022-11-07T12:00:41+01:00
Take cross into account in perf and ticky flavours

- - - - -
aa2cab6a by Sylvain Henry at 2022-11-07T12:00:41+01:00
Remove PerfJS mention in ci script

- - - - -
96859f6a by Sylvain Henry at 2022-11-07T12:00:41+01:00
Make CI script install emscripten

- - - - -


30 changed files:

- .gitignore
- .gitlab-ci.yml
- .gitlab/ci.sh
- .gitlab/gen_ci.hs
- .gitlab/jobs.yaml
- CODEOWNERS
- compiler/GHC/Builtin/PrimOps.hs
- compiler/GHC/Cmm/BlockId.hs
- compiler/GHC/Cmm/CLabel.hs
- compiler/GHC/Cmm/Expr.hs
- compiler/GHC/CmmToAsm/AArch64/Ppr.hs
- compiler/GHC/CmmToAsm/AArch64/Regs.hs
- compiler/GHC/CmmToAsm/BlockLayout.hs
- compiler/GHC/CmmToAsm/PPC/CodeGen.hs
- compiler/GHC/CmmToAsm/PPC/Ppr.hs
- compiler/GHC/CmmToAsm/PPC/Regs.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/Instr.hs
- compiler/GHC/CmmToAsm/X86/Ppr.hs
- compiler/GHC/CmmToAsm/X86/Regs.hs
- compiler/GHC/CmmToC.hs
- compiler/GHC/CmmToLlvm.hs
- compiler/GHC/Core/Coercion.hs
- compiler/GHC/Core/Coercion/Opt.hs
- compiler/GHC/Core/FamInstEnv.hs
- compiler/GHC/Core/Lint.hs
- compiler/GHC/Core/Opt/Arity.hs
- compiler/GHC/Core/Opt/ConstantFold.hs
- compiler/GHC/Core/Opt/DmdAnal.hs
- compiler/GHC/Core/Opt/OccurAnal.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/8467a5284bde461e132812cd40242852e3ff7962...96859f6ac5549e10ab5dbe839c7f3ab0113c4481

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/8467a5284bde461e132812cd40242852e3ff7962...96859f6ac5549e10ab5dbe839c7f3ab0113c4481
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20221107/a14f8d5e/attachment-0001.html>


More information about the ghc-commits mailing list