8159730: compiler/jvmci/compilerToVM/IsMatureTest failed with "Multiple times invoked method should have method data (assert failed: 0 != 0)"

Reviewed-by: kvn
This commit is contained in:
Dmitrij Pochepko 2016-06-23 17:40:20 +03:00
parent 3ad2ec4ed4
commit 8189de5608

View File

@ -74,11 +74,16 @@ public class IsMatureTest {
}
methodData = WB.getMethodData(method);
isMature = CompilerToVMHelper.isMature(methodData);
Asserts.assertNE(methodData, 0L,
"Multiple times invoked method should have method data");
/* a method is not mature for -Xcomp and -Tiered,
see NonTieredCompPolicy::is_mature */
Asserts.assertEQ(isMature, !(IS_XCOMP && !TIERED),
"Unexpected isMature state for multiple times invoked method");
int compLevel = WB.getMethodCompilationLevel(method);
// methodData doesn't necessarily exist for interpreter and compilation level 1
if (compLevel != CompilerWhiteBoxTest.COMP_LEVEL_NONE
&& compLevel != CompilerWhiteBoxTest.COMP_LEVEL_SIMPLE) {
Asserts.assertNE(methodData, 0L,
"Multiple times invoked method should have method data");
/* a method is not mature in Xcomp mode with tiered compilation disabled,
see NonTieredCompPolicy::is_mature */
Asserts.assertEQ(isMature, !(IS_XCOMP && !TIERED),
"Unexpected isMature state for multiple times invoked method");
}
}
}