448 //
449 // Based on the article (and associated code) from https://arxiv.org/abs/1910.05109.
450 //
451 // Intrinsic function prototype in Base64.java:
452 // private void decodeBlock(byte[] src, int sp, int sl, byte[] dst, int dp, boolean isURL, isMIME);
453 address generate_base64_decodeBlock();
454
455 address generate_updateBytesCRC32();
456 address generate_updateBytesCRC32C(bool is_pclmulqdq_supported);
457
458 address generate_updateBytesAdler32();
459
460 address generate_multiplyToLen();
461
462 address generate_vectorizedMismatch();
463
464 address generate_squareToLen();
465
466 address generate_method_entry_barrier();
467
468 address generate_mulAdd();
469
470 address generate_bigIntegerRightShift();
471 address generate_bigIntegerLeftShift();
472
473
474 // Libm trigonometric stubs
475
476 address generate_libmSin();
477 address generate_libmCos();
478 address generate_libmTan();
479 address generate_libmExp();
480 address generate_libmPow();
481 address generate_libmLog();
482 address generate_libmLog10();
483
484 // Shared constants
485 static address ZERO;
486 static address NEG_ZERO;
487 static address ONE;
|
448 //
449 // Based on the article (and associated code) from https://arxiv.org/abs/1910.05109.
450 //
451 // Intrinsic function prototype in Base64.java:
452 // private void decodeBlock(byte[] src, int sp, int sl, byte[] dst, int dp, boolean isURL, isMIME);
453 address generate_base64_decodeBlock();
454
455 address generate_updateBytesCRC32();
456 address generate_updateBytesCRC32C(bool is_pclmulqdq_supported);
457
458 address generate_updateBytesAdler32();
459
460 address generate_multiplyToLen();
461
462 address generate_vectorizedMismatch();
463
464 address generate_squareToLen();
465
466 address generate_method_entry_barrier();
467
468 address generate_check_lock_stack();
469
470 address generate_mulAdd();
471
472 address generate_bigIntegerRightShift();
473 address generate_bigIntegerLeftShift();
474
475
476 // Libm trigonometric stubs
477
478 address generate_libmSin();
479 address generate_libmCos();
480 address generate_libmTan();
481 address generate_libmExp();
482 address generate_libmPow();
483 address generate_libmLog();
484 address generate_libmLog10();
485
486 // Shared constants
487 static address ZERO;
488 static address NEG_ZERO;
489 static address ONE;
|