Skip to content

Use an identity map for the partial objects#7606

Merged
headius merged 1 commit intojruby:masterfrom
headius:marshal_partial_identhash
Jan 31, 2023
Merged

Use an identity map for the partial objects#7606
headius merged 1 commit intojruby:masterfrom
headius:marshal_partial_identhash

Conversation

@headius
Copy link
Member

@headius headius commented Jan 31, 2023

Using id() triggered objects to gain an object_id during unmarshalling, which both bloated the objects and apparently interfered with later instance variable slots as seen in #7596. This patch switches to a Java IdentityHashMap which uses JVM identity hashing and object equality.

Fixes #7596

Using id() triggered objects to gain an object_id during
unmarshalling, which both bloated the objects and apparently
interfered with later instance variable slots as seen in jruby#7596.
This patch switches to a Java IdentityHashMap which uses JVM
identity hashing and object equality.

Fixes jruby#7596
@headius headius added this to the JRuby 9.4.1.0 milestone Jan 31, 2023
@headius headius merged commit 8d5aaa3 into jruby:master Jan 31, 2023
@headius headius deleted the marshal_partial_identhash branch January 31, 2023 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Java::JavaLang::ClassCastException when initializing instance variable

1 participant