Skip to content

Commit

Permalink
Call add method in TR_J9SharedCacheVM::isClassVisible
Browse files Browse the repository at this point in the history
This commit adds a call to `addIsClassVisibleRecord` from within
`TR_J9SharedCacheVM::isClassVisible`, so that it can be
properly validated

Closes: eclipse-openj9#4765
Signed-off-by: Dylan Tuttle <[email protected]>
  • Loading branch information
dylanjtuttle committed Oct 4, 2022
1 parent 3cac491 commit fa168b8
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions runtime/compiler/env/VMJ9.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8426,21 +8426,19 @@ TR_J9SharedCacheVM::isClassVisible(TR_OpaqueClassBlock * sourceClass, TR_OpaqueC
TR_ASSERT(comp, "Should be called only within a compilation");

bool validated = false;
bool isVisible = TR_J9VMBase::isClassVisible(sourceClass, destClass);

if (comp->getOption(TR_UseSymbolValidationManager))
{
TR::SymbolValidationManager *svm = comp->getSymbolValidationManager();
SVM_ASSERT_ALREADY_VALIDATED(svm, sourceClass);
SVM_ASSERT_ALREADY_VALIDATED(svm, destClass);
validated = true;
validated = comp->getSymbolValidationManager()->addIsClassVisibleRecord(sourceClass, destClass, isVisible);
}
else
{
validated = ((TR_ResolvedRelocatableJ9Method *) comp->getCurrentMethod())->validateArbitraryClass(comp, (J9Class *) sourceClass) &&
((TR_ResolvedRelocatableJ9Method *) comp->getCurrentMethod())->validateArbitraryClass(comp, (J9Class *) destClass);
}

return (validated ? TR_J9VMBase::isClassVisible(sourceClass, destClass) : false);
return (validated ? isVisible : false);
}

bool
Expand Down

0 comments on commit fa168b8

Please sign in to comment.