Skip to content

Commit

Permalink
8230116: Test workaround to Klass::_class_loader_data sometimes NULL …
Browse files Browse the repository at this point in the history
…problem

This is a low frequency problem that we are seeing internally, this patch is mostly to rule out one theory.

Reviewed-by: dcubed
  • Loading branch information
coleenp committed Aug 23, 2019
1 parent 4ab1119 commit 05322fd
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/hotspot/share/oops/klass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,12 @@ void Klass::restore_unshareable_info(ClassLoaderData* loader_data, Handle protec
// Restore class_loader_data to the null class loader data
set_class_loader_data(loader_data);

// Workaround for suspected bug. Make sure other threads see this assignment.
// This shouldn't be necessary but the compiler thread seems to be behind
// the times, even though this thread takes MethodCompileQueue_lock and the thread
// that doesn't see this value also takes that lock.
OrderAccess::fence();

// Add to null class loader list first before creating the mirror
// (same order as class file parsing)
loader_data->add_class(this);
Expand Down

0 comments on commit 05322fd

Please sign in to comment.