-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Simplify Object Model and add StorageAccessor #164
Conversation
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
3ceadf8
to
d8b9179
Compare
@Richard-Roberts Would be great if you could have a look at this, and potential review the change. @daumayr, I am not sure, no way to confirm, I think, but I might have fixed our long-standing race. |
9c6c13a
to
332d839
Compare
- move variability into dispatch chains and remove read/write nodes - the goal here is to have one less indirection/moving part didn't seem necessary anymore, and just made the model more complex - prim (set/setOrUnset), object, unwritten variability is now in dispatch chains directly - do accessing of the slot's memory in a new storage accessors - there is a fixed number of storage accessors preallocated based on the fields in S*Object - the goal is to have more control over the unsafe accesses and try alternative accessors for the SubstrateVM - expose CheckSObject guard and use it for cast - correct naming and file structure - move storage handling and primitiveUsedMap handling from SObject to storage accessors Signed-off-by: Stefan Marr <git@stefan-marr.de>
- make sure multiple initializations of same slot don't overwrite first type but generalize it instead, if necessary - make sure already generalized fields don't need to be generalized again Signed-off-by: Stefan Marr <git@stefan-marr.de>
- only to be used on the slow path - updated only with sync on ClassFactory - also, updates should only be part of slow path Signed-off-by: Stefan Marr <git@stefan-marr.de>
It doesn’t seem very useful to have invalid layouts being propergated after such a check. Signed-off-by: Stefan Marr <git@stefan-marr.de>
The changes to the object model are merged now, but post-merge reviews are still welcome. |
didn't seem necessary anymore, and just made the model more complex
dispatch chains directly
the fields in S*Object
alternative accessors for the SubstrateVM
storage accessors