[Git][ghc/ghc][wip/js-th] 77 commits: Merge libiserv with ghci

Sylvain Henry (@hsyl20) gitlab at gitlab.haskell.org
Thu Jan 26 09:14:51 UTC 2023



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


Commits:
31fda02b by Sylvain Henry at 2023-01-26T10:19:13+01:00
Merge libiserv with ghci

- - - - -
ff02c8f7 by Sylvain Henry at 2023-01-26T10:19:13+01:00
WIP: add support for a third TH runner for JS

- - - - -
0ba81e4d by Sylvain Henry at 2023-01-26T10:19:13+01:00
Install THRunner.js

- - - - -
4523033b by Sylvain Henry at 2023-01-26T10:19:13+01:00
Put JS interp in its own module

- - - - -
82784370 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Refactor a bit to make IServ and JSInterp more alike

- - - - -
7a7ede97 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Fix warning

- - - - -
8c298b13 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Add placeholders

- - - - -
fef0c35b by Sylvain Henry at 2023-01-26T10:19:13+01:00
Initialize JS interpreter

- - - - -
1cb32d49 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Interpret one dumb message :D

- - - - -
f3a1ead0 by Sylvain Henry at 2023-01-26T10:19:13+01:00
WIP: rts linking function

- - - - -
4eeac8de by Sylvain Henry at 2023-01-26T10:19:13+01:00
Spawn NodeJS

- - - - -
358c53cf by Sylvain Henry at 2023-01-26T10:19:13+01:00
WIP: start interacting with interpreter

Failing because we can't use readSync with stdin...

- - - - -
879f5f2d by Sylvain Henry at 2023-01-26T10:19:13+01:00
Load the RTS

- - - - -
2c89667c by Sylvain Henry at 2023-01-26T10:19:13+01:00
Implement MallocStrings

- - - - -
f80ca5c8 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Support InitLinker command

- - - - -
c66ae10c by Sylvain Henry at 2023-01-26T10:19:13+01:00
More commands

- - - - -
fe0b942d by Sylvain Henry at 2023-01-26T10:19:13+01:00
Pass jsLookupSymbol

- - - - -
5ac99b60 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Codegen CoreExpr into JS

- - - - -
b26b479e by Sylvain Henry at 2023-01-26T10:19:13+01:00
Correctly export symbol

- - - - -
02a09d8c by Sylvain Henry at 2023-01-26T10:19:13+01:00
Refactor computeLinkDepenencies

- Better input/output types
- Remove side-effects (ppr)
- Prepare for two-phase linking: plan, link
- Prepare for three-phase linking: plan, remove already linked, link

- - - - -
619673b6 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Rename LinkableUnit duplicated type into BlockRef

- - - - -
ed8fc947 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Implement two-phase linking: plan, link

- - - - -
951c08f2 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Rename JS Unit into Block for clarity.

Also add LocatedBlockInfo type instead of using tuple

- - - - -
09398255 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Always include global blocks in LinkPlan

- - - - -
1e2fbab0 by Sylvain Henry at 2023-01-26T10:19:13+01:00
Replace predicate with declarative list of blocks to link (easier to diff)

- - - - -
a10891bf by Sylvain Henry at 2023-01-26T10:19:14+01:00
Use sets instead of lists (easier to diff)

- - - - -
f3a90493 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Implement incremental linking

- - - - -
2c138bfe by Sylvain Henry at 2023-01-26T10:19:14+01:00
Ensure that we link all blocks

- - - - -
d1ffc8ce by Sylvain Henry at 2023-01-26T10:19:14+01:00
Remove useless link plan field and fix root symbol

- - - - -
1539575d by Sylvain Henry at 2023-01-26T10:19:14+01:00
Remove import

- - - - -
c7d269c9 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Link with implicit TH unit

- - - - -
3daf0cea by Sylvain Henry at 2023-01-26T10:19:14+01:00
Remove some debug info

- - - - -
a831e86e by Sylvain Henry at 2023-01-26T10:19:14+01:00
Remove unused iservmain.c

- - - - -
47ce4d63 by Sylvain Henry at 2023-01-26T10:19:14+01:00
WIP: use JS interp in runTH

- - - - -
dbc4dbfa by Sylvain Henry at 2023-01-26T10:19:14+01:00
Wire ghci unit

- - - - -
c122a928 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Load interpreter server

- - - - -
7f8702fc by Sylvain Henry at 2023-01-26T10:19:14+01:00
Renamed LinkSpec fields for clarity

- - - - -
5a6b121e by Sylvain Henry at 2023-01-26T10:19:14+01:00
Disable MkConInfoTable command and InfoTable module with JS

- - - - -
9cbba5ea by Sylvain Henry at 2023-01-26T10:19:14+01:00
Run the server!

- - - - -
66072010 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Pass some commands to the server

- - - - -
a8e939e2 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Reuse more of IServ for the JS interp

- - - - -
c6601727 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Fix fdGetMode

- - - - -
e68a7ac3 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Implement LoadJS iserv message

Still failing to find the h$loadJS function for some reason

- - - - -
b8beaf87 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Give access to h$loadJS to loaded code

- - - - -
af76f6a3 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Move log message into h$loadJS

- - - - -
4a368bb3 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Handle more messages

- - - - -
cecc2a61 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Replace HValue with Any

- - - - -
c8fa2d4c by Sylvain Henry at 2023-01-26T10:19:14+01:00
s/RemoteRef/HeapRef

- - - - -
eb01e331 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Implement LookupClosure message

- - - - -
8d01e3d6 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Don't forget to eval() the given string

- - - - -
6276429b by Sylvain Henry at 2023-01-26T10:19:14+01:00
HValue renaming leftovers

- - - - -
25bee0f9 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Implement RunModFinalizers

- - - - -
64c04cb7 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Remove delays

- - - - -
19c80e19 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Replace iservCall with sendMessage

- - - - -
b65a7a72 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Start making Iserv and JS interp closer

- - - - -
1e7020d3 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Remove useless/unused commands

- - - - -
2626e8bd by Sylvain Henry at 2023-01-26T10:19:14+01:00
More factorization

- - - - -
06855e02 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Cleanup

- - - - -
87a56d67 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Remove now useless HasInterpProcess class

- - - - -
cede5613 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Don't use Interp when we already have an interp instance

- - - - -
ec3c0dc9 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Refactor hptModulesBelow

- - - - -
d143c777 by Sylvain Henry at 2023-01-26T10:19:14+01:00
More refactoring

- - - - -
545cd3f1 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Add jsLinkObjects to prepare for loading home-unit objects

- - - - -
a567f23d by Sylvain Henry at 2023-01-26T10:19:14+01:00
Allow getDeps to update module info during its traversal

- - - - -
5416a40d by Sylvain Henry at 2023-01-26T10:19:14+01:00
Load home unit dependencies too

- - - - -
96927908 by Luite Stegeman at 2023-01-26T10:19:14+01:00
make thrunner stdin asynchronous, fixing macOS/Windows

warning: buffering very inefficient

- - - - -
47640308 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Testsuite: enable TH for the JS target

- - - - -
790b332f by Sylvain Henry at 2023-01-26T10:19:14+01:00
Disable verbose messages

- - - - -
5feeded8 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Simplify JS protocole a great deal (use strings)

- - - - -
53634447 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Revert "More refactoring"

This reverts commit 1942705b24f7c956a2dc15028daed41e24c9d31d.

- - - - -
47c7a05c by Sylvain Henry at 2023-01-26T10:19:14+01:00
Revert "Refactor hptModulesBelow"

This reverts commit 9840d044dec76cd3a6fb34af0bb6121d7ce933b8.

- - - - -
befd0c24 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Rename stuff

- - - - -
0dee506d by Sylvain Henry at 2023-01-26T10:19:14+01:00
Fix typo

- - - - -
a8cd3934 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Make whitespace linter happy

- - - - -
85a8d9ac by Sylvain Henry at 2023-01-26T10:19:14+01:00
Revert renamings

- - - - -
4c5831aa by Sylvain Henry at 2023-01-26T10:19:14+01:00
Remove mkFreshInterpSymbol

- - - - -
c4a0d803 by Sylvain Henry at 2023-01-26T10:19:14+01:00
Remove GhcjsEnv

Subsumed by incremental linker state

- - - - -


30 changed files:

- CODEOWNERS
- cabal.project-reinstall
- compiler/GHC.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Runtime/Interpreter.hs
- + compiler/GHC/Runtime/Interpreter/JS.hs
- + compiler/GHC/Runtime/Interpreter/Process.hs
- compiler/GHC/Runtime/Interpreter/Types.hs
- + compiler/GHC/Runtime/Utils.hs
- compiler/GHC/StgToJS/CodeGen.hs
- compiler/GHC/StgToJS/Deps.hs
- compiler/GHC/StgToJS/Linker/Linker.hs
- compiler/GHC/StgToJS/Linker/Types.hs
- compiler/GHC/StgToJS/Object.hs
- compiler/GHC/StgToJS/Rts/Rts.hs
- compiler/GHC/StgToJS/Types.hs
- compiler/GHC/Tc/Gen/Splice.hs
- compiler/GHC/Unit/Types.hs
- compiler/ghc.cabal.in
- + ghc-interp.js
- hadrian/src/Base.hs
- hadrian/src/Packages.hs
- hadrian/src/Rules/Generate.hs
- hadrian/src/Settings/Default.hs
- hadrian/src/Settings/Packages.hs
- libraries/base/System/Posix/Internals.hs
- libraries/base/jsbits/base.js
- libraries/ghci/GHCi/Message.hs
- libraries/ghci/GHCi/RemoteTypes.hs
- libraries/ghci/GHCi/Run.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/00ed5505c8247c11cd6bc6420ddd2f6482eee823...c4a0d803082810e1459d1eda430eda4aa17b8444

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/00ed5505c8247c11cd6bc6420ddd2f6482eee823...c4a0d803082810e1459d1eda430eda4aa17b8444
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/20230126/0d00681f/attachment-0001.html>


More information about the ghc-commits mailing list