115 + " must be compilable at CompLevel::CompLevel_any," 116 + " even it is not compilable at opposite level [" 117 + compLevel + "]"); 118 } 119 120 if (!isCompilable(compLevel)) { 121 throw new RuntimeException(method 122 + " must be compilable at level " + compLevel 123 + ", even it is not compilable at opposite level [" 124 + compLevel + "]"); 125 } 126 } 127 128 // clearing after tiered/non-tiered tests 129 // WB.clearMethodState() must reset no-compilable flags 130 WHITE_BOX.clearMethodState(method); 131 if (!isCompilable()) { 132 throw new RuntimeException(method 133 + " is not compilable after clearMethodState()"); 134 } 135 136 makeNotCompilable(); 137 if (isCompilable()) { 138 throw new RuntimeException(method + " must be not compilable"); 139 } 140 141 compile(); 142 checkNotOsrCompiled(); 143 if (isCompilable()) { 144 throw new RuntimeException(method + " must be not compilable"); 145 } 146 // WB.clearMethodState() must reset no-compilable flags 147 WHITE_BOX.clearMethodState(method); 148 if (!isCompilable()) { 149 throw new RuntimeException(method 150 + " is not compilable after clearMethodState()"); 151 } 152 compile(); 153 checkCompiled(); 154 } 155 156 // separately tests each tier 157 private void testTier(int testedTier) { 158 if (!isCompilable(testedTier)) { 159 throw new RuntimeException(method 160 + " is not compilable on start"); 161 } 162 makeNotCompilable(testedTier); | 115 + " must be compilable at CompLevel::CompLevel_any," 116 + " even it is not compilable at opposite level [" 117 + compLevel + "]"); 118 } 119 120 if (!isCompilable(compLevel)) { 121 throw new RuntimeException(method 122 + " must be compilable at level " + compLevel 123 + ", even it is not compilable at opposite level [" 124 + compLevel + "]"); 125 } 126 } 127 128 // clearing after tiered/non-tiered tests 129 // WB.clearMethodState() must reset no-compilable flags 130 WHITE_BOX.clearMethodState(method); 131 if (!isCompilable()) { 132 throw new RuntimeException(method 133 + " is not compilable after clearMethodState()"); 134 } 135 // Make method not (OSR-)compilable (depending on testCase.isOsr()) 136 makeNotCompilable(); 137 if (isCompilable()) { 138 throw new RuntimeException(method + " must be not compilable"); 139 } 140 // Try to (OSR-)compile method 141 compile(); 142 // Method should not be (OSR-)compiled 143 checkNotCompiled(testCase.isOsr()); 144 if (isCompilable()) { 145 throw new RuntimeException(method + " must be not compilable"); 146 } 147 // WB.clearMethodState() must reset no-compilable flags 148 WHITE_BOX.clearMethodState(method); 149 if (!isCompilable()) { 150 throw new RuntimeException(method 151 + " is not compilable after clearMethodState()"); 152 } 153 compile(); 154 checkCompiled(); 155 } 156 157 // separately tests each tier 158 private void testTier(int testedTier) { 159 if (!isCompilable(testedTier)) { 160 throw new RuntimeException(method 161 + " is not compilable on start"); 162 } 163 makeNotCompilable(testedTier); |