148 public final int contendedPaddingWidth = getFlag("ContendedPaddingWidth", Integer.class);
149 public final int fieldsAllocationStyle = getFlag("FieldsAllocationStyle", Integer.class);
150 public final boolean compactFields = getFlag("CompactFields", Boolean.class);
151 public final boolean verifyOops = getFlag("VerifyOops", Boolean.class);
152 public final boolean ciTime = getFlag("CITime", Boolean.class);
153 public final boolean ciTimeEach = getFlag("CITimeEach", Boolean.class);
154 public final boolean dontCompileHugeMethods = getFlag("DontCompileHugeMethods", Boolean.class);
155 public final int hugeMethodLimit = getFlag("HugeMethodLimit", Integer.class);
156 public final boolean printInlining = getFlag("PrintInlining", Boolean.class);
157 public final boolean inline = getFlag("Inline", Boolean.class);
158 public final boolean useFastLocking = getFlag("JVMCIUseFastLocking", Boolean.class);
159 public final boolean forceUnreachable = getFlag("ForceUnreachable", Boolean.class);
160 public final int codeSegmentSize = getFlag("CodeCacheSegmentSize", Integer.class);
161 public final boolean foldStableValues = getFlag("FoldStableValues", Boolean.class);
162
163 public final boolean useTLAB = getFlag("UseTLAB", Boolean.class);
164 public final boolean useBiasedLocking = getFlag("UseBiasedLocking", Boolean.class);
165 public final boolean usePopCountInstruction = getFlag("UsePopCountInstruction", Boolean.class);
166 public final boolean useAESIntrinsics = getFlag("UseAESIntrinsics", Boolean.class);
167 public final boolean useCRC32Intrinsics = getFlag("UseCRC32Intrinsics", Boolean.class);
168 public final boolean threadLocalHandshakes = getFlag("ThreadLocalHandshakes", Boolean.class, false);
169
170 private final boolean useMultiplyToLenIntrinsic = getFlag("UseMultiplyToLenIntrinsic", Boolean.class);
171 private final boolean useSHA1Intrinsics = getFlag("UseSHA1Intrinsics", Boolean.class);
172 private final boolean useSHA256Intrinsics = getFlag("UseSHA256Intrinsics", Boolean.class);
173 private final boolean useSHA512Intrinsics = getFlag("UseSHA512Intrinsics", Boolean.class);
174 private final boolean useMontgomeryMultiplyIntrinsic = getFlag("UseMontgomeryMultiplyIntrinsic", Boolean.class, false);
175 private final boolean useMontgomerySquareIntrinsic = getFlag("UseMontgomerySquareIntrinsic", Boolean.class, false);
176 private final boolean useMulAddIntrinsic = getFlag("UseMulAddIntrinsic", Boolean.class, false);
177 private final boolean useSquareToLenIntrinsic = getFlag("UseSquareToLenIntrinsic", Boolean.class, false);
178
179 /*
180 * These are methods because in some JDKs the flags are visible but the stubs themselves haven't
181 * been exported so we have to check both if the flag is on and if we have the stub.
182 */
183 public boolean useMultiplyToLenIntrinsic() {
184 return useMultiplyToLenIntrinsic && multiplyToLen != 0;
185 }
186
187 public boolean useSHA1Intrinsics() {
|
148 public final int contendedPaddingWidth = getFlag("ContendedPaddingWidth", Integer.class);
149 public final int fieldsAllocationStyle = getFlag("FieldsAllocationStyle", Integer.class);
150 public final boolean compactFields = getFlag("CompactFields", Boolean.class);
151 public final boolean verifyOops = getFlag("VerifyOops", Boolean.class);
152 public final boolean ciTime = getFlag("CITime", Boolean.class);
153 public final boolean ciTimeEach = getFlag("CITimeEach", Boolean.class);
154 public final boolean dontCompileHugeMethods = getFlag("DontCompileHugeMethods", Boolean.class);
155 public final int hugeMethodLimit = getFlag("HugeMethodLimit", Integer.class);
156 public final boolean printInlining = getFlag("PrintInlining", Boolean.class);
157 public final boolean inline = getFlag("Inline", Boolean.class);
158 public final boolean useFastLocking = getFlag("JVMCIUseFastLocking", Boolean.class);
159 public final boolean forceUnreachable = getFlag("ForceUnreachable", Boolean.class);
160 public final int codeSegmentSize = getFlag("CodeCacheSegmentSize", Integer.class);
161 public final boolean foldStableValues = getFlag("FoldStableValues", Boolean.class);
162
163 public final boolean useTLAB = getFlag("UseTLAB", Boolean.class);
164 public final boolean useBiasedLocking = getFlag("UseBiasedLocking", Boolean.class);
165 public final boolean usePopCountInstruction = getFlag("UsePopCountInstruction", Boolean.class);
166 public final boolean useAESIntrinsics = getFlag("UseAESIntrinsics", Boolean.class);
167 public final boolean useCRC32Intrinsics = getFlag("UseCRC32Intrinsics", Boolean.class);
168 public final boolean useCRC32CIntrinsics = isJDK8 ? false : getFlag("UseCRC32CIntrinsics", Boolean.class);
169 public final boolean threadLocalHandshakes = getFlag("ThreadLocalHandshakes", Boolean.class, false);
170
171 private final boolean useMultiplyToLenIntrinsic = getFlag("UseMultiplyToLenIntrinsic", Boolean.class);
172 private final boolean useSHA1Intrinsics = getFlag("UseSHA1Intrinsics", Boolean.class);
173 private final boolean useSHA256Intrinsics = getFlag("UseSHA256Intrinsics", Boolean.class);
174 private final boolean useSHA512Intrinsics = getFlag("UseSHA512Intrinsics", Boolean.class);
175 private final boolean useMontgomeryMultiplyIntrinsic = getFlag("UseMontgomeryMultiplyIntrinsic", Boolean.class, false);
176 private final boolean useMontgomerySquareIntrinsic = getFlag("UseMontgomerySquareIntrinsic", Boolean.class, false);
177 private final boolean useMulAddIntrinsic = getFlag("UseMulAddIntrinsic", Boolean.class, false);
178 private final boolean useSquareToLenIntrinsic = getFlag("UseSquareToLenIntrinsic", Boolean.class, false);
179
180 /*
181 * These are methods because in some JDKs the flags are visible but the stubs themselves haven't
182 * been exported so we have to check both if the flag is on and if we have the stub.
183 */
184 public boolean useMultiplyToLenIntrinsic() {
185 return useMultiplyToLenIntrinsic && multiplyToLen != 0;
186 }
187
188 public boolean useSHA1Intrinsics() {
|