Skip to content

Mark custom classloaders as parallel capable#6062

Merged
headius merged 2 commits intojruby:masterfrom
headius:parallel_oneshot
Mar 4, 2020
Merged

Mark custom classloaders as parallel capable#6062
headius merged 2 commits intojruby:masterfrom
headius:parallel_oneshot

Conversation

@headius
Copy link
Member

@headius headius commented Feb 14, 2020

These classloaders apparently led to a deadlock inside Azul Zing
when using the ReadyNow feature that saves class and JIT data
betwen runs. This should be a benign change, since these loaders
typically only ever load one class, but we'll let it back for a
while.

These classloaders apparently led to a deadlock inside Azul Zing
when using the ReadyNow feature that saves class and JIT data
betwen runs. This should be a benign change, since these loaders
typically only ever load one class, but we'll let it back for a
while.
@headius headius added this to the JRuby 9.3.0.0 milestone Feb 14, 2020
There's additional state changes here but they all appear to be
covered by synchronization.
@headius headius changed the title Mark OneShotClassLoader as parallel capable Mark custom classloaders as parallel capable Feb 14, 2020
@headius
Copy link
Member Author

headius commented Feb 14, 2020

I have also marked JRubyClassLoader as parallel capable, since all its internal state appears to be protected by synchronized sections.

@headius headius merged commit 267a48a into jruby:master Mar 4, 2020
@headius headius deleted the parallel_oneshot branch March 4, 2020 16:33
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.

1 participant