Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adopt Economic collections of GraalVM to ensure insertion order #243

Merged
merged 3 commits into from
Mar 25, 2018

Conversation

smarr
Copy link
Owner

@smarr smarr commented Mar 24, 2018

Some of the problems with object layouts, races, and incorrect object updates are possibly caused by using hash maps that do not guarantee insertion order, causing random order changes and possibly changing usage of memory in objects.

By using EconomicMap and EconomicSet from the GraalVM, we get an efficient data structure that also guarantees insertion order.
This isn't a total fix, but should avoid some rare corner cases.
It also might be a bit more memory efficient.

(this PR was originally started with a different purpose, but oh well...)

@smarr smarr added the bug Fixes an issue, incorrect implementation label Mar 24, 2018
@smarr smarr added this to the later milestone Mar 24, 2018
@smarr smarr added this to Open Issues in Completeness via automation Mar 24, 2018
@coveralls
Copy link

coveralls commented Mar 24, 2018

Coverage Status

Coverage decreased (-0.006%) to 77.306% when pulling 1abe052 on object-model-race into adfb8c4 on dev.

Repository owner deleted a comment Mar 24, 2018
@smarr smarr changed the title Object Model Race, needs further debugging Fix unhandled invalid object layout in ClassSlotAccessNode Mar 24, 2018
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
@smarr smarr changed the title Fix unhandled invalid object layout in ClassSlotAccessNode Adopt Economic collections of GraalVM to ensure insertion order Mar 25, 2018
@smarr smarr modified the milestones: later, v0.6.0 - Black Diamonds Mar 25, 2018
@smarr smarr merged commit 1f8690f into dev Mar 25, 2018
Completeness automation moved this from Open Issues to Completed Mar 25, 2018
@smarr smarr deleted the object-model-race branch March 25, 2018 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Fixes an issue, incorrect implementation
Projects
No open projects
Completeness
  
Completed
Development

Successfully merging this pull request may close these issues.

None yet

2 participants