-
Notifications
You must be signed in to change notification settings - Fork 58
[WIP] Revamp linker loading (do not load all object files during linking) #666
base: master
Are you sure you want to change the base?
Conversation
In #665, the "dependency map" is just an abstract concept, it doesn't have to be a concrete data type. Adding a separate data type here (which is just another wrapper of |
You might be right, but I cannot be sure about how much we'll end up passing it around. If it is a lot, I'd say it deserves it's own type. Let's see how it goes and if it ends up being just noise I'll remove it before we merge this 🙂 |
4bb04b8
to
667682b
Compare
@TerrorJack lest we forget: Since we need (at least parts of) the |
3c59c12
to
8cbd98c
Compare
8cbd98c
to
6b7b950
Compare
After discussing this with @TerrorJack, the current plan is to follow a different approach than the one originally discussed in #665. We avoid the hassle of adding an index inside the object files and instead:
|
1c7ed2f
to
1a0d5aa
Compare
d0cd705
to
917df65
Compare
ad00fd9
to
8163215
Compare
8163215
to
39d1959
Compare
2124c21
to
2e1598f
Compare
2e1598f
to
b6f6cf4
Compare
b6f6cf4
to
1cfa63f
Compare
1cfa63f
to
aa36bd5
Compare
aa36bd5
to
0b37556
Compare
Closes #665. This PR is a WIP.
Roadmap for addressing the first bullet of #665:
dependencyMap
s, and serialization/deserialization logic for it.AsteriusCachedModule
after thedependencyMap
field, as a map fromEntitySymbol
to both the file that the entity originates from and the offset in the file. Though initially the offset is enough, when we concatenate modules we end up having entities from different files so we need both the file and the offset in the file to pinpoint the location of the entity.Roadmap for addressing the second bullet of #665: