src/cpu/ppc/vm/stubGenerator_ppc.cpp

changeset 9713
c4567d28f31f
parent 9684
69f33959c27f
child 9730
42118db355f5
equal deleted inserted replaced
9712:d7e1e002b496 9713:c4567d28f31f
2650 2650
2651 __ blr(); 2651 __ blr();
2652 return start; 2652 return start;
2653 } 2653 }
2654 2654
2655 address generate_sha256_implCompress(bool multi_block, const char *name) {
2656 assert(UseSHA, "need SHA instructions");
2657 StubCodeMark mark(this, "StubRoutines", name);
2658 address start = __ function_entry();
2659
2660 __ sha256 (multi_block);
2661
2662 __ blr();
2663 return start;
2664 }
2665
2666 address generate_sha512_implCompress(bool multi_block, const char *name) {
2667 assert(UseSHA, "need SHA instructions");
2668 StubCodeMark mark(this, "StubRoutines", name);
2669 address start = __ function_entry();
2670
2671 __ sha512 (multi_block);
2672
2673 __ blr();
2674 return start;
2675 }
2676
2655 void generate_arraycopy_stubs() { 2677 void generate_arraycopy_stubs() {
2656 // Note: the disjoint stubs must be generated first, some of 2678 // Note: the disjoint stubs must be generated first, some of
2657 // the conjoint stubs use them. 2679 // the conjoint stubs use them.
2658 2680
2659 // non-aligned disjoint versions 2681 // non-aligned disjoint versions
2879 } 2901 }
2880 if (UseMontgomerySquareIntrinsic) { 2902 if (UseMontgomerySquareIntrinsic) {
2881 StubRoutines::_montgomerySquare 2903 StubRoutines::_montgomerySquare
2882 = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_square); 2904 = CAST_FROM_FN_PTR(address, SharedRuntime::montgomery_square);
2883 } 2905 }
2906
2907 if (UseSHA256Intrinsics) {
2908 StubRoutines::_sha256_implCompress = generate_sha256_implCompress(false, "sha256_implCompress");
2909 StubRoutines::_sha256_implCompressMB = generate_sha256_implCompress(true, "sha256_implCompressMB");
2910 }
2911 if (UseSHA512Intrinsics) {
2912 StubRoutines::_sha512_implCompress = generate_sha512_implCompress(false, "sha512_implCompress");
2913 StubRoutines::_sha512_implCompressMB = generate_sha512_implCompress(true, "sha512_implCompressMB");
2914 }
2884 } 2915 }
2885 2916
2886 public: 2917 public:
2887 StubGenerator(CodeBuffer* code, bool all) : StubCodeGenerator(code) { 2918 StubGenerator(CodeBuffer* code, bool all) : StubCodeGenerator(code) {
2888 // replace the standard masm with a special one: 2919 // replace the standard masm with a special one:

mercurial