-
Notifications
You must be signed in to change notification settings - Fork 58
Use solely offset tables in the Haskell world #783
Use solely offset tables in the Haskell world #783
Conversation
@TerrorJack merely following the types, I partitioned |
As an aside, I'd have preferred to use |
Perhaps I should switch to |
🎉 All dependencies have been resolved ! |
WIP (phase 3: tighten the types: Int32 => Word32) So that for example the call to fromIntegral in mkDataAddress does the right thing, even if the offset is 0x80000000. WIP (remove forgotten comment) WIP (phase 2: tighten the types: Int64 => Int32) WIP (phase 1: offsets only in Haskell land
c538192
to
2c276c5
Compare
@gkaracha You should be able to completely remove the This may sound unintuitive since |
Also, I am leaving the following renamings for last, lest GitHub treats them as file deletions and additions..
|
Wow, yes, that is unintuitive but now that you explained it it makes total sense. I'll fix that 👍
Ah, that must have been me actually, when I separated the two |
Also, I don't think #776 is about to land any time soon. Maybe we can change our IR a bit, always use |
I see. Well, for now this PR basically would fail in these corner cases just as much as we do already, so I guess it doesn't make much of a difference (and I'd definitely leave IR changes to a separate PR). Do you have a preference for |
|
Cool. Any other things to fix or are we just waiting for CI to finish? (I shall get started on updating #750 if you consider this one good to go) EDIT: well, after I do the renaming also (#783 (comment)), that is. |
All lgtm now, would you push the |
There, all done 🙂 |
Depends on #782.
Following #782, this PR switches all symbol tables in Haskell land into offset tables; the rts still deals solely with symbol tables. Along with it comes a lot of renaming ("symbol table" => "offset table"), and type changes (
Word32
used for offsets, as opposed toInt64
used for addresses).