263 bool inline_onspinwait();
264 bool inline_fp_conversions(vmIntrinsics::ID id);
265 bool inline_number_methods(vmIntrinsics::ID id);
266 bool inline_reference_get();
267 bool inline_reference_refersTo0(bool is_phantom);
268 bool inline_Class_cast();
269 bool inline_aescrypt_Block(vmIntrinsics::ID id);
270 bool inline_cipherBlockChaining_AESCrypt(vmIntrinsics::ID id);
271 bool inline_electronicCodeBook_AESCrypt(vmIntrinsics::ID id);
272 bool inline_counterMode_AESCrypt(vmIntrinsics::ID id);
273 Node* inline_cipherBlockChaining_AESCrypt_predicate(bool decrypting);
274 Node* inline_electronicCodeBook_AESCrypt_predicate(bool decrypting);
275 Node* inline_counterMode_AESCrypt_predicate();
276 Node* get_key_start_from_aescrypt_object(Node* aescrypt_object);
277 bool inline_ghash_processBlocks();
278 bool inline_base64_encodeBlock();
279 bool inline_base64_decodeBlock();
280 bool inline_digestBase_implCompress(vmIntrinsics::ID id);
281 bool inline_digestBase_implCompressMB(int predicate);
282 bool inline_digestBase_implCompressMB(Node* digestBaseObj, ciInstanceKlass* instklass,
283 const char* state_type, address stubAddr, const char *stubName,
284 Node* src_start, Node* ofs, Node* limit);
285 Node* get_state_from_digest_object(Node *digestBase_object, const char* state_type);
286 Node* get_digest_length_from_digest_object(Node *digestBase_object);
287 Node* inline_digestBase_implCompressMB_predicate(int predicate);
288 bool inline_encodeISOArray(bool ascii);
289 bool inline_updateCRC32();
290 bool inline_updateBytesCRC32();
291 bool inline_updateByteBufferCRC32();
292 Node* get_table_from_crc32c_class(ciInstanceKlass *crc32c_class);
293 bool inline_updateBytesCRC32C();
294 bool inline_updateDirectByteBufferCRC32C();
295 bool inline_updateBytesAdler32();
296 bool inline_updateByteBufferAdler32();
297 bool inline_multiplyToLen();
298 bool inline_hasNegatives();
299 bool inline_squareToLen();
300 bool inline_mulAdd();
301 bool inline_montgomeryMultiply();
302 bool inline_montgomerySquare();
303 bool inline_bigIntegerShift(bool isRightShift);
304 bool inline_vectorizedMismatch();
305 bool inline_fma(vmIntrinsics::ID id);
322 bool inline_vector_blend();
323 bool inline_vector_rearrange();
324 bool inline_vector_compare();
325 bool inline_vector_broadcast_int();
326 bool inline_vector_convert();
327 bool inline_vector_extract();
328 bool inline_vector_insert();
329 Node* gen_call_to_svml(int vector_api_op_id, BasicType bt, int num_elem, Node* opd1, Node* opd2);
330
331 enum VectorMaskUseType {
332 VecMaskUseLoad,
333 VecMaskUseStore,
334 VecMaskUseAll,
335 VecMaskNotUsed
336 };
337
338 bool arch_supports_vector(int op, int num_elem, BasicType type, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
339
340 void clear_upper_avx() {
341 #ifdef X86
342 if (UseAVX >= 2) {
343 C->set_clear_upper_avx(true);
344 }
345 #endif
346 }
347
348 bool inline_getObjectSize();
349
350 bool inline_blackhole();
351 };
352
|
263 bool inline_onspinwait();
264 bool inline_fp_conversions(vmIntrinsics::ID id);
265 bool inline_number_methods(vmIntrinsics::ID id);
266 bool inline_reference_get();
267 bool inline_reference_refersTo0(bool is_phantom);
268 bool inline_Class_cast();
269 bool inline_aescrypt_Block(vmIntrinsics::ID id);
270 bool inline_cipherBlockChaining_AESCrypt(vmIntrinsics::ID id);
271 bool inline_electronicCodeBook_AESCrypt(vmIntrinsics::ID id);
272 bool inline_counterMode_AESCrypt(vmIntrinsics::ID id);
273 Node* inline_cipherBlockChaining_AESCrypt_predicate(bool decrypting);
274 Node* inline_electronicCodeBook_AESCrypt_predicate(bool decrypting);
275 Node* inline_counterMode_AESCrypt_predicate();
276 Node* get_key_start_from_aescrypt_object(Node* aescrypt_object);
277 bool inline_ghash_processBlocks();
278 bool inline_base64_encodeBlock();
279 bool inline_base64_decodeBlock();
280 bool inline_digestBase_implCompress(vmIntrinsics::ID id);
281 bool inline_digestBase_implCompressMB(int predicate);
282 bool inline_digestBase_implCompressMB(Node* digestBaseObj, ciInstanceKlass* instklass,
283 BasicType elem_type, address stubAddr, const char *stubName,
284 Node* src_start, Node* ofs, Node* limit);
285 Node* get_state_from_digest_object(Node *digestBase_object, BasicType elem_type);
286 Node* get_digest_length_from_digest_object(Node *digestBase_object);
287 Node* inline_digestBase_implCompressMB_predicate(int predicate);
288 bool inline_encodeISOArray(bool ascii);
289 bool inline_updateCRC32();
290 bool inline_updateBytesCRC32();
291 bool inline_updateByteBufferCRC32();
292 Node* get_table_from_crc32c_class(ciInstanceKlass *crc32c_class);
293 bool inline_updateBytesCRC32C();
294 bool inline_updateDirectByteBufferCRC32C();
295 bool inline_updateBytesAdler32();
296 bool inline_updateByteBufferAdler32();
297 bool inline_multiplyToLen();
298 bool inline_hasNegatives();
299 bool inline_squareToLen();
300 bool inline_mulAdd();
301 bool inline_montgomeryMultiply();
302 bool inline_montgomerySquare();
303 bool inline_bigIntegerShift(bool isRightShift);
304 bool inline_vectorizedMismatch();
305 bool inline_fma(vmIntrinsics::ID id);
322 bool inline_vector_blend();
323 bool inline_vector_rearrange();
324 bool inline_vector_compare();
325 bool inline_vector_broadcast_int();
326 bool inline_vector_convert();
327 bool inline_vector_extract();
328 bool inline_vector_insert();
329 Node* gen_call_to_svml(int vector_api_op_id, BasicType bt, int num_elem, Node* opd1, Node* opd2);
330
331 enum VectorMaskUseType {
332 VecMaskUseLoad,
333 VecMaskUseStore,
334 VecMaskUseAll,
335 VecMaskNotUsed
336 };
337
338 bool arch_supports_vector(int op, int num_elem, BasicType type, VectorMaskUseType mask_use_type, bool has_scalar_args = false);
339
340 void clear_upper_avx() {
341 #ifdef X86
342 if (false && UseAVX >= 2) {
343 C->set_clear_upper_avx(true);
344 }
345 #endif
346 }
347
348 bool inline_getObjectSize();
349
350 bool inline_blackhole();
351 };
352
|